You are on page 1of 143

EMIL SIMION MIRCEA ANDRAIU

BAZELE MATEMATICE ALE


DECIZIILOR MANAGERIALE

















CIBERNETICA MC
2010

Colecia Matematici aplicate


EMIL SIMION MIRCEA ANDRAIU









BAZELE MATEMATICE ALE
DECIZIILOR MANAGERIALE
















CIBERNETICA MC
2010




Referenti tiinifici: Prof. univ. dr. Daniela Hincu



Colegiul tiintific:

Prof. univ. dr. Lucian Albu
Prof. univ. dr. Constantin Virgil Negoi
Prof. univ. dr. Marin Andreica
Prof. univ. dr. Florina Bran
Prof. univ. dr. Daniela Hincu
Prof. univ. dr. ing. Florin Ionescu
Prof. univ. dr. Sorin Cruceru
Prof. univ. dr. Gheorghe Sabau
Prof. univ. dr. Ion Partachi
Prof. univ. dr. Ion Pargaru
Conf. univ. dr. Romulus Andreica


















Editura CIBERNETICA Bucureti 2010
ISBN: 978-606-8288-10-9
E-mail: ciberneticamc@yahoo.com

Bazele matematice ale deciziilor
manageriale
Emil Simion
Universitatea din Bucuresti
e-mail: esimion@fmi.unibuc.ro
Mircea Andrasiu
Universitatea Wales, Bucuresti
e-mail:mircea andrasiu@yahoo.com
Cuprins
1 PROGRAMARE LINIAR

A 1
1.1. Folosirea ecienta a resurselor limitate . . . . . . . . . . . . . . . . . 1
1.2. Forme ale problemelor de programare liniara . . . . . . . . . . . . . 3
1.3. Algoritmul simplex (Dantzig) . . . . . . . . . . . . . . . . . . . . . . 5
1.4. Duala unei probleme de programare liniara . . . . . . . . . . . . . . 7
1.5. Problema de transport . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6. Aplicat ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 PROGRAMARE DINAMIC

A 15
2.1. Forma unei probleme de optimizare secvent iala . . . . . . . . . . . . 15
2.2. Teorema de optim . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3. Programare dinamica regresiva . . . . . . . . . . . . . . . . . . . . . 18
2.3.1. Ecuat iile programarii dinamice regresive . . . . . . . . . . . . 18
2.3.2. Algoritmul rezolvarii problemelor de programare regresiva . 19
2.3.3. Aplicat ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4. Programare dinamica progresiva . . . . . . . . . . . . . . . . . . . . 25
2.4.1. Ecuat iile programarii dinamice progresive . . . . . . . . . . . 25
2.4.2. Algoritmul rezolvarii problemelor de programare progresiva . 26
2.4.3. Aplicat ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3 TEORIA JOCURILOR 31
3.1. Not iuni introductive . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2. Principiul minimax . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3. Strategii mixte si valoarea jocului . . . . . . . . . . . . . . . . . . . . 33
3.4. Teorema fundamentala a teoriei jocurilor . . . . . . . . . . . . . . . 34
3.5. Rezolvarea jocurilor matriceale . . . . . . . . . . . . . . . . . . . . . 35
3.5.1. Formularea problemei de optimizare . . . . . . . . . . . . . . 35
3.5.2. Reducerea la probleme de programare liniara . . . . . . . . . 36
3.6. Aplicat ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
v
CUPRINS vi
4 TEORIA DECIZIILOR STATISTICE 42
4.1. Prezentarea problemelor . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2. Strategii Bayes si strategii minimax . . . . . . . . . . . . . . . . . . . 43
4.3. Cazul efectuarii unor experient e unice . . . . . . . . . . . . . . . . . 44
4.4. Decizii optime n caz de incertitudine . . . . . . . . . . . . . . . . . . 46
4.4.1. Criteriul lui Hurwicz . . . . . . . . . . . . . . . . . . . . . . . 46
4.4.2. Criteriul lui Savage . . . . . . . . . . . . . . . . . . . . . . . . 46
4.4.3. Criteriul Bayes-Laplace . . . . . . . . . . . . . . . . . . . . . 47
4.4.4. Criteriul lui Wald . . . . . . . . . . . . . . . . . . . . . . . . 47
4.5. Aplicat ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5 TEORIA GRAFURILOR 51
5.1. Grafuri orientate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2. Algoritmul lui Kaufmann . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3. Algoritmul lui Chen . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.4. Algoritmul lui Ford . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.5. Algoritmul Bellman-Kalaba . . . . . . . . . . . . . . . . . . . . . . . 55
5.6. Algoritmul lui Dijkstra . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.7. Arbori minimali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.7.1. Algoritmul lui Kruskal . . . . . . . . . . . . . . . . . . . . . . 58
5.8. Aplicat ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6 PROBLEME DE TRANSPORT 71
6.1. Problema clasica de transport . . . . . . . . . . . . . . . . . . . . . . 71
6.1.1. Formularea problemei . . . . . . . . . . . . . . . . . . . . . . 71
6.1.2. Algoritmul de transport (adaptarea algoritmului simplex) . . 72
6.1.3. Determinarea unui program de baza init ial . . . . . . . . . . 73
6.1.4. Degenerare si ciclare . . . . . . . . . . . . . . . . . . . . . . . 74
6.1.5. Variante ale problemei de transport . . . . . . . . . . . . . . 75
6.1.6. Algoritmul simplex modicat . . . . . . . . . . . . . . . . . . 76
6.1.7. Aplicat ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2. Flux maxim intr-o ret ea de transport . . . . . . . . . . . . . . . . . . 86
6.2.1. Ret ele de transport . . . . . . . . . . . . . . . . . . . . . . . . 86
6.2.2. Algoritmul Ford-Fulkerson . . . . . . . . . . . . . . . . . . . . 86
6.2.3. Problema de transport ca problema de ux maxim . . . . . . 89
6.2.4. Aplicat ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
CUPRINS vii
7 TEORIA STOCURILOR 100
7.1. Formularea modelului matematic . . . . . . . . . . . . . . . . . . . . 100
7.2. Modele deterministe . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
7.2.1. Model de stocare a unui produs cu cerere constanta, perioada
constanta de reaprovizionare si fara lipsa de stoc . . . . . . . 101
7.2.2. Model de stocare a unui produs cu cerere constanta, perioada
constanta de reaprovizionare si cu posibilitatea lipsei de stoc 102
7.2.3. Model de stocare a unui produs cu cerere constanta, perioada
constanta de reaprovizionare si fara lipsa de stoc, luand n
considerare si costul de achizit ie . . . . . . . . . . . . . . . . 105
7.2.4. Model de stocare a mai multor produse . . . . . . . . . . . . 106
7.3. Modele probabiliste . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.3.1. Model de stocare a unui produs cu cerere aleatoare, cu pierdere
n cazul surplusului de stoc, cu cheltuieli suplimentare n cazul
lipsei de stoc si cu cost de stocare neglijabil . . . . . . . . . . 107
7.3.2. Model de stocare a unui produs cu cerere aleatoare, cu cost
de stocare si cost de penalizare pentru lipsa de stoc . . . . . 110
7.4. Aplicat ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
ANEXE 120
BIBLIOGRAFIE 131
Capitolul 1
PROGRAMARE LINIAR

A
1.1. Folosirea ecienta a resurselor limitate
O problema practica ce apare frecvent n activitatea de conducere economica este
urmatoarea. Sunt disponibile mai multe resurse (materii prime, fort a de munca,
resurse nanciare) n cantitat i limitate. Cu ajutorul acestor resurse se pot desfasura
mai multe activitat i economice. Problema consta n determinarea nivelurilor ac-
tivitat ilor luate n considerare care sa se ncadreze n limitarile precizate ale resur-
selor si sa asigure satisfacerea optima a unui anumit criteriu.
Sa notam cu i, 1 i m, tipul resursei si cu b
i
cantitatea de resursa de tipul
i care este disponibila. Vom nota prin j, 1 j n, tipul activitat ii (procesului
de subproduct ie) si prin x
j
nivelul (necunoscut) la care urmeaza sa se desfasoare
aceasta activitate.

In sfarsit, vom nota prin a
ij
cantitatea de resursa de tipul i,
1 i m, necesara pentru producerea unei unitat i din produsul realizat n procesul
de product ie de tipul j, 1 j n, (n general, activitatea de tipul j). Presupunem
aici ca a
ij
depinde numai de tipul resursei si de tipul procesului de product ie si nu
de nivelul la care urmeaza sa se desfasoare aceasta activitate.
Cu notat iile introduse, rezulta ca putem exprima cantitatea totala de resursa de
tipul i care va efectiv utilizata n procesele de product ie:
a
i1
x
1
+a
i2
x
2
+. . . +a
in
x
n
.
Cum nu putem consuma resursa de tipul i mai mult decat cantitatea disponibila
b
i
, rezulta ca trebuie satisfacute condit iile:
n

j=1
a
ij
x
j
b
i
, 1 i m. (1.1)
1
FOLOSIREA EFICIENT

A A RESURSELOR LIMITATE 2
Deoarece x
j
reprezinta nivelul la care se desfasoara activitatea de tipul j, rezulta
ca trebuie sa e de asemenea satisfacute condit iile:
x
j
0, 1 j n. (1.2)
Inegalitat ile 1.1 sunt numite restrict iile problemei, iar 1.2 sunt numite condit iile
de nenegativitate ale problemei. Sistemul de inegalitat i liniare poate avea o innitate
de solut ii, o solut ie unica sau nici o solut ie (sistem incompatibil). Cazul cel mai
frecvent pentru problemele practice corect puse este cazul n care sistemul 1.1, 1.2 are
o innitate de solut ii. Prin urmare este posibil sa organizam procesele de product ie
pentru fabricarea sortimentelor de tipul j, 1 j n, ntr-o innitate de moduri,
respectand condit iile 1.1 de folosire a resurselor limitate.
Adoptarea unei variante de plan se face pe baza unor criterii economice, cum ar
: venitul realizat, beneciul realizat, cheltuielile de product ie, product ia zica, con-
sumurile de materii prime si materiale, consumurile de energie etc. Vom presupune
n cele ce urmeaza ca putem formula un singur criteriu pe baza caruia adoptam
decizia. Mai mult, vom presupune ca acest criteriu este reprezentat din punct de
vedere matematic de o funct ie liniara. Un exemplu de astfel de criteriu se obt ine n
modul urmator. Daca notam prin c
j
beneciul unitar adus de activitatea de tipul
j, 1 j n, atunci este clar ca beneciul total este:
n

j=1
c
j
x
j
. (1.3)
Problema care se pune este de a aa solut iile sistemului de inegalitat i liniare
1.1, 1.2 care asigura obt inerea valorii maxime pentru beneciul total 1.3. Cu alte
cuvinte, din punct de vedere matematic se cere rezolvarea problemei:
_

_
sup
n

j=1
c
j
x
j
n

j=1
a
ij
x
j
b
i
, 1 i m,
x
j
0, 1 j n,
care este numita problema de programare liniara sau program liniar. Funct ia liniara
ce se doreste maximizata se numeste funct ie obiectiv sau funct ia criteriu sau, nca,
funct ia de ecient a a problemei.
Problema ment ionata poate rezolvata cu ajutorul algoritmului simplex sau
simplex dual. Acesta este prezentat pe largn literatura de specialitate (Zidaroiu). O
serie de produse soft ca MATLAB sau MAPLE au rutine specializate de rezolvare
a problemelor de optimizare cu ajutorul acestor metode. Din acest motiv, omitem
prezentarea rezolvarii complete a problemelor prin aceste metode.
FORME ALE PROBLEMELOR DE PROGRAMARE LINIAR

A 3
1.2. Forme ale problemelor de programare liniara
Forma standard a unei probleme de programare liniara este:
_

_
min(max)c

x
Ax = b
x 0
Remarcam ca o problema de maxim se poate transforma ntr-o problema de minim
prin folosirea formulei max(f) = min(f).
Forma canonica a unei probleme de programare liniara este:
_

_
minc

x
Ax b
x 0
sau
_

_
max c

x
Ax b
x 0
Sintaxa MAPLE de scriere a formei canonice pentru problema de maxim este:
> standardize(mult ime de restrict ii);
sau
> convert(mult ime de restrict ii, stdle); .
O restrict ie a unei probleme de programare liniara este numita concordanta daca
este o inegalitate de tipul pentru problema de minim si o inegalitate de tipul
pentru problema de maxim.
Forma mixta a unei probleme de programare liniara cont ine restrict ii si sub forma
de ecuat ii.
Deoarece prin operat ii matematice orice problema de programare liniara se poate
aduce n forma canonica a problemei, pentru cazul de minim vom lucra numai cu
astfel de probleme, adica cu probleme n forma canonica.
Denit ia 1.2.1. Fie problema de programare liniara n forma standard atunci
mult imea programelor este denita ca:
P = x R
n
[Ax = b, x 0.
Un punct de minim global al funct iei obiectiv z = c

x pe mult imea programelor


P este numit solut ie optima, iar mult imea programelor optime ale problemei va
notata cu:
P

= x P[ min
xP
c

x = c

x.
FORME ALE PROBLEMELOR DE PROGRAMARE LINIAR

A 4
Denim solut ia de baza a sistemului Ax = b ca o solut ie x R
n
careia compo-
nentelor sale nenule i corespund coloane liniar independente. Daca B este o baza
formata cu coloanele a
j
1
, . . . , a
j
m
ale matricei A atunci sistemul de ecuat ii Ax = b
se poate scrie n forma explicita:
x
B
= B
1
b B
1
Rx
R
n care Reste matricea obt inuta din Aprin eliminarea coloanelor j
1
, . . . , j
m
. Notand:
B
1
b =x
B
, B
1
a
j
= y
B
j
, 1 j n,
rezulta ca:
x
B
=x
B

jR
y
B
j
x
j
sau
x
B
i
=x
B
i

jR
y
B
ij
x
j
, i B
unde B = j
1
, . . . , j
m
si = 1, . . . , n B. Solut ia de baza corespunzatoare bazei
B este x
B
=x
B
si x
R
= 0. Este clar ca aceasta solut ie de baza este un program daca
este ndeplinita condit ia:
B
1
b 0.
O baza B care verica inegalitatea de mai sus se numeste baza primal admisibila.

In problemele practice o astfel de baza se determina prin metoda bazei articiale.


De foarte multe ori nsa, aceasta este disponibila direct, baza primal admisibila ind
matricea unitate.
Avem urmatoarea teorema numita teorema fundamentala a programarii liniare.
Teorema 1.2.1. i) Daca problema de programare liniara:
_

_
min(max)c

x
Ax = b
x 0
are un program optim, atunci ea are un program de baza.
ii) Daca problema de mai sus are un program optim, atunci ea are un program
optim de baza.
Algoritmul fundamental pentru rezolvarea problemelor de programare liniara
ment ionate se numeste algoritmul simplex primal si a fost elaborat de George Dantzig
n anul 1951. Algoritmul este descris n orice carte fundamentala de programare
liniara si este implementat n majoritatea softurilor matematice de prelucrare de
date.
ALGORITMUL SIMPLEX (DANTZIG) 5
1.3. Algoritmul simplex (Dantzig)
Pentru rezolvarea problemelor de programare liniara s-a impus algoritmul simplex
datorat lui G.B. Dantzig (1951). Aceasta metoda ne permite sa exploram n mod
sistematic mult imea programelor de baza a unei probleme de programare liniara
n forma standard prin trecerea de la un program de baza la un program de baza
vecin, care este cel put in la fel de bun ca cel precedent. Metoda furnizeaza, de
asemenea, criterii pentru punerea n evident a a situat iei cand problema are optim
innit precum si a cazului n care mult imea programelor este vida.
PAS 0. Se pune problema de optimizat n forma standard:
_

_
inf c
T
x
Ax = b,
x 0.
(Daca problema are restrict ii de forma unor inegalitat i, atunci se transforma mai
ntai toate inegalitat ile n inegalitat i de tipul ; scazandu-se variabilele articiale y,
problema de maxim se va transforma n problema de minim etc.). A este o matrice
cu m linii si n coloane pentru care avem rang(A) = = m < n. Vom nota cu z funct ia
obiectiv adica z = c
T
x.
PAS 1. Se determina o baza B primal admisibila (e este disponibila direct e se
determina cu ajutorul bazei articiale prin metoda celor doua faze) si se calculeaza:
_

_
x
B
= B
1
b,
z
B
= c
T
B
x
B
,
y
B
j
= B
1
a
j
, 1 j n,
z
B
j
c
j
, 1 j n.
Aceste valori se trec n tabelul simplex (tabelul 2.1) dupa care trecem la pasul
urmator.
Vom nota cu B mult imea indicilor j care determina matricea B si prin =
1, . . . , n B. Tabelul simplex init ial are forma:
TABELUL 2.1
c
1
. . . c
j
. . . c
n
V.B. V.V.B. x
1
. . . x
j
. . . x
n
c
B
x
B
x
B
y
B
1
. . . y
B
j
. . . y
B
n
z z
B
z
B
1
c
1
. . . z
B
j
c
j
. . . z
B
n
c
n
PAS 2. Daca z
B
j
c
j
0 j , ne oprim (STOP): x
B
este program optim.

In caz contrar se determina mult imea (nevida):

+
= j [z
B
j
c
j
> 0
ALGORITMUL SIMPLEX (DANTZIG) 6
si se trece la pasul urmator.
PAS 3. Daca exista j
+
pentru care y
B
j
0 ne oprim (STOP): problema
are optim innit.

In caz contrar, determinam k
+
cu criteriul de intrare n baza:
max
j
(z
B
j
c
j
) = z
B
k
c
k
si r B
+
= i B[y
B
ik
> 0 cu criteriul de iesire din baz a:
min
iB
+
(
x
B
i
y
B
ik
) =
x
B
r
y
B
rk
Elementul y
B
rk
se numeste pivot. Se trece la pasul urmator.
PAS 4. Se considera baza

B
obt inuta din B prin nlocuirea coloanei a
r
cu
coloana a
k
, si se calculeaza valorile (prin formula de schimbare a bazei adica regula de
transformare a tabelului simplex) x

B
, z

B
, y

B
j
, z

B
j
c
j
si se trece la Pasul 2 nlocuind
peste tot baza B cu baza

B
.
Calculele pot simplicate prin folosirea regulilor de transformare a tabelului
simplex:
i) elementele situate pe linia pivotului se mpart la pivot;
ii) elementele situate pe coloana pivotului devin zero, cu except ia pivotului care
devine 1;
iii) celelalte elemente se transforma dupa regula dreptunghiului: daca ne ima-
ginam dreptunghiul a carui diagonala este determinata de elementul y
B
ij
care tre-
buie transformat si pivotul y
B
rk
, atunci noua valoare

y
B
ij
se obt ine mpart ind la pivot
diferent a dintre produsul elementelor y
B
ij
y
B
rk
situate pe diagonala considerata mai
sus si produsul y
B
rj
y
B
ik
situat pe cealalta diagonala a dreptunghiului.
Observat ii. i) Daca la sfarsitul algoritmului z
B
j
c
j
< 0 j atunci solut ia
problemei este unica.
ii) Este posibil ca n cadrul algoritmului simplex sa apara fenomenul de ciclare
(prin trecerea de la o baza la alta sa ajung ntr-o baza deja procesata). Exista mai
multe tehnici de evitare a acestui fenomen asupra carora nu ne vom opri nsa.
iii) Se poate da si o interpretare geometrica a solut iilor unei probleme de progra-
mare liniara n cazul bidimensional. Domeniul de admisibilitate poate :
-un poligon convex, iar cel put in unul dintre varfurile sale este solut ie a problemei
de optimizare. Se poate ntampla ca solut ia sa e o latura a poligonului convex ce
determina domeniul de denit ie, n acest caz avem mai multe solut ii;
-un domeniu nemarginit, caz n care problema are optim innit;
-mult imea vida, caz n care problema de optimizare nu are solut ie.
DUALA UNEI PROBLEME DE PROGRAMARE LINIAR

A 7
1.4. Duala unei probleme de programare liniara
Avand o problema de programare liniara, problema construita dupa urmatoarele
reguli se numeste problema duala:
a) termenii liberi din problema primala devin coecient i ai funct iei obiectiv n
problema duala;
b) coecient ii funct iei obiectiv din problema primala devin termeni liberi n prob-
lema duala;
c) o problema de maximizare (minimizare) devine o problema de minimizare
(maximizare);
d) matricea coecient ilor sistemului de restrict ii din problema duala este trans-
pusa matricei coecient ilor sistemului de restrict ii primale;
e) variabile duale (primale) asociate unor restrict ii primale (duale) concordante
sunt supuse condit iilor de nenegativitate;
f) variabile primale (duale) asociate unor restrict ii duale (primale) care sunt
restrict ii neconcordante sunt supuse condit iei de nepozitivitate;
g) variabile duale (primale) asociate unor restrict ii primale (duale) care sunt
ecuat ii nu sunt supuse nici unei condit ii privind semnul.
Remarcam ca duala unei probleme n forma canonica este tot n forma canonica.
Enunt am n continuare teorema fundamentala a dualitat ii:
Teorema 1.4.1. Fiind dat cuplul de probleme duale:
_

_
minc

x
Ax b
x 0
si
_

_
max b

y
A

y c
y 0
una si numai una din armat iile urmatoare este adevarata:
a) ambele probleme au programe.

In acest caz, ambele probleme au programe
optime si valorile optime ale funct iilor obiectiv coincid;
b) una din probleme are programe, iar cealalt a nu are.

In acest caz, problema
care nu are programe are optim innit;
c) nici una din probleme nu are programe.
Exista un algoritm numit algoritmul simplex dual care rezolva problema primala
prin intermediul problemei duale. Acelasi lucru putem sa-l armam si despre algo-
ritmul simplex primal care rezolva problema primala, dupa care pune n evident a
PROBLEMA DE TRANSPORT 8
solut ia problemei duale. Programul MAPLE are o procedura de construct ie a dualei.
Sintaxa acesteia este:
> dual(funct ia liniara, mult ime de restrict ii, nume variabila duala);
1.5. Problema de transport
Sa presupunem ca exista m centre de aprovizionare (depozite) si n centre de
consum (beneciari). Un produs omogen este depozitat n cantitat ile a
i
, 1 i m,
n centrele de aprovizionare si este cerut n cantitat ile b
j
, 1 j n, la beneciari.
Vom presupune ca sunt ndeplinite condit iile:
_
a
i
0, 1 i m, b
j
0, 1 j n,
a
1
+. . . +a
m
= b
1
+. . . +b
n
.
(1.4)
Cu alte cuvinte, presupunem ca disponibilitat ile si cererile sunt nenegative, iar
disponibilitatea egaleaza cererea totala. O astfel de problema de transport se numeste
problema de transport echilibrata.
Problema consta n organizarea transportului de la depozite la beneciari astfel
ncat sa se obt ina cheltuieli minime de transport.
Sa notam cu x
ij
cantitatea (necunoscuta) care urmeaza sa e transportata de la
depozitul i la beneciarul j. Cantitatea ce se transporta de la depozitul i la tot i
beneciarii trebuie sa egaleze disponibilitatea de la depozitul respectiv, adica:
n

j=1
x
ij
= a
i
, 1 i m. (1.5)
Analog, cererea totala la beneciarul j trebuie sa e egala cu cantitatea care se
transporta de la toate depozitele la acest beneciar, adica:
m

i=1
x
ij
= b
j
, 1 j n. (1.6)
Evident, cantitat ile transportate sunt nenegative, adica:
x
ij
0, 1 i m, 1 j n. (1.7)
Sistemul de inegalitat i liniare 1.5-1.7 are n condit iile 1.4 o innitate de solut ii.
Ca si n cazul precedent, pentru adoptarea unui plan de transport vom introduce
un nou criteriu economic. Sa notam pentru aceasta prin c
ij
costul transportului
unei unitat i din produsul considerat de la depozitul i la beneciarul j; evident, si n
APLICAT II 9
acest caz presupunem ca acest cost unitar de transport nu depinde de cantitatea ce
urmeaza sa e transportata din i n j. Este clar ca cheltuielile de transport sunt:
m

i=1
n

j=1
c
ij
x
ij
.
Problema consta n determinarea solut iilor sistemului de ecuat ii si inegalitat i
1.5-1.7 pentru care costul total de transport este minim, adica:
_

_
inf
m

i=1
n

j=1
c
ij
x
ij
,
n

j=1
x
ij
= a
i
, 1 i m,
m

i=1
x
ij
= b
j
, 1 j n,
x
ij
0, 1 i m, 1 j n.
1.6. Aplicat ii
Exercit iul 1.6.1. Sa se scrie duala problemei de programare liniara:
_

_
min(2x
1
+ 3x
2
+x
3
),
x
1
+x
2
+ 3x
4
3,
2x
2
+ 5x
3
+ 4x
4
= 5,
x
1
+x
3
2,
x
1
, x
2
0, x
3
arbitrar, x
4
0.
Gasit i solut ia optima a problemei primale.
Raspuns: Respectand regulile de formare a problemei duale obt inem:
_

_
max(3u
1
+ 5u
2
2u
3
),
u
1
+u
3
2,
u
1
+ 2u
2
3,
5u
2
+u
3
= 1,
3u
1
+ 4u
2
0,
u
1
0, u
2
arbitrar, u
3
0.
Solut ia problemei primale se poate gasi cu metoda simplex primal sau dual. Sin-
taxa MAPLE pentru rezolvarea acestei probleme este:
> with(simplex) :
APLICAT II 10
> obiectiv := 2 x
1
+ 3 x
2
+x
3
;
> restrictii := x
1
+x
2
+3x
4
>= 3, 2x
2
+5x
3
+4x
4
= 5, x
1
+x
3
<= 2;
> minimize(obiectiv, restrictii union x
1
>= 0, x
2
>= 0, x
4
<= 0);
Solut ia furnizata de procedura ind:
x
1
= 0, x
2
= 15/2, x
3
= 2, x
4
= 0,
valoarea funct iei obiectiv ind 41/2.
Exercit iul 1.6.2. Rezolvat i urmatoarea problema de programare liniara pre-
cum si duala acesteia:
_

_
min(2x
1
+ 3x
2
+x
3
),
x
1
+x
2
+ 3x
4
3,
2x
2
+ 5x
3
+ 4x
4
= 5,
x
1
+x
3
2,
x
1
, x
2
0, x
3
arbitrar, x
4
0.
unde este un parametru real.
Exercit iul 1.6.3. Rezolvat i urmatoarea problema de programare liniara pre-
cum si duala acesteia:
_

_
min(2x
1
+ 3x
2
+x
3
),
x
1
+x
2
+ 3x
4
3 +,
2x
2
+ 5x
3
+ 4x
4
= 5 ,
x
1
+x
3
2 + 2,
x
1
, x
2
0, x
3
arbitrar, x
4
0.
este un parametru real.
Raspuns. Execit iile 2.6.2-2.6.3 se pot rezolva e prin aplicarea metodei simplex
e prin metoda postoptimizarii considerand n tabelul simplex, obt inut n problema
2.6.1., = 0.
Exercit iul 1.6.4. Sa se rezolve cu algoritmul simplex problema de programare
liniara:
_

_
max(2x
1
+x
2
),
x
1
x
2
4,
3x
1
x
2
18,
x
1
+ 2x
2
6,
x
1
, x
2
0.
APLICAT II 11
Exercit iul 1.6.5. Sa se minimizeze expresia 2x
1
+3x
2
cu sistemul de restrict ii:
_

_
x
1
x
2
+x
3
= 1,
x
1
+x
2
x
4
= 1,
x
1
2x
2
+x
5
= 1,
2x
1
+x
3
x
4
= 2,
x
i
0, i = 1, . . . , 5.
Raspuns.

In urma aplicarii algoritmului simplex primal obt inem solut ia x

1
=
1, x

2
= 0, x

3
= 0, x

4
= 0, x

5
= 0, iar valoarea minima a funct iei obiectiv z

= 2.
Exercit iul 1.6.6. Rezolvat i problema urmatoare:
_

_
min(x
1
+ 6x
2
),
2x
1
+x
2
3,
x
1
+ 3x
2
4,
x
1
, x
2
0.
Raspuns. Vom rezolva problema grac. Se va reprezenta ntr-un sistem de axe
de coordonate domeniul de admisibilitate. Pe acelasi grac reprezentam si ecuat ia
x
1
+ 6x
2
= 0. Obt inem gura 1.1.
Figura 1.1: Domeniul de admisibilitate si funct ia obiectiv.
Vom duce drepte paralele cu x
2
=
1
6
x
1
pana se intersecteaza cu domeniul de ad-
misibilitate. Prima dreapta care realizeaza aceasta intersect ie ne furnizeaza minimul
funct iei obiectiv z
min
= 4.
APLICAT II 12
Solut ia optima este x

1
= 4, x

2
= 0.
Exercit iul 1.6.7. Gasit i minimul funct iei 2x
1
+ 3x
2
+x
3
cu restrict iile:
_

_
x
1
+x
2
+ 3x
4
3,
2x
2
+ 5x
3
+ 4x
4
= 5,
x
1
+x
3
2,
x
1
, x
2
, x
3
, x
4
0, 1.
Exercit iul 1.6.8. Sa se rezolve problema de programare liniara n forma stan-
dard:
_

_
min(2x
1
+ 3x
2
),
x
1
x
2
+x
3
= 1,
x
1
+x
2
x
4
= 1,
x
1
2x
2
+x
5
= 1,
2x
1
+x
3
x
4
= 2,
x
i
0, 1 i 5.
Raspuns. Pentru rezolvarea problemei prin metoda simplex primal vom rezolva
mai ntai problema:
_

_
min(x
6
+x
7
+x
8
),
x
1
x
2
+x
3
+x
6
= 1,
x
1
+x
2
x
4
+x
7
= 1,
x
1
2x
2
+x
5
= 1,
2x
1
+x
3
x
4
+x
8
= 2,
x
i
0, 1 i 8.
(s-au introdus variabilele ecart x
6
, x
7
, x
8
n restrict iile problemei init iale, cu except ia
celei de a treia restrict ie, unde variabia x
5
este asociata unui vector unitar al ma-
tricei coecient ilor). Baza primal admisibila este formata din coloanele matricei A
corespunzatoare variabilelor x
6
, x
5
, x
7
, x
8
. Tabelul simplex asociat 2.2 este:
TABELUL 2.2
V.B. V.V.B. x
1
x
2
x
3
x
4
x
5
x
6
x
7
x
8
x
6
1 1 1 1 0 0 1 0 0
x
7
1 1 1 0 1 0 0 1 0
x
5
1 1 2 0 0 1 0 0 0
x
8
2 2 0 1 1 0 0 0 1
4 4 0 2 2 0 0 0 0
APLICAT II 13
Vectorul care intra n baza este evident a
1
conform criteriului de intrare n
baza. Dupa cum ne indica criteriul de iesire din baza, oricare dintre variabilele
de baza poate parasi baza: pentru a face o alegere, vom elimina din baza vectorul
coespunzator variabilei x
6
, adica a
6
. Obt inem deci tabelul simplex 2.3:
TABELUL 2.3
V.B. V.V.B. x
1
x
2
x
3
x
4
x
5
x
6
x
7
x
8
x
1
1 1 1 1 0 0 1 0 0
x
7
0 0 2 1 1 0 1 1 0
x
5
0 0 1 1 0 1 1 0 0
x
8
0 0 2 1 1 0 2 0 1
0 0 4 2 2 0 4 0 0
Se observa ca tabelul simplex 2.3 obt inut ne arata ca valoarea funct iei obiectiv
este nula. Toate variabilele articiale sunt nule, dar x
7
si x
8
sunt nca variabile de
baza. Se vede usor ca variabila x
7
poate eliminata din baza si nlocuita cu x
2
,
deoarece pivotul y
B
72
= 2 este nenul. Dupa calcule se obt ine tabelul simplex 2.4:
TABELUL 2.4
V.B. V.V.B. x
1
x
2
x
3
x
4
x
5
x
6
x
7
x
8
x
1
1 1 0 1/2 1/2 0 1/2 1/2 0
x
2
0 0 1 1/2 1/2 0 1/2 1/2 0
x
5
0 0 0 3/2 3/2 1 3/2 1/2 0
x
8
0 0 0 0 0 0 2 2 1
0 0 0 0 0 0 2 2 0
Variabila articiala x
8
nu mai poate eliminata dintre variabilele de baza, deoarece
tot i coecient ii y
8j
, 1 j 5, sunt egali cu zero. Acest fapt ne arata ca ecuat ia
a patra din problema init iala este o consecint a a celorlalte patru ecuat ii (ecuat ia a
patra este suma primelor doua ecuat ii, situat ie ce putea observata de la nceput).

In acest caz, ecuat ia a patra poate neglijata si deci linia a patra a tabelului sim-
plex poate eliminata; partea ramasa a tabelului simplex nu mai cont ine variabile
articiale de baza si, ca urmare, prima faza este terminata.
Vom trece acum la faza a doua a metodei, adica la rezolvarea problemei init iale,
folosind drept baza init iala ultima baza obt inuta din tabelul 2.4, dupa eliminarea
ultimei linii.
APLICAT II 14
Tabelul simplex corespunzator este tabelul 2.5:
TABELUL 2.5
V.B. V.V.B. x
1
x
2
x
3
x
4
x
5
x
1
1 1 0 1/2 1/2 0
x
2
0 0 1 1/2 1/2 0
x
5
0 0 0 3/2 1/2 1
z 2 0 0 1/2 5/2 0
Deoarece z
j
c
j
0 pentru tot i j, 1 j 5, rezulta ca am obt inut programul
optim de baza (degenerat): x

1
= 1, x

2
= 0, x

3
= 0, x

4
= 0, x

5
= 0, iar valoarea
optima a funct iei obiectiv este z

= 2.
Capitolul 2
PROGRAMARE DINAMIC

A
2.1. Forma unei probleme de optimizare secvent iala
Programarea dinamica este o metoda de rezolvare a unei clase de probleme, al
caror model matematic prezinta caracteristicile unui sistem secvent ial.

Intr-o astfel
de problema, la ecare faza t T, cu T R, se alege o solut ie (decizie, strategie,
politica) x
t
dintr-o mult ime de solut ii admisibile X
t
, X
t
M
n
t
, unde M R iar
n
t
N

, putandu-se de ecare data masura ecient a (sau utilitatea) u


t
a solut iei
alese. Problema de optimizare consta n determinarea solut iei globale x = (x
t
)
tT
care optimizeaza o funct ie ecient a globala f care este denita cu ajutorul funct iilor
de ecient a part iala u
t
, t T. Evolut ia sistemului este descrisa si de familia pa-
rametrilor de stare (s
t
)
tT
a caror lege de variat ie este cunoscuta si dependenta
de deciziile alese (daca legea este determinista avem o problema de programare di-
namica determinista, iar daca legea este probabilista avem o problema de programare
stochastica). Sa notam cu S
t
mult imea starilor la momentul t.
Denit ia 2.1.1. (Caracteristicile unui sistem secvent ial.) O funct ie s : T S
t
cu s(t) = s
t
t T, s
t
S
t
se numeste traiectoria, corespunzatoare deciziei globale
x = (x
t
)
tT
, a sistemului secvent ial. Aceasta descrie starea sistemului de-a lungul
ntregii perioade de timp T, n condit iile alegerii deciziei x.
Avem n general:
_

_
x
t
= x
t
(s
t
)
u
t
i
: S
t
i1
X
t
i
R, u
t
i
= u
t
i
(s
t
i
, x
t
i
)

t
i
: S
t
i1
X
t
i
S
t
i
,
t
i
=
t
i
(s
t
i1
, x
t
i
).
Traiectoria s depinde de starea init iala s
t
0
= s
0
S
t
0
, t
0
ind momentul init ial.
15
FORMA UNEI PROBLEME DE OPTIMIZARE SECVENT IAL

A 16
Denit ia 2.1.2. Se numeste traiectorie optima traiectoria s

corespunzatoare
unei decizii optime x

care optimizeaza funct ia obiectiv.


Tehnica programarii dinamice consta n determinarea solut iilor optime globale si
a valorii optime a funct iei obiectiv, prin rezolvarea secvent iala a unor probleme de
optimizare asociate problemei init iale, dar mult mai simple decat aceasta deoarece
optimul se calculeaza dupa o singura variabila. Bellman a formulat n 1957 principiul
optimalitat ii: o condit ie necesara ca o traiectorie s

sa e optima este ca t
1
, t
2

T, t
1
< t
2
, s

[
[t
1
,t
2
]
sa e traiectorie optima a sistemului restrict ionat la intervalul
[t
1
, t
2
], cand s
t
1
= s

(t
1
) adica orice substrategie a unei strategii optime este ea nsasi
optima.
Pentru a xa ideile, n cele ce urmeaza, vom presupune ca avem de a face cu o
problema de minimizare, toate considerat iile ind valabile fara nici un fel de restrict ii
si pentru problema de maxim. Forma generala a unei probleme de optimizare (min-
imizare) ce urmeaza a rezolvata prin aceasta tehnica este urmatoarea:
_

_
minf(u
1
(s
0
, x
1
), . . . , u
n
(s
n1
, x
n
))[x
1
X
1
(s
0
), . . . , x
n
X
n
(s
n1
)
s
i
=
i
(s
i1
, x
i
), i = 1, n
s
i
S
i
, i = 1, n.
Problema de optimizare astfel denita se numeste efectiv decompozabila adica
vectorul de stare s
i
, la iesirea din faza i, nu depinde decat de vectorul de stare s
i1
si de decizia x
i
, luata n faza i. Funct iile u
i
sunt funct iile de ecient a la faza i cand
se ia decizia x
i
stiind ca vectorul de stare este s
i
.
Toate elementele descriptive ale unei probleme de optimizare sunt determinate
de o decizie aleasa si de starea init iala s
0
:
s
1
=
1
(s
0
, x
1
) =

1
(s
0
, x
1
), u
1
(s
0
, x
1
) =

u
1
(s
0
, x
1
), x
1
X
1
(s
0
) =

X1
(s
0
)
s
2
=
2
(
1
(s
0
, x
1
), x
2
) =

2
(s
0
, x
1
, x
2
), u
2
(s
1
, x
2
),
u
2
(
1
(s
0
, x
1
), x
2
) =

u
2
(s
0
, x
1
, x
2
), x
2
X
2
(
1
(s
0
, x
1
)) =

X2
(s
0
, x
1
)
...........................................
s
i
=
i
(
i1
(s
0
, x
1
, x
2
, . . . , x
i1
), x
i
) =

i
(s
0
, x
1
, x
2
, . . . , x
i
),
u
i
(s
i1
, x
i
) = u
i
(

i1
(s
0
, x
1
, x
2
, . . . , ux
i1
), x
i
) =

u
i
(s
0
, x
1
, . . . , x
i
),
x
i
X
i
(

i1
(s
0
, x
1
, x
2
, . . . , x
i1
))
=

Xi
(s
0
, x
1
, . . . , x
i1
) pentru i = 2, n.
TEOREMA DE OPTIM 17
Funct ia obiectiv se scrie:
f(

u
1
(s
0
, x
1
),

u
2
(s
0
, x
1
, x
2
), . . . ,

u
n
(s
0
, x
1
, . . . , x
n
)) =

f (s
0
, x
1
, . . . , x
n
).
Denit ia 2.1.3. O solut ie (decizie) x

(s
0
) = (x

1
(s
0
), . . . , x

n
(s
0
)) admisibila se
spune ca este optima relativ la starea init iala s
0
pentru o problema de optimizare
sub forma secvent iala, daca:

f (s
0
, x

1
(s
0
), . . . , x

n
(s
0
)) = min

f (s
0
, x

1
, . . . , x

n
)[x
1

X1
(s
0
), . . . ,
. . . , x
i

Xi
(s
0
, x
1
, . . . , x
i1
), i = 1, n.
Rezolvarea unei probleme de optimizare pusa n forma secvent iala consta n
gasirea unei solut ii x

(s
0
) = (x

1
(s
0
), . . . , x

n
(s
0
)), n funct ie de starea init iala s
0
,
astfel ncat funct ia de ecient a globala f sa e optima.
2.2. Teorema de optim
Pentru a formula teorema de optim trebuie sa denim mai ntai not iunea de
funct ie decompozabila.

In esent a, acest lucru nseamna ca problema se poate de-
scompune ntr-un numar de faze.
Denit ia 2.2.1. O funct ie f : D = S X Y R, unde X, Y si S sunt
mult imi nevide se numeste decompozabila daca exista funct iile u, v : D R, u ind
constanta n raport cu variabila y Y (exista u : SX R astfel ncat u (s, x, y) =
u(s, x), (s, x, y) D) si o funct ie F :u (D)v(D) R, F(, .) monoton crescatoare
pentru ecare u (D), astfel ncat f(s, x, y) = = F(u(s, x), v(s, x, y)) (s, x, y)
D.
Teorema 2.2.1. ( Teorema de optim). Daca F este decompozabila si daca exista
pentru orice s S :
min
x,y
f(s, x, y); min
x
F(u(s, x), min
y
v(s, x, y)); min
x
min
y
f(s, x, y),
atunci pentru orice s S avem:
min
x,y
f(s, x, y) = min
x
F(u(s, x), min
y
v(s, x, y)).
PROGRAMARE DINAMIC

A REGRESIV

A 18
2.3. Programare dinamica regresiva
2.3.1. Ecuat iile programarii dinamice regresive
Pentru a pune sub forma unui algoritm problema secvent iala trebuie sa existe o
anume legatura de tip recursiv ntre funct iile de ecient a trunchiate ale procesului
la fazele i:
f
ni+1
(u
i
(s
i1
, x
i
), . . . , u
n
(s
n1
, x
n
)) =
= F
ni+1
(u
i
(s
i1
, x
i
), f
ni
(u
i+1
(s
i
, x
i+1
), . . . , u
n
(s
n1
, x
n
)),
unde prin f
ni+1
s-a notat funct ia de ecient a asociata procesului de decizie trun-
chiat la fazele i, i + 1, . . . , n pentru i = 1, 2, . . . , n 1, cu f
1
(u
n
) = u
n
si f
n
= f.
Aceasta proprietate se numeste proprietatea de decompozabilitate a funct iei obiectiv.
Ecuat ia se rescrie:

f
ni+1
(s
i1
, x
i
, . . . , x
n
) = F
ni+1
(u
i
(s
i1
, x
i
),

f
ni
(
i
(s
i1
, x
i
),
x
i+1
, . . . , x
n
)),
i = 1, n 1, s
i1
S
i1
, x
i
X
i
(s
i1
), x
n
X
n
(s
n1
),
cu

f
1
= u
n
si

f
n
=

f= f.
Aplicam teorema de optim funct iilor

f
ni+1
pentru i = 1, 2, . . . , n 1 :
min

f
ni+1
(s
i1
, x
i
, . . . , x
n
)[x
i
, . . . , x
n
=
min
x
i
F
ni+1
(u
i
(s
i1
, x
i
), min

f
ni
(
i
(s
i1
, x
i
), x
i+1
, . . .
. . . , x
n
)[x
i+1
, . . . , x
n
).
Notam cu g
ni+1
(s
i1
) = min

f
ni+1
(s
i1
, x
i
, . . . , x
n
)[x
i
, . . . , x
n
, valoarea optim-
ului procesului de decizie trunchiat la fazele i, i + 1, . . . , n. Avem:
g
ni
(s
i1
) = g
ni
(
i
(s
i1
, x
i
))
si obt inem:
g
ni+1
(s
i1
) = min
x
i
F
ni+1
(u
i
(s
i1
, x
i
), g
ni
(
i
(s
i1
, x
i
)), i = 1, n 1
cu
g
1
(s
n1
) = min
x
i
u
n
(s
n1
, x
n
).
Aceste ecuat ii se numesc ecuat iile programarii dinamice regresive.
PROGRAMARE DINAMIC

A REGRESIV

A 19
2.3.2. Algoritmul rezolvarii problemelor de programare regre-
siva
Elementele prezentate n paragrafele precedente ne permit sa elaboram urmatorul
algoritm de rezolvare a problemelor de optimizare dinamice regresive.
PAS 0. Problema matematica se codica sub forma unei probleme de pro-
gramare liniara, punandu-se n evident a funct ia obiectiv si sistemul de restrict ii
corespunzator.
PAS 1. Se pune problema sub forma unui proces secvent ial de decizie urma-
rindu-se urmatoarele elemente:
i) forma funct ionala a funct iilor de transfer
i
: S
i1
X
i
S
i
:
s
i
=
i
(s
i1
, x
i
), i = 1, n.
ii) spat iul starilor posibile: S
0
, S
1
, . . . , S
n
;
iii) spat iul deciziilor: X
i
(s
i1
);
iv) funct iile part iale de ecient a u
i
(s
i1
, x
i
), i = 1, 2, . . . , n;
v) funct iile obiectiv ale proceselor trunchiate la fazele i, i+1, . . . , n :

f
i
(x
i
, . . . , x
n
)
pentru i = 1, 2, . . . , n.
PAS 2. Se rezolva problema din faza n, adica se calculeaza:
min

f
1
(s
n1
, x
n
)[x
n
X
n
(s
n1
)
= minu
n
(s
n1
, x
n
)[x
n
X
n
(s
n1
) = g
1
(s
n1
),
unde s
n1
este parametru.
Deci pentru s
n1
S
n1
se determina x

n1
(s
n1
) X
n
(s
n1
), astfel ncat:
g
1
(s
n1
) = u
n
(s
n1
, x

n1
(s
n1
)).
Se atribuie contorului i valoarea n 1. Acest contor are semnicat ia fazei i a
procesului secvent ial.
PAS 3. Se rezolva problema din faza i a carei necunoscuta este x
i
, iar s
i1
este parametru. Deci pentru s
i1
S
i1
, se determina valorile x

i
(s
i1
) X
i
(s
i1
)
pentru care:
g
ni+1
(s
i1
) = F
ni+1
(u
i
(s
i1
, x

i
(s
i1
)), g
ni
(
i
(s
i1
, x

i
(s
i1
)))
= min

f
ni+1
(s
i1
, x
i
, . . . , x
n
)[x
i
X
i
(s
i1
).
actualizeaza i := i + 1.
PAS 4. Daca i > 1 goto PAS 3.
PROGRAMARE DINAMIC

A REGRESIV

A 20
Se determina x

1
(s
0
) si avem:

f (s
0
, x

1
(s
0
), . . . , x

n
(s
0
)) =
min

f
n
(s
0
, x
1
, . . . , x
n
)[x
1
, . . . , x
n
= g
n
(s
0
), pentru s
0
S
0
,
unde x

2
(s
0
) = x

2
(
1
(s
0
, x

1
(s
0
)), etc.
PAS 5. Se optimizeaza pe mult imea vectorilor init iali pentru a aa s

0
:

f (s

0
, x

1
(s

0
), . . . , x

n
(s

0
)) = min
s
0
S
0
g
n
(s
0
) = g
n
(s

0
),
atins pentru starea init iala s

0
.
PAS 6. Se scrie solut ia optima:
x

= (x

1
, . . . , x

n
)
unde x

1
= x

1
(s

0
), x

2
= x

2
(
1
(s
0
, x

1
(s
0
)), etc.
2.3.3. Aplicat ii
Exercit iul 2.3.1. O unitate comerciala trebuie sa raspunda unei cereri de 25
unitat i dintr-un anumit tip de produs, cerere esalonata pe o perioada de 4 luni. La
nceputul ecarei luni, unitatea se poate aproviziona cu orice cantitate din produsul
respectiv, la un pret ce variaza de la luna la luna, conform datelor din tabelul 3.1:
TABELUL 3.1
luna i 1 2 3 4
cererea 5 7 5
pret 12 10 9 10
Sa se determine politica optima de reaprovizionare a unitat ii cu produsul respec-
tiv, astfel ncat toate cererile sa e satisfacute, stiind ca n depozitul respectiv se
gasesc la nceputul primei luni 3 unitat i de produs si ca nu pot pastrate n depozit
mai mult de 9 unitat i de produs, iar la sfarsitul ultimei luni toate produsele au fost
vandute. Parametrul este un numar real strict pozitiv.
Raspuns.
Pas 0. Deoarece cererea trebuie sa e de 25 unitat i avem: 5 +7 + +5 = = 25
deci = 8. Se codica problema:
PROGRAMARE DINAMIC

A REGRESIV

A 21
Se noteaza cu x
i
numarul de unitat i comandate la nceputul lunii i si cu s
i
stocul
existent la sfarsitul lunii i. Funct ia de minimizat este:
12x
1
+ 10x
2
+ 9x
3
+ 10x
4
,
putem deci presupune ca = 1 avand grija ca la nal sa nmult im valoarea optima
a funct iei obiectiv cu .
Avem: 3 +x
1
+x
2
+x
3
+x
4
= 25 sau x
1
+x
2
+x
3
+x
4
= 22.
3 +x
1
9 si 3 +x
1
5 0 deci x
1
[2, 6],
3 +x
1
5 +x
2
9 si 3 +x
1
5 +x
2
7 0 deci x
1
+x
2
[9, 11],
3+x
1
5+x
2
7+x
3
9 si 3+x
1
5+x
2
7+x
3
8 0 deci x
1
+x
2
+x
3
[17, 18]
3 +x
1
5 +x
2
7 +x
3
8 +x
4
9 (echivalent cu 5 9 inegalitate care spune
ca dupa ce s-a efectuat comanda la nceputul lunii a 4-a mai este de satisfacut o
cerere de 5 unitat i de produs) si 3 +x
1
5 +x
2
7 +x
3
8 +x
4
5 = 0 (ecuat ie
ce constituie o vericare part iala).
Problema de minimizat devine:
_

_
min(12x
1
+ 10x
2
+ 9x
3
+ 10x
4
)
2 x
1
6
9 x
1
+x
2
11
4 x
4
5
x
1
+x
2
+x
3
+x
4
= 22.
Pas 1. Se determina spat iul starilor S
i
, i = 0, 4:
s
0
= 3 S
0
= 3,
s
1
= s
0
+x
1
5 = x
1
2 S
1
= [0, 4],
s
2
= s
1
+x
2
7 = x
1
+x
2
9 S
2
= [0, 2],
s
3
= s
2
+x
3
8 = x
1
+x
2
+x
3
17 S
3
= [0, 1],
s
4
= s
3
+x
4
5 = x
1
+x
2
+x
3
+x
4
17 5 = 0 S
4
= 0.
Se determina spat iul deciziilor X
i
(s
i1
), i = 1, n :
x
1
X
1
(s
0
) = [5 s
0
, 9 s
0
] = [2, 6],
x
2
X
2
(s
1
) = [7 s
1
, 9 s
1
],
x
3
X
3
(s
2
) = [8 s
2
, 9 s
2
],
x
4
X
4
(s
3
) = 5 s
3

Funct iile de transfer:


i
(s
i1
, x
i
), i = 1, n :

1
(s
0
, x
1
) = s
0
+x
1
5,

2
(s
1
, x
2
) = s
1
+x
2
7,

3
(s
2
, x
3
) = s
2
+x
3
8,

4
(s
3
, x
4
) = s
3
+x
4
5 = 0.
Funct iile part iale de ecient a sunt:
u
1
(s
0
, x
1
) = 12x
1
,
PROGRAMARE DINAMIC

A REGRESIV

A 22
u
2
(s
1
, x
2
) = 10x
2
,
u
3
(s
2
, x
3
) = 9x
3
,
u
4
(s
3
, x
4
) = 10x
4
, si funct iile de ecient a ale proceselor de decizie trunchiate la
fazele i, . . . , 4 (pentru i = 1, . . . , 4) sunt:

f
4
= 12x
1
+ 10x
2
+ 9x
3
+ 10x
4
,

f
3
= 10x
2
+ 9x
3
+ 10x
4
,

f
2
= 9x
3
+ 10x
4
,

f
1
= 10x
4
.
Pas 2. Se rezolva problema:
min

f
1
(s
n1
, x
n
)[x
n
X
n
(s
n1
) = minu
4
(s
3
, x
4
)[x
4
X
4
(s
3
) =
= min10x
4
[x
4
5 s
3
= 10(5 s
3
) = 50 10s
3
,
minim atins pentru x

4
(s
3
) = 5 s
3
.
Pas 3/4. Se rezolva problema:
min

f
3
[x
3
X
3
(s
2
) = min9x
3
+ 50 10s
3
[x
3
[8 s
2
, 9 s
2
]
= min9x
3
+ 50 10(s
2
+x
3
8)[x
3
[8 s
2
, 9 s
2
]
= minx
3
10s
2
+ 130[x
3
[8 s
2
, 9 s
2
] = (9 s
2
) 10s
2
+ 130 =
= 121 9s
2
,
minim atins pentru x

3
(s
2
) = 9 s
2
.
Se rezolva problema:
min

f
2
[x
2
X
2
(s
1
) = min10x
2
+ 121 9s
2
[x
2
[7 s
1
, 9 s
1
]
= min10x
2
+ 121 9(s
1
+x
2
7)[x
2
[7 s
1
, 9 s
1
]
= minx
2
9s
1
+184[x
2
[7 s
1
, 9 s
1
] = 7 s
1
9s
1
+184 = = 10s
1
+191,
minim atins pentru x

2
(s
1
) = 7 s
1
.
Se rezolva problema:
min

f
1
[x
1
X
1
(s
0
) = min12x
1
+ 191 10s
1
[x
1
[2, 6]
= min12x
1
+ 191 10(s
0
+x
1
5)[x
1
[2, 6]
= min2x
1
10s
0
+ 241[x
1
[2, 6] = 243 10s
0
,
minim atins pentru x

1
(s

0
) = 2, s

0
= 3.
Pas 5. Avem:
s

1
= s

0
+x

1
5 = 0 deci x

2
(s
1
) = 7,
s

2
= s

1
+x

2
7 = 0 deci x

3
(s
2
) = 9,
s

3
= s

2
+x

3
8 = 1 deci x

4
(s
3
) = 4.
Pas 6. Solut ia optima x

= (2, 7, 9, 4) iar traiectoria optima este s

= =
(0, 0, 1, 0).
PROGRAMARE DINAMIC

A REGRESIV

A 23
Exercit iul 2.3.2. Un depozit trebuie sa raspunda unei cereri de marfa totale de
unitat i de produs de la m beneciari (cererea ecarui beneciar este de
i
unitat i
de produs). Daca costul de aprovizionare si transport al unei unitat i de produs la
beneciarul i este
i
, iar depozitul dispune init ial de unitat i de produs si daca
acesta nu poate det ine n stoc mai mult de unitat i de produs sa se determine
politica optima de reaprovizionare cu produsul respectiv astfel ncat toate cererile
sa e satisfacute. La nal mai exista n stoc unitat i de produs.
Indicat ie. Se noteaza cu x
i
numarul de unitat i de produs comandate la nceputul
livrarii i si cu s
i
stocul existent dupa livrarea i. Problema de programare ce trebuie
rezolvata este:
_

_
min
m

i=1

i
x
i
m

i=1
x
i
= +,
j

i=1

i

j

i=1
x
i

j1

i=1

i
+ j = 1, m,
x
i
0 i = 1, m.
unde =
m

i=1

i
. Se vor pune n evident a funct iile reciproce de transfer, funct iile
part iale de ecient a, funct iile de ecient a ale proceselor trunchiate, spat iul starilor
si spat iile de decizie.
Problema se va rezolva prin metoda programarii regresive n n faze.
Exercit iul 2.3.3. Sa se gaseasca o planicare optima unei investit ii de 5 mil-
ioane dolari pentru construirea a trei obiective cunoscand randamentele investit iilor
pe obiective, asa cum sunt prezentate n tabelul 3.2.
TABELUL 3.2
Investit ii Obiectiv 1 Obiectiv 2 Obiectiv 3
0 0 0 0
1 0, 20 0, 23 0, 19
2 0, 35 0, 34 0, 37
3 0, 51 0, 50 0, 49
4 0, 68 0, 63 0, 65
5 0, 75 0, 79 0, 80
Raspuns. Modelul matematic al problemei este:
PROGRAMARE DINAMIC

A REGRESIV

A 24
_

_
max(r
1
(x
1
) +r
2
(x
2
) +r
3
(x
3
))
x
1
+x
2
+x
3
= 5,
x
i
0, 1, 2, 3, 4, 5, i = 1, 2, 3, 4, 5.

In vederea rezolvarii problemei cu ajutorul programarii dinamice, se pune mai


ntai problema sub forma unui proces secvent ial de decizie. Pentru realizarea acestui
scop, se noteaza cu s
i
, i = 1, 2, 3, suma investita n primul obiectiv, n primul si al
doilea, si respectiv suma investita n cele trei obiective. Avem: s
0
= 0, s
1
= s
0
+x
1
,
s
2
= s
1
+x
2
, s
3
= s
2
+x
3.
Folosind aceste egalitat i, obt inem cu ajutorul sistemului de restrict ii, S
0
= 0,
S
1
= S
2
= 0, 1, 2, 3, 4, 5, S
3
= 5.
X
1
(s
0
) = 0, 1, 2, 3, 4, 5, X
2
(s
1
) = 0, . . . , 5 s
1
, X
3
(s
2
) = 5 s
2
.
Remarcam ca avem urmatoarele funct ii de transfer:

1
(s
0
, x
1
) = s
0
+x
1
,
2
(s
1
, x
2
) = s
1
+x
2
,
3
(s
2
, x
3
) = s
2
+x
3
.
Funct iile part iale de ecient a, precum si funct iile de decizie ale proceselor de
decizie trunchiate la fazele i, . . . , 3 (pentru i = 1, . . . , 3) sunt urmatoarele:
u
1
(s
0
, x
1
) = r
1
(x
1
), u
2
(s
1
, x
2
) = r
2
(x
2
), u
3
(s
2
, x
3
) = r
3
(x
3
),

f
3
= r
1
(x
1
) +r
2
(x
2
) +r
3
(x
3
),

f
2
= r
2
(x
2
) +r
3
(x
3
),

f
1
= r
3
(x
3
).
Se constata ca problema este decompozabila regresiv cu F
i
(, ) = + , unde
i = 2, 3. Se trece acum la rezolvarea problemelor de optim corespunzatoare ecarei
faze, folosind ecuat iile programarii regresive si obt inem:
Faza 3. Avem:
g
1
(s
2
) = maxr
3
(x
3
)[x
3
X
3
(s
2
) = r
3
(5 s
2
),
obt inut pentru x

3
(s
2
) = 5 s
2
.
Faza 2. Avem:
g
2
(s
1
) = maxr
2
(x
2
) +g
1
(s
1
+x
2
)[x
2
X
2
(s
1
)
= maxr
2
(x
2
) +r
3
(5 s
1
x
2
)[x
2
X
2
(s
1
).
Avem
g
2
(0) = max0, 80; 0, 88; 0, 83; 0, 87; 0, 82; 0, 79 = 0, 88 pentru x

2
(0) = 1;
g
2
(1) = max0, 65; 0, 72; 0, 71; 0, 69; 0, 63 = 0, 72 pentru x

2
(1) = 1;
g
2
(2) = max0, 49; 0, 60; 0, 53; 0, 50 = 0, 60 pentru x

2
(2) = 1;
g
2
(3) = max0, 37; 0, 42; 0, 34 = 0, 42 pentru x

2
(3) = 1;
g
2
(4) = max0, 19; 0, 23 = 0, 23 pentru x

2
(4) = 1;
g
2
(5) = max0 = 0 pentru x

2
(5) = 1.
PROGRAMARE DINAMIC

A PROGRESIV

A 25
Faza 1. Avem:
g
3
(s
0
) = maxr
1
(x
1
) +g
2
(s
0
+x
1
)[x
1
X
1
(s
0
)
= max0, 88; 0, 92; 0, 95; 0, 93; 0, 91; 0, 75 = 0, 95,
obt inut pentru x

1
(s

0
) = 2, unde s

0
= s
0
= 0. Avemn continuare, s

1
= = s

0
+x

1
= 2,
de unde x

2
(s

1
) = 1; s

2
= s

1
+x

2
= 3, de unde x

3
(s

2
) = = 5s

2
= 2; s

3
= s

2
+s

3
= 5.

In concluzie, am obt inut: max(r


1
(x
1
) + r
2
(x
2
) + r
3
(x
3
)) = 0, 95, pentru solut ia
optima unica x

= (x

1
, x

2
, x

3
) = (2, 1, 2), iar traiectoria optima a procesului este
s

= (2, 3, 5).
2.4. Programare dinamica progresiva
2.4.1. Ecuat iile programarii dinamice progresive
Procedura iterativa descrisan paragraful anterior este valabila fara nici o restrict ie
asupra starii init iale sau nale. Aceste doua stari au n mod evident, roluri impor-
tante, asa cum s-a vazut pentru starea s
0
.

In timp ce s
1
, . . . , s
n1
sunt stari de
intrare si iesire, s
0
este numai stare de intrare pentru faza 1 a problemei, iar s
n
numai stare de iesire pentru faza n a problemei.
Din punct de vedere matematic singurul lucru care deosebeste s
0
de s
n
este sensul
de parcurs adoptat pentru procedura de rezolvare, sens care a fost impus de ecuat iile:
s
i
=
i
(s
i1
, x
i
), i = 1, n,
ce conduc la o procedura de rezolvare de la ultima faza spre prima faza a problemei,
altfel spus, am mers spre trecut.

In anumite probleme se pot pune restrict ii asupra
starilor s
0
si/sau s
n
.
Daca s
0
este impusa, optimizarea din ultima faza a problemei conduce la un
singur g
n
(s
0
) deoarece s
0
nu mai este parametru, iar n faza 1 luam direct s
0
= s

0
.
Deci schema propusa este viabila.
Daca s
n
este impusa, adica s
n
= s

n
cu s

n
dat, trebuie ca starea init iala s
0
si
solut ia optima x

(s
0
) sa satisfaca relat ia:
s

n
=
n
(
n1
(. . .
2
(
1
(s
0
, x

1
(s
0
)), x

2
(s
0
)), . . . , x

n
(s
0
)).
Aceasta relat ie nu poate vericata decat la sfarsitul procedurii, lucru care sporeste
timpul de procesare. Metoda de reducere la cazul precedent este mult mai ecace,
daca vom reusi sa schimbam sensul n care au fost facute calculele adica sa mergem
spre viitor prin folosirea funct iilor reciproce de transfer:
s
i1
=
i
(s
i
, x
i
), i = 1, n.
PROGRAMARE DINAMIC

A PROGRESIV

A 26
Funct iile elementare de ecient a u
i
, pentru i = 1, . . . , n, respectiv funct ia obiectiv
globala f, devin u
i
(
i
(s
i
, x
i
), x
i
) =u
i
(s
i
, x
i
), pentru i = 1, . . . , n, respectiv:
f(u
1
(s
0
, x
1
), . . . , u
n
(s
n1
, x
n
)) = f(

u
1
(s
1
, x
1
), . . . ,

u
n
(s
n
, x
n
))
=

f (s
n
, x
1
, . . . , x
n
),
unde de data aceasta, n mod similar cu ceea ce s-a aratat anterior, toate elementele
descriptive ale problemei pot exprimate ca funct ie de decizie aleasa si starea s
0
.
Similar se deneste decompozabilitatea progresiva si se ajunge la ecuat iile pro-
gramarii dinamice progresive.
2.4.2. Algoritmul rezolvarii problemelor de programare progre-
siva
Elementele prezentate n paragrafele precedente ne permit sa elaboram urmatorul
algoritm de rezolvare a problemelor de optimizare dinamice progresive.
PAS 0. Problema matematica se codica sub forma unei probleme de pro-
gramare liniara, punandu-se n evident a funct ia obiectiv si sistemul de restrict ii
corespunzator.
PAS 1. Se pune problema sub forma unui proces secvent ial de decizie avandu-se
n vedere urmatoarele elemente:
i) forma funct ionala a funct iilor reciproce de transfer

i
: S
i
X
i
S
i1
:
s
i1
=

i
(s
i
, x
i
), i = 1, n.
ii) spat iul starilor posibile: S
0
, S
1
, . . . , S
n
;
iii) spat iul deciziilor:

Xi
(s
i
);
iv) funct iile part iale de ecient a

u
i
(s
i
, x
i
), i = 1, 2, . . . , n;
v) funct iile obiectiv ale proceselor secvent iale trunchiate la fazele 1, . . . , i :

f
i
(x
1
, . . . , x
i
) pentru i = 1, 2, . . . , n.
PAS 2. Se rezolva problema din faza 1, adica se calculeaza:
min

f
1
(s
1
, x
1
)[x
1

X1
(s
1
) = min

u
1
(s
1
, x
1
)[x
1

X1
(s
1
) = g
1
(s
1
),
unde s
n1
este parametru. Deci pentru s
1
S
1
se determina valoarea x

1
(s
n
)

X1
(s
1
), astfel ncat:
g
1
(s
1
) =

u
1
(s
1
, x

1
(s
1
)).
PROGRAMARE DINAMIC

A PROGRESIV

A 27
Se atribuie contorului i valoarea 2. Acest contor are semnicat ia fazei i a procesului
secvent ial.
PAS 3. Se rezolva problema din faza i a carei necunoscuta este x
i
, iar s
i
este
parametru. Deci pentru s
i
S
i
, se determina x

i
(s
i
)

Xi
(s
i
) astfel ncat:
g
i
(s
i
) =

Fi
(

u
i
(s
i
, x

i
(s
i
)), g
i1
(

i
(s
i
, x

i
(s
i
))).
actualizeaza i := i + 1;
PAS 4. Daca i < n goto PAS 3.
PAS 5. Se determina x

n
(s
n
)
Xn
(s
n
) cu s
n
= s

n
si avem:

f (s

n
, x

1
(s

n
), . . . , x

n
(s

n
)) = min

f
n
(s

n
, x
1
, . . . , x
n
)[x
1
, . . . , x
n
=
g
n
(s

n
),
unde x

n1
(s

n1
) = x

n1
= x

n1
(
n
(s

n
, x

n
)), etc.
PAS 6. Se scrie solut ia optima:
x

= (x

1
, . . . , x

n
)
unde x

n
= x

n
(s

n
), x

n1
= x

n1
(
n
(s

n
, x

n
)), etc.
Observat ii. i) Daca starile s
0
sau s
n
sunt cunoscute, se merge de la starea ne-
cunoscuta spre starea cunoscuta.
ii) Daca ambele stari sunt impuse si daca se pot deni funct iile de transfer atat
ntr-un sens cat si n celalalt atunci se poate opta pentru oricare dintre cele doua
metode de rezolvare, adica progresiv sau regresiv.
2.4.3. Aplicat ii
Exercit iul 2.4.1. Aplicat ia similara celei de la paragraful de aplicat ii core-
spunzator programarii dinamice regresive.
Raspuns. Pasul 0 este identic cu cel de la rezolvarea aplicat iei de la capitolul
programarii regresive.
Pasul 1. Se determina funct iile reciproce de transfer:

1
(s
1
, x
1
) = s
1
x
1
+ 5,

2
(s
2
, x
2
) = s
2
x
2
+ 7,

3
(s
3
, x
3
) = s
3
x
3
+ 8,

4
(s
4
, x
4
) = s
4
x
4
+ 5,
Funct iile part iale de ecient a sunt:
u
1
(s
1
, x
1
) = 12x
1
,
PROGRAMARE DINAMIC

A PROGRESIV

A 28
u
2
(s
2
, x
2
) = 10x
2
,
u
3
(s
3
, x
3
) = 9x
3
,
u
4
(s
4
, x
4
) = 10x
4
,
Funct iile de ecient a ale proceselor trunchiate la fazele 1, . . . , i (pentru i =
1, . . . , 4) sunt:

f
1
= 12x
1
,

f
2
= 12x
1
+ 10x
2
,

f
3
= 12x
1
+ 10x
2
+ 9x
3
,

f
4
= 12x
1
+ 10x
2
+ 9x
3
+ 10x
4
.
Noile spat ii de decizie se determina succesiv:
Din s
0
= 3 rezulta s
1
x
1
+ 5 = 3 sau x
1
= s
1
+ 2 de unde x
1
s
1
+ 2,
din s
1
[0, 4] rezulta s
2
x
2
+ 7 [0, 4] de unde x
2
[s
2
+ 3, s
2
+ 7],
din s
2
[0, 2] rezulta s
3
x
3
+ 8 [0, 2] de unde x
3
[s
3
+ 6, s
3
+ 8],
din s
3
[0, 1] rezulta s
4
x
4
+ 5 [0, 1] de unde x
4
[s
4
+ 4, s
3
+ 5].
Pas 2. Se rezolva problema din faza 1 adica se calculeaza:
min

f
1
[x
1

X1
(s
1
) = min12x
1
[x
1
s
1
+ 2 = 12s
1
+ 24,
minim atins pentru x

1
(s
1
) = s
1
+ 2.
Pas 3/4. Se rezolva problema:
min

f
2
[x
2

X2
(s
2
) = min12x
1
+ 10x
2
[x
2
[s
2
+ 3, s
2
+ 7]
= min10x
2
+ 12s
1
+ 24)[x
2
[s
2
+ 3, s
2
+ 7]
= min10x
2
+ 12(s
2
x
2
+ 7) + 24)[x
2
[s
2
+ 3, s
2
+ 7]
= min2x
2
+ 12s
2
+ 108[x
2
[s
2
+ 3, s
2
+ 7]
= 2(s
2
+ 7) + 12s
2
+ 108 = 10s
2
+ 94,
minim atins pentru x

2
(s
2
) = s
2
+ 7.
Se rezolva problema:
min

f
3
[x
3

X3
(s
3
) = min12x
1
+ 10x
2
+ 9x
3
[x
3
[s
3
+ 6, s
3
+ 8]
= min9x
3
+ 10s
2
+ 94[x
3
[s
3
+ 6, s
3
+ 8]
= min9x
3
+ 10(s
3
x
3
+ 8) + 94[x
3
[s
3
+ 6, s
3
+ 8]
= minx
3
+ 10s
3
+ 174[x
3
[s
3
+ 6, s
3
+ 8]
= s
3
8 + 10s
3
+ 174 = 9s
3
+ 166,
minim atins pentru x

3
(s
3
) = s
3
+ 8.
Se rezolva problema:
min

f
4
[x
4

X4
(s
4
) = min12x
1
+ 10x
2
+ 9x
3
+ 10x
4
[x
4
[s
4
+ 4, s
3
+ 5]
= min10x
4
+ 9s
3
+ 166[x
4
[s
4
+ 4, s
3
+ 5]
= min10x
4
+ 9(s
4
x
4
+ 5) + 166[x
4
[s
4
+ 4, s
3
+ 5]
PROGRAMARE DINAMIC

A PROGRESIV

A 29
= minx
4
+ 9s
4
+ 211[x
4
[s
4
+ 4, s
3
+ 5]
= 10s
4
+ 215 = 215,
minim atins pentru x

4
(s

4
) = s

4
+ 4 = 4, unde s

4
= 0.
Pas 5. Avem:
s

3
= s

4
x

4
+ 5 = 1 si x

3
= s

3
+ 8 = 9,
s

2
= s

3
x

3
+ 8 = 0 si x

2
= s

2
+ 7 = 7,
s

1
= s

2
x

2
+ 7 = 0 si x

1
= s

1
+ 2 = 2.
Pas 6. Solut ia optima este:
x

= (2, 7, 9, 4), iar traiectoria optima s

= (0, 0, 1, 0), deci s-a obt inut aceeasi


solut ie ca n rezolvarea problemei prin metoda regresiva.
Exercit iul 2.4.2. Un depozit trebuie sa raspunda unei cereri de marfa totale de
unitat i de produs de la m beneciari (cererea ecarui beneciar este de
i
unitat i
de produs). Daca costurile de transport al unei unitat i de produs la beneciarul i
este
i
si daca depozitul dispune init ial de unitat i de produs, iar daca acesta nu
poate det ine n stoc mai mult de unitat i de produs sa se determine politica optima
de reaprovizionare cu produsul respectiv astfel ncat toate cererile sa e satisfacute.

In nal depozitul nu mai are nici o cantitate n stoc.


Indicat ie. Vom nota cu x
i
numarul de unitat i de produs comandate la nceputul
livrarii i si cu s
i
stocul existent dupa livrarea i. Problema de programare ce trebuie
rezolvata este:
_

_
min
m

i=1

i
x
i
m

i=1
x
i
= ,
j

i=1

i

j

i=1
x
j

j1

i=1

i
+ j = 1, m,
x
i
0 i = 1, m.
unde =
m

i=1

i
. Se vor pune n evident a funct iile reciproce de transfer, funct iile
part iale de ecient a, funct iile de ecient a ale proceselor trunchiate, spat iul starilor
si spat iile de decizie.
Problema se poate rezolva si prin programare dinamica progresiva n n faze si
evident si prin metoda programarii dinamice regresive sau cu ajutorul algoritmilor
simplex primal ori simplex dual prin aducerea acesteia la forma standard.
Exercit iul 2.4.3. Rezolvat i numeric prin programare dinamica regresiva si pro-
gresiva problema anterioara pentru m = 3, = 25 (
1
= 10,
2
= = 8,
3
= 7),
1
=
PROGRAMARE DINAMIC

A PROGRESIV

A 30
3,
2
= 10,
3
= 4, = 3 si = 10. Aplicat i pentru rezolvarea problemei algoritmul
simplex primal. Scriet i duala problemei de programare liniara asociata. Rezolvat i
programul dual.
Indicat ie. Aplicand exercit iul precedent restrict ia a doua devine:

1
x
1
,
sau 10 3 x
1
10 3 deci x
1
= 7. Restrict ia a treia devine:

1
+
2
x
1
+x
2

1
+ ,
sau 10 + 8 3 3 +x
2
10 + 10 3 deci 12 x
2
20 etc.
Exercit iul 2.4.4. Generalizat i problema de la exercit iul 3.4.2 la o problema cu
n depozite. Rezolvat i aceasta problema prin metoda programarii dinamice si apoi
prin metoda de rezolvare a problemelor clasice de transport.
Exercit iul 2.4.5. Un tren de marfa cu capacitatea maxima z trebuie sa trans-
porte diferite cantitat i de N marfuri diferite. Sa notam cu v
i
valoarea celui de al i-lea
tip de marfa si cu w
i
greutatea sa. Sa se determine ncarcatura de valoare maxima.
Aplicat ie numerica N = 3, z = 100 t, v
1
= 10$, v
2
= 30$, v
3
= 5$, w
1
= 150 t,
w
2
= 20 t, w
3
= 30 t.
Indicat ie. Daca notam cu x
i
numarul articolelor din marfa i care sunt ncarcate
atunci problema de programare liniara de rezolvat este:
_

_
max
N

i=1
x
i
v
i
,
N

i=1
x
i
w
i
z,
x
i
0, i = 1, N.
Problema se poate rezolva prin metodele programarii dinamice sau cu algoritmul
simplex.
Capitolul 3
TEORIA JOCURILOR
3.1. Not iuni introductive
De foarte multe ori suntem pusi n fat a unor situat ii conictuale a caror evolut ie
ulterioara depinde de decizia sau planul adoptat, numita si strategie. Prin termenul
de evolut ie se nt elege modicarea unei funct ii obiectiv numita n acest caz funct ie
de pierdere sau castig, deci prin joc n cele ce urmeaza se nt elege acea situat ie
care funct ioneaza dupa reguli bine denite, n care doua sau mai multe elemente de-
cizionale, numite jucatori, aleg o decizie dintr-o mult ime de variante bine specicate.
Deoarece jocurile de care ne vom ocupa au la baza aceste elemente decizionale, ele se
vor numi jocuri strategice. Spunem despre strategia unui joc ca este o strategie pura
daca unul dintre adversari alege una din cele m variante dupa care jocul se opreste.
Strategia mixta presupune continuarea partidei, iar alegerea variantei se face cu o
anumita probabilitate. Fiecare din part ile implicate n joc urmareste optimizarea
funct iei obiectiv, iar strategia care realizeaza aceasta optimizare se numeste strategie
optima.
Din punct de vedere al castigului jocurile se clasica n:
-jocuri cu suma nula: sunt acele jocuri n care suma pierderilor ecarui jucator
este egala cu suma castigurilor tuturor jucatorilor;
-jocuri fara suma nula: sunt acele jocuri n care o parte din pierderea si/sau
castigul unui jucator nu se regaseste la ceilalt i jucatori.
O alta clasicare este dupa cardinalul numarului de strategii: jocuri nite sau
innite.
Fie X si Y strategiile pure a doi jucatori, e a X si b Y strategii pure alese
de catre acestia. Vom nota cu L
a
(a, b) si L
b
(a, b) pierderile corespunzatoare ecarui
jucator, castigul ind considerat o pierdere negativa. Suma pierderilor celor doi
31
PRINCIPIUL MINIMAX 32
jucatori este:
L
a
(a, b) +L
b
(a, b).
Daca jocul este cu suma nula atunci L
a
(a, b) +L
b
(a, b) = 0.
Jocurile de tip poker sunt jocuri cu suma nula, iar jocurile de tip Casino sunt
fara suma nula (se platesc impozite catre stat sau se platesc taxe catre proprietarul
jocului). Formalizand cele denite avem:
Denit ia 3.1.1. Se numeste joc tripletul J = (X, Y, L) unde X = a
1
, . . . , a
m

si Y = b
1
, ..., b
n
sunt mult imile de strategii pure ale celor doi jucatori, iar L :
X Y R este funct ia de castig care se poate exprima sub forma matriceala:
Q =
_
_
_
q
11
... q
1n
... ... ...
q
m1
... q
mn
_
_
_
n care q
ij
= L(a
i
, b
j
), i = 1, m, j = 1, n. Forma matriceala a unui joc se numeste
forma normala. Matricea jocului este alcatuita n raport cu jucatorul A numit
jucator maximizant. Jucatorul B se va numi jucator minimizant, iar matricea sa va
avea elementele q
ij
.
Exemplul 3.1.1. Jocul consta n aruncarea monedei n care ecare jucator
poate alege, independent de celalalt stema S sau banul B. Daca alegerile coin-
cid, atunci jucatorul 2 primeste de la jucatorul 1 suma x.

In caz contrar jucatorul 1
primeste de la jucatorul 2 suma x. Matricea jocului este:
Q =
_
x x
x x
_
.
3.2. Principiul minimax
Teoria jocurilor are ca rol elaborarea unor planuri rat ionale de act iune pentru
cazurile conictuale. Astfel, principiul adoptat este principul minimizarii pierderii
maxime numit si principiul minimax. Jucatorul A act ioneaza astfel ncat sa maxi-
mizeze cel mai mic castig pe care-l poate obt ine de la jucatorul B, iar jucatorul B
act ioneaza astfel ncat sa minimizeze pierderea sa maxima.
Valoarea:
= max
i
min
j
q
ij
se numeste valoarea inferioara a jocului si reprezinta cel mai mic castig pe care Al
poate avea de la B, iar valoarea:
STRATEGII MIXTE SI VALOAREA JOCULUI 33
= min
j
max
i
q
ij
se numeste valoarea superioara a jocului si reprezinta cea mai mare pierdere pe care
B o poate avea.
Jocurile pentru care = se numesc jocuri cu punct sa, iar valoarea comuna a
acestor doua valori se numeste valoarea jocului. Elementul care realizeaza aceasta
egalitate se numeste punct sa.
O strategie a
i
a jucatorului A se numeste dominanta pentru strategia a
j
daca
q
ik
q
jk
pentru orice k = 1, n. Strategiile dominate vor eliminate din joc de catre
A (acesta doreste sa castige cat mai mult) strategiile dominante ale lui B vor
eliminate din politica sa pentru ca duc la pierderi mai mari.
3.3. Strategii mixte si valoarea jocului
Jocurile cu punct sa reprezinta o clasa particulara de jocuri si se pune n mod
natural ntrebarea daca, n ipoteza repetarii partidelor, nu se poate gasi o strategie
prin care jucatorul A sa obt ina un castig mai mare decat cel asigurat prin criteriul
minimax. Vom numi strategie mixta o combinat ie probabilista de strategii pure.
Strategiile mixte au dublu rol:
1. de a mpiedica adversarul sa cunoasca strategia aleasa;
2. de a mari castigul garantat de valoarea inferioara a jocului.
Fie X = (x
1
, ..., x
m
)

vectorul probabilitat ilor cu care jucatorul A alege strategiile


pure a
1
, ..., a
m
si Y = (y
1
, ..., y
n
)

vectorul probabilitat ilor cu care jucatorul B


alege strategiile pure b
1
, ..., b
n
. Avem:
_
_
_
x
i
0, i = 1, m
m

i=1
x
i
= 1,
si
_
_
_
y
j
0, j = 1, n
n

j=1
y
j
= 1.
Castigul mediu realizat de catre A cand el foloseste strategia mixta X, iar B
strategia b
j
va :
M(X, j) =
m

i=1
q
ij
x
i
.
TEOREMA FUNDAMENTAL

A A TEORIEI JOCURILOR 34
Similar, castigul mediu realizat de A cand el foloseste strategia a
i
, iar B foloseste
strategia mixta Y va :
M(i, Y ) =
n

j=1
q
ij
y
j
.
Valoarea medie a jocului va :
M(X, Y ) =
n

j=1
m

i=1
q
ij
x
i
y
j
=
m

i=1
n

j=1
q
ij
x
i
y
j
,
sau matriceal:
M(X, Y ) = X

QY.
3.4. Teorema fundamentala a teoriei jocurilor
Teorema 3.4.1. (Valoarea inferioar a si valoarea superioara a jocului). Fie X,
Y submult imi ale lui R si e L : X Y R. Daca exista marimile:
max
xX
[min
yY
L(x, y)],
min
yY
[max
xX
L(x, y)],
atunci:
max
xX
[min
yY
L(x, y)] min
yY
[max
xX
L(x, y)].
Denit ia 3.4.1. (Punct sa). Punctul (x
0
, y
0
) este punct sa al funct iei L daca:
L(x, y
0
) L(x
0
, y
0
) L(x
0
, y).
Teorema 3.4.2. (Condit ii necesare si suciente pentru existent a punctelor sa).
Fie X, Y submult imi ale lui R si e L : X Y R. Daca exista marimile:
max
xX
[min
yY
L(x, y)],
min
yY
[max
xX
L(x, y)],
atunci condit ia necesar a si sucienta ca L sa aiba punctul (x
0
, y
0
) punct sa este:
max
xX
[min
yY
L(x, y)] = min
yY
[max
xX
L(x, y)] = L(x
0
, y
0
).
REZOLVAREA JOCURILOR MATRICEALE 35
Teorema 4.4.2 ne spune: condit ia necesara si sucienta ca L sa aiba punctul
(x
0
, y
0
) punct sa este ca valoarea inferioara a jocului sa e egala cu valoarea sa
superioara.
Teorema 3.4.3. (Teorema fundamentala a teoriei jocurilor). Fie jocul J =
(X, Y, L). Atunci exista o pereche X
0
, Y
0
de strategii mixte optime astfel ncat:
max
XS
m
[ min
Y S
n
M(X, Y )] = min
Y S
n
[ max
XS
m
M(X, Y )] = M(X
0
, Y
0
) = v,
unde S
m
si S
n
sunt submult imi ale spat iilor euclidiene m-dimensionale respectiv
n-dimensionale.
Valoarea v se numeste valoarea jocului.
Observat ii. i) Un joc nu poate avea decat o singura valoare, chiar daca are mai
multe strategii optime mixte.
ii) Condit ia necesara si sucienta ca v sa e valoarea jocului si X
0
, Y
0
sa e
strategii mixte este ca:
M(i, Y
0
) v M(X
0
, j), 1 i m, 1 j n.
3.5. Rezolvarea jocurilor matriceale
3.5.1. Formularea problemei de optimizare
Fie un joc cu matricea Q = (q
ij
). Daca jucatorul A foloseste strategiile pure a
i
cu probabilitat ile x
i
, i = 1, . . . , m atunci acesta poate spera un castig de cel put in
v, care este egal cu valoarea jocului adica:
_

_
x

Q v
m

i=1
x
i
= 1
x
i
0, i = 1, m
unde v = (v, . . . , v)

iar a b
def
a
i
b
i
i.
Similar, daca jucatorul B utilizeaza strategiile pure b
j
cu probabilitat ile y
j
,
1 j n, el se poate astepta la o pierdere cel mult egala cu valoarea v a jocului:
_

_
Qy v
n

j=1
y
j
= 1
y
j
0, j = 1, n
APLICAT II 36
3.5.2. Reducerea la probleme de programare liniara
Pentru a transforma cele doua sisteme n modele de programare liniara este nece-
sar ca valoarea jocului v sa e strict pozitiva.

In acest sens se pot folosi urmatoarele
observat ii:
i) daca ecarui element al matricei Q i se adauga o constanta k, atunci valoarea
jocului devine v +k, iar strategiile mixte raman neschimbate;
ii) daca ecare element al matricei Q senmult este cu constanta k, atunci valoarea
jocului devine vk, iar strategiile mixte optime raman neschimbate.
Deci prin folosirea adecvata a observat iilor amintite se poate presupune v = 1.
Problemele de rezolvat devin folosind notat ia X
i
= x
i
/v:
_

_
min(
m

i=1
X
i
)
Q

X 1
X
i
0, i = 1, m
si
_

_
max(
n

j=1
Y
j
)
QY 1
Y
j
0, j = 1, n.
Cele doua probleme de programare liniara sunt n forma canonica si sunt duale
una alteia. Acestea se pot rezolva prin metodele simplex sau simplex-dual. Se poate
apela pentru rezolvarea acestor probleme la programele specializate existente pe
piat a software.
3.6. Aplicat ii
Exercit iul 3.6.1. Se considera jocul n forma matriceala:
TABELUL 4.1
A/B b
1
b
2
b
3
b
4
b
5
a
1
3 5 4 2 1
a
2
2 3 1 0 1
a
3
4 1 1 0 3
a
4
5 0 3 2 4
Matricea jocului este alcatuita n raport cu jucatorul A (maximizant).
APLICAT II 37
i) Sa se calculeze valoarea inferioara si valoarea superioara a jocului.
ii) Are jocul punct sa?
iii) Aat i strategiile mixte optime ale celor doi jucatori.
Raspuns. Matricea jocului ind alcatuita n raport cu jucatorul A, care este
jucator maximizant, acesta doreste sa castige cat mai mult si va elimina din joc
strategiile dominate. Avem a
4
~ a
3
deci strategia a
3
va eliminata din joc de
catre jucatorul A. Deoarece b
1
~ b
4
si b
3
~ b
4
atunci jucatorul B elimina din joc
strategiile b
1
si b
3
(conduc la pierderi mai mari). Astfel jocul se reduce la matricea
redusa Q:
Q =
_
_
_
5 2 1
3 0 1
0 2 4
_
_
_.
Valoarea inferioara a jocului este:
= max
i
min
j
q
ij
= 0,
si valoarea superioara a jocului este:
= min
j
max
i
q
ij
= 2.
Deoarece < jocul nu are punct sa. Valoarea jocului v [0, 2].
Problema de programare liniara pe care trebuie sa o rezolve jucatorul A este:
_

_
min(v)
5x
1
+ 3x
2
v
2x
1
+ 2x
3
v
x
1
x
2
+ 4x
3
v
x
1
+x
2
+x
3
= 1
x
1
, x
2
, x
3
0,
sau daca se noteaza X
i
= x
i
/v pentru i = 1, 2, 3 obt inem problema de programare
liniara:
_

_
min(X
1
+X
2
+X
3
)
5X
1
+ 3X
2
1
2X
1
+ 2X
3
1
X
1
X
2
+ 4X
3
1
X
1
, X
2
, X
3
0.
Similar, problema de programare liniara corespunzatoare jucatorului B este:
APLICAT II 38
_

_
max(Y
1
+Y
2
+Y
3
)
5Y
1
+ 2Y
2
+Y
3
1
3Y
1
Y
2
1
2Y
2
+ 4Y
3
1
Y
1
, Y
2
, Y
3
0.
Cele doua probleme de programare liniara sunt duale una alteia. Rezolvarea
acestora se poate face cu ajutorul algoritmului simplex primal sau dual. Pentru
rezolvarea cu ajutorul programului MAPLE a acestora sintaxa este pentru jucatorul
A (maximizant):
> with(simplex) :
> minimize(x +y +z, 5 x + 3 y >= 1, 2 x + 2 z >= 1,
x y + 4 z >= 1, NONNEGATIV E);
Solut ia este: x = 0, y = 1/3, z = 1/2.
iar respectiv pentru jucatorul B (minimizant):
> maximize(x +y +z, 5 x + 2 y +z <= 1, 3 x z <= 1,
2 y + 4 z <= 1, NONNEGATIV E);
Solut ia este: x = 1/3, y = 1/2, z = 0.
Deci strategia optima pentru jucatorul A se determina din:
X
1
= 0, X
2
=
1
3
, X
3
=
1
2
,
iar strategia optima a jucatorului B se determina din:
Y
1
=
1
3
, Y
2
=
1
2
, Y
3
= 0.
Valoarea jocului este v = 6/5 iar strategiile optime sunt pentru A:
x
1
= 0, x
2
=
2
5
, x
3
=
3
5
,
respectiv pentru B :
y
1
=
2
5
, y
2
=
3
5
, y
3
= 0.
x
1
= 0 se explica prin faptul ca strategia a
1
a
3
(n matricea redusa Q), poate
eliminata din joc de catre A.
Exercit iul 3.6.2. O rma A doreste sa se lanseze pe piat a. Cercetarile efectuate
n acest sens stabilesc ca daca pret urile variaza n raport cu cele ale concurent ei B,
atunci se obt in rezultatele din tabelul 4.2:
APLICAT II 39
TABELUL 4.2
A/B 5% 0% +5%
5% 2 4 4
0% 1 0 3
+5% 3 2 0
Ce strategie mixta va adopta rma An fat a concurent ei?
Exercit iul 3.6.3. Se considera jocul n forma matriceala:
TABELUL 4.3
A/B b
1
b
2
b
3
b
4
b
5
a
1
3 5 4 2
a
2
2 3 0
a
3
4 0 3
a
4
5 0 3 2 4
Matricea jocului este alcatuita n raport cu jucatorul A (maximizant), iar este
un parametru real strict pozitiv.
i) Sa se calculeze valoarea inferioara si valoarea superioara a jocului.
ii) Are jocul punct sa?
iii) Aat i strategiile mixte optime ale celor doi jucatori.
Exercit iul 3.6.4. Se considera jocul de doua persoane n forma matriceala:
TABELUL 4.4
A/B b
1
b
2
b
3
a
1
0
a
2
0
a
3
0
Matricea jocului este alcatuita n raport cu jucatorul A, (maximizant) iar si
sunt parametri reali strict pozitivi.
i) Sa se calculeze valoarea inferioara si valoarea superioara a jocului.
ii) Are jocul punct sa?
iii) Aat i strategiile mixte optime ale celor doi jucatori.
APLICAT II 40
Exercit iul 3.6.5. Sa se determine o pereche de strategii optime si valoarea
urmatorului joc matriceal:
_
_
_
3 6 1 4
5 2 4 2
1 4 3 5
_
_
_.
Raspuns. Se va scrie problema de optimizare pentru primul jucator si se rezolva
aceasta. Valoarea jocului va 13/4.
Exercit iul 3.6.6. Se considera jocul n forma matriceala (n raport cu jucatorul
A):
TABELUL 4.5
A/B b
1
b
2
b
3
b
4
a
1
2 3 0 1
a
2
1 2 4 3
a
3
0 2 3 2
a
4
2 3 0 1
i) Sa se determine valoarea inferioara si valoarea superioara a jocului.
ii) Determinat i, daca exista, punctul sa al jocului.
iii) Sa se determine strategiile mixte ale celor doi jucatori.
Raspuns. Valoarea inferioara a jocului este 1, iar valoarea superioara este 2.
Valoarea jocului este 8/5.
Exercit iul 3.6.7. Folosind criteriul minimax, sa se rezolve un joc matriceal de
ordinul 3 3 a carui matrice este:
C =
_
_
_
1 3 3
2 0 3
2 1 0
_
_
_.
Specicat i si valorile inferioara si superioara a jocului. Cum se modica aceste
strategii daca ultima linie a matricei C se nmult este cu ? Pentru ce valoare a lui
jocul are punct sa?
Raspuns. Valoarea inferioara a jocului este:
= max
i
min
j
q
ij
= 0,
APLICAT II 41
si valoarea superioara a jocului este:
= min
j
max
i
q
ij
= 2.
Strategia optima (mixta) a primului jucator este unica si este egala cu:
x
1
=
1
3
, x
2
=
2
3
, x
3
= 0.
Valoarea jocului (aceasta este unica) este egala cu v = 1.
Strategia optima a celui de-al doilea jucator nu este unica. O strategie optima
este spre exemplu:
y
1
=
1
5
, y
2
=
3
5
, y
3
=
1
5
,
o alta strategie optima este:
y
1
= 0, y
2
=
2
3
, y
3
=
1
3
.
Capitolul 4
TEORIA DECIZIILOR
STATISTICE
4.1. Prezentarea problemelor
Situat iile reale necesita adoptarea unor decizii ce trebuie determinate utilizand
diverse criterii. Spre deosebire de statistica matematica clasica, care se ocupa de
dezvoltarea unor teorii si tehnici de inferent a asupra parametrului , utilizand numai
informat ia de select ie, teoria deciziilor statistice combina informat ia de select ie cu
alte doua aspecte importante legate de consecint ele posibile ale adoptarii unei decizii
si de informat ia a priori cu privire la parametrul .
Cunoasterea consecint elor posibile ale adoptarii diferitelor decizii presupune o
exprimare cantitativa a castigului sau pierderii produse pentru ecare decizie posi-
bila si pentru diferitele valori posibile ale parametrului . Funct ia astfel obt inuta, ce
depinde de decizia adoptata si de parametrul , apare n literatura de specialitate
sub diferite denumiri ca funct ie castig sau funct ie utilitate.
Informat ia a priori cu privire la parametrul se obt ine din alte surse decat cele de
natura statistica ce implica problema de decizie respectiva. Este o informat ie care se
obt ine dintr-o experient a trecuta cu privire la situat ii similare ce implica parametrul
. Aceasta informat ie a priori este cuanticata printr-o distribut ie de probabilitate
cu privire la parametrul . Problema existent ei acestei distribut ii este o problema
destul de discutata. Abordarea teoriei deciziilor prin intermediul unei distribut ii a
priori corespunde abordarii bayesiane. Problemele legate de teoria deciziilor pot
ncadrate n cadrul teoriei jocurilor ceea ce justica prezentarea acestui capitol dupa
capitolul corespunzator teoriei jocurilor. Decidentul poate avea sau nu posibilitatea
efectuarii unor experient e a priori luarii deciziei: avem de a face cu decizii fara
experient a a priori, decizii cu experient a unica (sau decizii cu volum de esantionaj
42
STRATEGII BAYES SI STRATEGII MINIMAX 43
dat, n care decizia se ia dupa efectuarea tuturor observat iilor) si decizii secvent iale
(pe baza observat iei se poate decide efectuarea unei noi observat ii sau luarea unei
decizii corespunzatoare). Astfel paragrafele 5.2 si 5.3 ale acestui capitol abordeaza
strategiile de luare a deciziilor n situat iile n care nu avem experient e a priori,
respectiv situat ia unei experient e de volum xat. Deciziile se pot lua n condit ii
de risc (dispunem de informat ie a priori cu privire la starea parametrului ) sau
n condit ii de incertitudine. Astfel paragraful 5.4 prezinta o serie de criterii pentru
alegerea deciziilor optime n caz de incertitudine.
4.2. Strategii Bayes si strategii minimax
Pentru a xa ideile sa presupunem ca mult imea parametrilor de stare (necunos-
cuta) este nita =
1
, . . . ,
m
. Sa presupunem ca avem o informat ie a priori
despre data de distribut ia de probabilitate a priori (). Aceasta distribut ie se
numeste strategie mixta. Sa presupunem ca avem mult imea strategiilor pure:
A = a
1
, ..., a
n
.
Sa notam prin L(, a) valoarea funct iei de pierdere:
L : A R
+
,
care este pierderea obt inuta daca se adopta decizia a si starea parametrului este .
Pierderea medie este denita ca:
L(, a) = M[L(, a)] =

L(, a)(), pentru orice a A.


Numim strategie Bayes act iunea cea mai favorabila a

care minimizeaza pierderea


medie, adica a

pentru care:
L(, a

) = min
aA
L(, a).
Numim strategie minimax act iunea cea mai favorabila a

care minimizeaza pier-


derea maxima, adica a

pentru care:
max

L(, a

) = min
aA
max

L(, a).
Daca nu ne limitam numai la strategiile pure, atunci vom folosi o combinat ie
de strategii pure alese dupa o lege de probabilitate. Aceasta strategie se numeste
strategie mixta.
CAZUL EFECTU

ARII UNOR EXPERIENT E UNICE 44


Fie (a) = ((a
1
), ..., (a
m
)) distribut ia de probabilitate care deneste probabili-
tatea cu care se folosesc strategiile pure a
1
, ..., a
m
.

In general, dispunem de o mult ime


de strategii mixte:
H =
1
(a), ...,
p
(a).
Atunci pierderile medii sunt date de:
L(, ) = M
,a
(L(, a)) =

aA
L(, a)()(a).

In acest caz trebuie gasita acea strategie mixta

H pentru care pierderile


medii sa e minime:
L(,

) = min
H
L(, ),
sau acea strategie mixta

H pentru care pierderile maxime sa e minime:


max

L(,

) = min
H
max

L(, ).
4.3. Cazul efectuarii unor experient e unice
Sa presupunem ca decidentul, pentru a-si largi cunostint ele despre starile naturii,
opteaza pentru efectuarea unei experient e unice (de exemplu, pentru a estima inu-
ent a unui anumit tip de medicament asupra unei categorii de pacient i, se poate face
o experient a unica ce consta n masurarea zilnica, timp de mai multe luni, a unei
concentrat ii, dintr-un anumit tip de compus proteic, pentru m pacient i din categoria
respectiva).
Fie Z spat iul rezultatelor z
1
, ..., z
l
ale experient ei. Fiecarui rezultat z Z obt inut
cand starea i corespunde o probabilitate determinata de p(z[), care satisface
relat iile:
_
_
_
p(z[) 0, pentru orice z Z

zZ
p(z[) = 1.
Denit ia 4.3.1. Tripletul format din spat iul rezultatelor experient ei Z, spa-
t iul starilor naturii si distribut ia condit ionata p(z[) denita pe Z pentru ecare
, se numeste spat iu de esantionaj. Vom nota acest lucru cu c = (Z, , p).
Denit ia 4.3.2. Se numeste funct ie de decizie funct ia d : Z A, si asociaza
ecarui rezultat z
k
Z o act iune a
j
A, j = 1, n.
CAZUL EFECTU

ARII UNOR EXPERIENT E UNICE 45


Pierderea suferita n cazul n care starea parametrului este
i
, i = 1, m este
data de:
L(
i
, a
j
) = L(
i
, d(z
k
)) = L
z
k
(
i
, d).
Pentru un dat, rezultatul z al experient ei va o variabila aleatoare determinata de
probabilitatea condit ionata p(z[), deci si pierderile L
z
(, d) sunt variabile aleatoare
si se vor realiza cu aceeasi probabilitate.
Denit ia 4.3.3. Numim funct ie de risc funct ia : D R data de:
(, d) = M[L
z
(, d)] =

zZ
L
z
(, d)p(z[),
si reprezinta valorea medie a pierderii pe spat iul rezultatelor Z.
Se ajunge la concluzia ca spat iul deciziilor D joaca n problema strategiei n cazul
efectuarii unei experient e unice, acelasi rol ca spat iul A n problema strategiei fara
experient e. Deci metodele de rezolvare ale celor doua tipuri de probleme vor
asemanatoare.
Se pot aborda strategii mixte (d) denite pe spat iul D. Funct ia de risc este n
acest caz:
(, ) = M[(, d)] =

dD
(, d)(d)
=

dD

zZ
L
z
(, d)p(z[)(d).
Principul minimax consta din alegerea acelei strategii

(d) pentru care riscul


mediu este cel mai mic, n cazul n care starea parametrului este cea mai defavo-
rabila. Strategia

(d) se alege astfel ncat:


(,

) = min

max

(, ),
iar valoarea corespuzatore a riscului se numeste risc minimax.
Principul lui Bayes minimizeaza riscul mediu denit de:
(, d) =

(, d)().
Strategia pura d

se alege astfel ncat:


(, d

) = min
dD
(, d).
DECIZII OPTIME N CAZ DE INCERTITUDINE 46
4.4. Decizii optime n caz de incertitudine
Pana n acest punct au fost tratate procesele de decizii n condit ii de risc, ceea
ce reprezinta faptul ca sunt cunoscute (sau se pot determina) probabilitat ile cores-
punzatoare parametrului .

In continuare ne vom ocupa de procesele de decizie desfasurate n condit ii de


incertitudine, deci cand nu se cunosc probabilitat ile corespunzatoare lui . Faptul
ca atitudinea fat a de decizie este subiectiva face ca n teoria deciziilor sa nu existe
criterii universal valabile. Vom prezenta cateva criterii de alegere a deciziei n caz de
incertitudine, precizand ca aplicarea lor poate duce la rezultate diferite. Un mod de
a alege o decizie ar putea acela al alegerii strategiei indicate ca rezultat al aplicarii
mai multor criterii.
Sa consideram situat ia n care dispunem de m strategii pure a
1
, . . . , a
m
, iar para-
metrul are n stari posibile
1
, . . . ,
m
. Elementul q
ij
va reprezenta castigul realizat
daca se adopta act iunea a
i
si starea parametrului este
j
, i = 1, m, j = 1, n.
4.4.1. Criteriul lui Hurwicz
Criteriul lui Hurwicz sau criteriul optimismului alege ca strategie optima acea
act iune a
i
care corespune la:
max
i
[Q
i
+ (1 )q
i
],
unde [0, 1] se numeste optimismul decidentului, iar q
i
= = min
j
q
ij
si Q
i
= max
j
q
ij
.
4.4.2. Criteriul lui Savage
Criteriul lui Savage sau criteriul regretelor alege ca strategie optima acea act iune
a
i
care corespune la:
min
j
max
i
b
ij
= max
i
min
j
b
ij
,
(daca nu se poate alege o strategie pura, adica matricea nu are punct sa, se va deter-
mina o strategie mixta optima), unde matricea regretelor (diferent a dintre castigul
realizat prin luarea unei decizii fara a cunoaste starea naturii si cel realizat daca se
cunosteau aceste stari) este denita ca:
b
ij
= max
k
q
kj
q
ij
, i = 1, m, j = 1, n.
APLICAT II 47
4.4.3. Criteriul Bayes-Laplace
Criteriul lui Bayes-Laplace alege ca strategie optima acea act iune a
i
care core-
spunde la:
max
i
[
1
n
n

j=1
q
ij
],
adica se presupune ca toate starile naturii au aceeasi probabilitate.
4.4.4. Criteriul lui Wald
Criteriul lui Wald alege, daca jocul are punct sa, ca strategie optima acea act iune
a
i
care corespune la principiul minimax. Daca jocul nu are punct sa, atunci se
determina strategia mixta optima cu probabilitat ile x
1
, ..., x
m
care maximizeaza:
min
j
[
m

i=1
q
ij
x
i
].
4.5. Aplicat ii
Exercit iul 4.5.1. O linie de fabricare a cimentului poate folosi ca materie prima
trei tipuri de nisip ai carui parametri sunt
1
,
2
, respectiv
3
. Se stie ca linia tehno-
logica poate folosi n medie 60% din primul tip, 30% din al doilea tip si 10% din
al treilea tip si ca poate funct iona n trei regimuri a
1
, a
2
si a
3
. Pierderile reectand
calitatea sunt date n tabelul 5.1.
TABELUL 5.1
() a
1
a
2
a
3

1
0, 6 0 2

2
0, 3 0, 5 2 1

3
0, 1 1 3
Sa se calculeze pierderile medii corespunzatoare repartit iei a priori. Care este
strategia optima n sensul lui Bayes?
Raspuns. Pierderile medii corespunzatoare probabilitat ii a priori sunt:
L(, a
1
) = 0 0, 6 + 0, 5 0, 3 + 1 0, 1 = 0, 25
L(, a
2
) = 0, 6 + 2 0, 3 + 0, 1 = 1, 3
APLICAT II 48
L(, a
3
) = 2 0, 6 + 1 0, 3 + 3 0, 1 = 1, 8.
Strategia Bayes este acea act iune care minimizeza pierderea medie adica strategia
a
1
daca
5
26
sau strategia a
2
daca
5
26
.
Remarcam ca pentru =
5
26
avem doua strategii optime si anume a
1
si a
2
.
Exercit iul 4.5.2. Aceeasi problema ca la 5.5.1. ca de aceasta data dispunem
de o strategie mixta cu frecvent ele 20%, 30%, respectiv 50%.
Exercit iul 4.5.3. Se considera jocul contra naturii n forma matriceala:
TABELUL 5.2
A/B
1

2

3

4

5
a
1
3 5 4 2 1
a
2
2 3 1 0 1
a
3
4 1 1 0 3
a
4
5 0 3 2 4
Matricea jocului este alcatuita n raport cu jucatorul statistician A (maximizant)
si reprezinta castigurile realizate de acesta.
Sa se aplice criteriile lui Hurwicz, Savage, Bayes si Wald pentru alegerea deciziei
optime.
Raspuns. i) Pentru aplicarea criteriului lui Hurwicz:
TABELUL 5.3

1

2

3

4

5
Q
i
q
i
Q
i
+ (1 )q
i
a
1
3 5 4 2 1 4 5 9 5
a
2
2 3 1 0 1 3 1 4 1
a
3
4 1 1 0 3 4 1 5 1
a
4
5 0 3 2 4 5 0 5
determinam:
max
i
[Q
i
+ (1 )q
i
] = 5
unde [0, 1]. Deci strategia optima este a
4
.
ii) Pentru aplicarea criteriului lui Savage se determina matricea regretelor:
APLICAT II 49
TABELUL 5.4
(b
ij
)
1

2

3

4

5
min
j
b
ij
a
1
2 8 0 0 3 0
a
2
3 0 3 2 5 0
a
3
1 4 3 2 1 1
a
4
0 3 1 0 0 0
max
i
b
ij
3 8 3 2 5 51
Se observa faptul ca jocul nu are punct sa si deci vom determina strategia mixta
cu ajutorul algoritmului simplex primal sau dual. Solut ia problemei atasate se poate
rezolva cu ajutorul programului MAPLE, iar sintaxa pentru aceasta este:
> with(simplex) :
> minimize(x + y + z + w, 2 x + 3 y + z >= 1, 8 x + 4 z + 3 w >=
1, 3 y + 3 z >= 1,
2 y + 2 z >= 1, 3 x + 5 y +z >= 1, NONNEGATIV E);
solut ia problemei ind x = 0, y = 1/4, z = 1/4, w = 0. Aceasta conduce la
strategia mixta optima:
x
1
= 0, x
2
=
1
2
, x
3
=
1
2
, x
4
= 0.
iii) Pentru aplicarea criteriului lui Bayes-Laplace vom considera echiprobabile
starile
i
:
TABELUL 5.5

1

2

3

4

5
1
n
n

j=1
q
ij
a
1
3 5 4 2 1 1
a
2
2 3 1 0 1 1
a
3
4 1 1 0 3 7/5
a
4
5 0 3 2 4 14/5
deci statisticianul va alege strategia a
4
deoarece aceasta maximizeaza:
1
n
n

j=1
q
ij
.
iv) Pentru aplicarea criteriului lui Wald, deoarece jocul nu are punct sa statisti-
cianul va alege o strategie mixta cu probabilitat ile x
1
, ..., x
m
care maximizeaza:
min
j
[
m

i=1
q
ij
x
i
].
APLICAT II 50
Strategia optima se determina cu ajutorul algoritmului simplex. Sintaxa MAPLE
pentru rezolvarea problemei de programare liniara atasata jocului este:
> with(simplex) :
> minimize(x+y +z +w, 2x+2y +4z +5w >= 1, 5x+3y z >= 1,
4 x + y + z + 3 w >= 1, 2 x + 2 w >= 1, x y + 3 z + 4 w >=
1, NONNEGATIV E);
iar solut ia acesteia este x = 0, y = 2/5, z = 0, w = 3/5. Aceasta conduce la
strategia optima:
x
1
= 0, x
2
=
2
5
, x
3
= 0, x
4
=
3
5
,
valoarea x
3
= 0 se explica prin faptul ca strategia a
3
a
4
.
Exercit iul 4.5.4. Se considera jocul contra naturii n forma matriceala:
TABELUL 5.6
A/B
1

2

3

4

5
a
1
3 5 4 2 1
a
2
2 3 1 0 1
a
3
4 1 1 0 3
a
4
5 0 3 2 4
Matricea jocului este alcatuita n raport cu jucatorul statistician A (maximizant)
si reprezinta castigurile realizate de acesta. Dispunem de urmatorea distribut ie a
priori asupra parametrului :(0, 2; 0, 1; 0, 1; 0, 1; 0, 6). Care sunt pierderile medii
corespunzatoare distribut iei a priori? Care este act iunea optima Bayes corespunza-
toare?
Capitolul 5
TEORIA GRAFURILOR
5.1. Grafuri orientate
Acest capitol este dedicat n special prezentarii unor not iuni elementare de teoria
grafurilor punandu-se accentul pe algoritmii lui Ford, Bellman-Kalaba si Dijkstra de
determinare a drumurilor optime ntr-un graf.

Incepem printr-o serie de denit ii.


Denit ia 5.1.1. Un graf orientat G este o pereche G = (X, A), unde X este o
mult ime nita, iar A X X. Elementele x X se numesc noduri ale grafului G,
iar perechile (x, y) A se numesc arce ale grafului. Pentru un arc (x, y) A, varful
x se numeste extremitate init iala sau sursa, iar y, extremitate nala sau destinat ie.
Denit ia 5.1.2. Un graf neorientat va notat cu G = (X, U), unde X reprezinta
mult imea nodurilor (varfurilor) grafului, iar U mult imea muchiilor. Prin muchie se
va nt elege perechea u = i, j, i, j X . Daca i ,= j perechea i, j este egala
cu perechea j, i, iar muchiile ordonate (i, j) si (j, i) reprezinta arce distincte. O
muchie se reprezinta printr-o linie care uneste cele doua noduri si se noteaza cu
u = [i, j], i, j X.
Denit ia 5.1.3. O ruta orientata este un arc (i, j) din G si i se poate asocia o
valoare numerica v(u) sau v
ij
cu semnicat ie reala de lungime, distant a, cost etc.
Denit ia 5.1.4. Un drumntre s si t se deneste ca o succesiune de rute orien-
tate : [(s, i
1
), ..., (i
n
, t)] cu proprietatea ca (s, i
1
), ..., (i
n
, t) sunt arce n graf.
Denit ia 5.1.5. Un drum care nu trece de doua ori printr-un nod al sau se
numeste drum elementar.
51
ALGORITMUL LUI KAUFMANN 52
Drumurile elementare vor determinate n acesta lucrare. Unui drum i se
asociaza valoarea drumului v() = v
si
1
+... +v
i
n
t
. Numarul de arce prin care trece
un drum se numeste lungimea drumului. Un drum al grafului G poate dat ca
un sir de noduri, : [s, i
1
, ..., i
n
, t] unde (s, i
1
), ..., (i
n
, t) sunt rute orientate.
Se pune problema determinarii unui drum

de la s la t cu valoare minima,
adica:
v(

) = min
M(s,t)
v(),
unde M(s, t) este mult imea drumurilor n graful G de la s la t.
Avem urmatoarea teorema de invariant a la multiplicare.
Teorema 5.1.1. Fie un graf orientat G si D un drum de lungime minima ntre
doua noduri s si t. Daca valorile ecarei muchii se nmult esc cu un parametru real
strict pozitiv , atunci n noul graf G

drumul de lungime minima dintre nodurile s


si t este identic (ca succesiune a nodurilor) cu drumul de lungime minima din graful
G, iar ntre valorile L

(s, t) si L(s, t) ale celor doua drumuri exista relat ia:


L

(s, t) = L(s, t).


Nu se poate formula o regula de invariant a relativ la operat ia aditiva (valorile
ecarei muchii se aduna cu un numar real pozitiv). Gasirea unui contraexemplu se
lasa pe seama cititorului.
5.2. Algoritmul lui Kaufmann
Denit ia 5.2.1. Fie G = (X, A) un graf orientat cu mult imea nodurilor x
1
, . . . , x
n
.
Matricea A = (a
ij
) data de a
ij
= 1 daca (x
i
, x
j
) A si a
ij
= 0 daca (x
i
, x
j
) / A se
numeste matricea arcelor. Matricea D = (d
ij
) data de relat iile d
ij
= 1 daca exista
drum de la i la j si d
ij
= 0 daca nu exista drum de la i la j se numeste matricea
drumurilor.
Remarcam ca ntr-un graf avand n noduri orice drum elementar are lungimea de
cel mult n-1.
Denit ia 5.2.2. Puterea de atingere p(x
i
) a unui varf x
i
X n graful G =
(X, A) este egala cu numarul de varfuri din care se poate ajunge la x
i
, adica cu
ponderea Hamming a vectorului reprezentat de linia i a matricei D.
Sa notam prin
(k)
(x
i
) mult imea de varfuri din G la care se poate ajunge din x
i
folosind drumuri elementare formate din k arce. Avem urmatorea teorema:
ALGORITMUL LUI CHEN 53
Teorema 5.2.1. Fie G un graf avand n varfuri, atunci elementul d
ij
= = 1
daca si numai daca avem relat ia:
x
j

n1
_
k=1

(k)
(x
i
)
Problema determinarii eciente a matricei drumurilor a fost rezolvata de A. Kauf-
mann, iar algoritmul corespunzator se mai numeste si algoritmul nmult irii latine.
Pas 0. Se construieste matricea conexiunilor directe, notata prin K
(1)
n care
se trec efectiv arcele, inexistent a unui arc (0 n matricea drumurilor) ind marcata
prin .
Pas 1. Se construieste matricea destinat iilor posibile K
(0)
.
Pas 2. Se compun (nmult ire latina) matricele K
(1)
si K
(0)
: K
(1)
&K
(0)
.
Pas k. Recursiv, calculam matricea K
(k+1)
= K
(k)
&K
(0)
, care ne va da lista
drumurilor formate din k + 1 arce.
Observat ie. Regula de nmult ire latina respecta regula de nmult ire a matricilor
si n plus daca unul din elementele participante la calcul este atunci rezultatul
este si n caz contrar rezultatul compunerii consta n concatenarea simbolurilor
participante.
5.3. Algoritmul lui Chen
Denit ia 5.3.1. Un drum elementar se numeste drum hamiltonian daca trece
o singura data prin toate nodurile grafului.
Urmatoarea teorema, atribuita lui Chen, este o condit ie necesara si sucienta
pentru ca un graf fara circuite sa cont ina un drum hamiltonian.
Teorema 5.3.1. Un graf fara circuite, care are n noduri, cont ine un drum
hamiltonian, daca si numai daca avem:
n

i=1
p(x
i
) =
n(n 1)
2
.
Remarcam ca ntr-un graf fara circuite (un drumn care extremitat ile coincid se
numeste circuit), exista cel mult un drum hamiltonian.
Algoritmul de determinare a drumurilor hamiltoniene n grafuri fara circuite este
prezentat n cele ce urmeaza.
Pas 0. Pentru graful G scriem matricea drumurilor D = (d
ij
), ordonand varfurile
n ordine descrescatoare a puterii de atingere (prin aceasta operat ie, daca graful nu
ALGORITMUL LUI FORD 54
are circuite atunci toate valorile de 1 din matrice vor aparea deasupra diagonalei
principale).
Pas 1. Daca exista un indice i pentru care d
ii
= 1, atunci graful are circuite si
algoritmul se opreste, deoarece acesta nu se poate aplica.
Pas 2. Daca n matricea D exista
n(n 1)
2
valori de 1, atunci graful admite
un drum hamiltonian si se trece la pasul 3; n caz contrar graful nu are un drum
hamiltonian, iar algoritmul se opreste.
Pas 3. Ordinea varfurilor n cadrul drumului hamiltonian este data de ordinea
descrescatoare a puterilor de atingere.
Pentru grafurile care au circuite algoritmul de determinare a drumurilor hamil-
toniene este dat de algoritmul lui Kaufmann prezentat anterior. Astfel prezent a
unui element diferit de pe diagonala uneia dintre matricele K
(k)
din cadrul acestui
algoritm indica atat prezent a unui circuit hamiltonian cat si ordinea varfurilor.
5.4. Algoritmul lui Ford
Algoritmul lui Ford determina drumurile de valoare minima ntr-un graf orientat
G = (X, A) cu si fara circuite, de la un nod s la toate celelalte noduri. Fie l(u)
valoarea unui arc u A.

In particular, n cazul n care se cere, algoritmul determina drumurile de valoare


minima de la nodul s la orice alt nod t. Daca graful este neorientat sau part ial
orientat, ecarei muchii u cu extremitat ile i si j si valoarea l(u) i se asociaza doua
arce (i, j) si (j, i) cu aceeasi valoare l
ij
= l
ji
= l(u).
Fiecarui nod j i se asociaza o variabila
j
care va da valoarea cea mai mica de la
nodul s la nodul j, (
s
= 0).
Init ializare. Se ntocmeste un tabel cu toate nodurile grafului si corespunzator
cu valorile:

s
= 0,
j
= , j ,= s.
Pas 1. Pentru toate arcele (i, j) A se compara (daca are sens) diferent a
j

i
cu valoarea l
ij
:
daca
j

i
> l
ij
, atunci
j
=
i
+l
ij
,
daca
j

i
l
ij
, atunci se trece la determinarea altui arc.
Se repeta pasul 1 ntr-o noua iterat ie pana cand, pentru toate arcele (i, j) A,
se verica relat ia:

i
l
ij
,
dupa care se trece la pasul 2.
Pas 2. Drumurile de valoare minima de la nodul s la celelalte noduri se recon-
stituie din arcele (i, j) care verica relat ia cu egalitate, adica
j

i
= l
ij
. Arcele
ALGORITMUL BELLMAN-KALABA 55
care verica aceasta egalitate formeaza un graf part ial al drumurilor de lungime
minima de la nodul s la toate celelalte noduri ale grafului.
Drumurile de valoare maxima se pot obt ine cu algoritmul lui Ford init ializand

s
= 0,
j
= , j ,= s si nlocuind inegalitat ile (>, ) din pasii 1 si 2 prin (<, ),
iar cuvantul min prin max.
5.5. Algoritmul Bellman-Kalaba
Algoritmul Bellman-Kalaba este un algoritm care se aplica unui graf orientat cu
si fara circuite, cu ajutorul caruia se determina drumul minim sau drumurile minime
de la toate nodurile grafului la un nod nal t. Fie l(u) valoarea unui arc u .
Daca graful este neorientat, ecarei muchii cu extremitat ile i si j si cu valoarea l(u)
se asociaza doua arce (i, j) si (j, i) cu valori egale l
ij
= l
ji
= l(u).
Init ializare.
Se asociaza grafului G o matrice V = (v
ij
) ale carei elemente se determina astfel:
v
ij
=
_

_
l
ij
daca (i, j)
0 daca i = j
daca (i, j) / .
De asemenea, se adauga la matricea V o noua linie v
(0)
= v
(0)
i
, unde ecarui
nod i al grafului se asociaza un element v
(0)
i
, astfel:
v
(0)
i
= v
it
, i ,= t,
v
(0)
t
= 0.
Linia v
(0)
i
, conform acestor relat ii, coincide cu transpusa coloanei nodului t.
Pasul k. Se adauga la matricea V linia v
(k)
i
= v
(k)
i
. Elementele v
(k)
i
se cal-
culeaza cu relat iile:
v
(k)
i
= min
j=i
v
(k1)
i
+v
ij
, i ,= t,
v
(k)
t
= 0.
Algoritmul se opreste, ntr-o etapa, daca:
v
(k)
i
= v
(k1)
i
, pentru orice nod i.
ALGORITMUL LUI DIJKSTRA 56
Marimea v
(k)
i
reprezinta valoarea drumului minim de la varful i la nodul nal t.
Daca:
v
(k)
i
= v
(k1)
j
+v
tj
,
atunci primul arc n drumul de valoare minima de la nodul i la nodul t este arcul
(i, j). Vom nota cu:
succ
(k)
i
= j[v
(k)
i
= v
(k1)
j
+v
ij
, j ,= i
si marcam printr-o noua linie succ
(k)
la matricea V imediat dupa linia v
(k)
. Daca
v
(k)
i
= , atunci succ
(k)
i
= .
Drumul de valoare minima de la nodul i la nodul nal t este determinat numai
de nodurile marcate prin succ
(k)
, ncepand cu cele din coloana i.
Observat ii:
i) Algoritmul lui Ford determina drumurile de valoare minima (sau maxima) care
pleaca de la un nod sursa s catre toate celelalte noduri ale grafului.
ii) Algoritmul Bellman-Kalaba determina drumurile de valoare minima (sau ma-
xima) care sosesc ntr-un nod nal t de la celelalte noduri ale grafului.
5.6. Algoritmul lui Dijkstra
Ideea de baza a algoritmului lui Dijkstra este de a pleca din nodul s si de a eticheta
celelalte noduri n ordinea departarii lor, n sensul lungimii, de nodul sursa s.
Fiecarui nod j i se asociaza o variabila p(j), care n orice moment va ret ine cea
mai mica lungime a drumurilor de la s la i (p(s) = 0).
Se vor considera doua liste Lsi T. Lista L este lista nodurilor permanente (valorile
sunt xate), iar T este o lista cu noduri temporare (valorile pot modicate). Init ial,
L = s si T se compune din acele noduri j X pentru care ruta (s, j) este permisa.
Un nod i

din lista T a carui variabila p(i

) are valoarea cea mai mica se include n


lista L.

In lista T se includ apoi, toate nodurile j, care nu sunt nscrise n aceasta
lista si ruta (i, j) este permisa.
Pentru a reconstrui drumurile de lungime minima de la s la toate nodurile ce pot
atinse din s, folosind rute orientate permise ale grafului, se introduce pentru ecare
nod j ,= s din graf un indicator pred(j), care va ret ine n orice moment ultimul nod
dinaintea lui j, pe drumul de la s la j care a fost gasit a avea cea mai scurta lungime
pana n acel moment (pred(s) = 0).
Algoritmul lucreaza ntr-un tabel cu coloanele: iterat ia, lista L, nodul j, variabila
p(j) si indicatorul pred(j). Faptul ca un nod j este inclus n lista permanenta L,
se marcheaza prin n stanga tabelului (coloana L), n dreptul nodului j.

In orice
moment, nodurile din tabel fara marcajul apart in listei temporare T.
ARBORI MINIMALI 57

In stanga tabelului se precizeaza iterat ia n care nodul respectiv este permanen-


tizat n lista L, prin marcarea cu .
Init ialiazare. Tabelul cont ine nodul s marcat cu si acele noduri j pentru care
ruta orientata (s, j) este permisa. Corespunzator p(s) = 0, p(j) = v
sj
, pred(j) = s.
Se considera marcarea nodului s ca ind iterat ia 0.
Iterat ia k.
Pasul 1. Daca n tabel lista T este vida, atunci toate nodurile sunt permanente
(marcate cu ). Graful este analizat n ntregime si algoritmul se opreste.
Pasul 2. Se alege i

T cu proprietatea:
p(i

) = min
jT
p(j).
Daca i

t algoritmul se opreste, si se determina drumul de lungime minima de


la s la t.

In caz contrar, nodul i

este transferat n lista L, prin marcarea cu si


astfel este scos din lista T.

In lista T se nscriu toate nodurile j T cu proprietatea
ca ruta (i

, j) este permisa. Se iau p(j) = si pred(j) = .


Pasul 3. Se corecteaza valorile variabilelor corespunzatoare nodurilor j T
adiacente cu nodul i

comparand:
p(j) cu p(i

) +v
i

j
.
a) daca p(j) > p(i

) +v
i

j
, atunci p(j) = p(i

) +v
i

j
si pred(j) = i

;
b) daca p(j) = p(i

) +v
i

j
, atunci i pred(j);
c) daca p(j) < p(i

) +v
i

j
, atunci se trece la examinarea unui nod din lista T.
Dupa epuizarea listei T se reia pasul 1 n cadrul urmatoarei iterat ii. Dupa oprirea
algoritmului si atingerea nodului t (n pasul 2) drumul de lungime minima se recon-
stituie din aproape n aproape de la nodul t catre nodul s cu ajutorul indicatorilor
pred(j).
Daca nodul t nu este evident iat, dupa oprirea algoritmului se reconstituie, n
acelasi fel, graful drumurilor de lungime minima de la s la orice alt nod n graf.
5.7. Arbori minimali
Denit ia 5.7.1. Se numeste arbore un graf neorientat nit, conex (ntre orice
doua noduri ale sale s si t exista un drum) si fara cicluri.
Problema ce urmeaza sa o rezolvam are forma: ind dat un graf G neorientat,
conex sa se extraga din G un arbore part ial pentru care suma valorilor muchiilor
este minima.
APLICAT II 58
Vom presupune, pentru a simplica ideile, ca ntre orice doua noduri ale grafului
G exista cate o muchie, si ca toate valorile muchiilor sunt diferite doua cate doua.
Fie A = a
1
, ..., a
m
mult imea muchiilor grafului. Vom nota cu p
i
= p(a
i
) valoarea
muchiei a
i
. Vom presupune deci ca p
1
< ... < p
m
.
5.7.1. Algoritmul lui Kruskal
Pas 1. Se alege muchia a
1
de valoare minima.
Pas 2. Se alege muchia a
2
de valoare minima ramasa.
Pas 3. Se atribuie S = a
1
, a
2
.
Pas 4. Daca am acoperit toate nodurile grafului, atunci algoritmul se opreste.
Se alege muchia a
r
, de valoare minima, din A S, care nu formeaza cicluri cu
muchiile lui S.
Pas 5. Se actualizeaza S = S a
r
si goto Pas 4.
Observat ie. Daca exista n graf muchii de valori egale, atunci s-ar putea ca
problema sa admita mai multe solut ii.
5.8. Aplicat ii
Exercit iul 5.8.1. Posibilitat ile de comunicare ntre localitat ile 1-6 sunt repre-
zentate prin graful din gura 5.1, unde ecarei muchii (sau arc) i se atribuie lungimea
tronsoanelor respective. Se cere drumul de lungime minima ntre 1 si 6.
Figura 5.1: Graf orientat.
Raspuns.Pentru rezolvarea problemei vom aplica algoritmul lui Ford. Problema
se poate rezolva si cu algoritmul lui Bellman-Kalaba.
Init ializare.
1
= 0,
j
= , j ,= 1 .
APLICAT II 59
TABELUL 6.1
j
j
Init ializare Iterat ia 1 Iterat ia 2
1
1
0 0 0
2
2
2 2
3
3
8,5 5
4
4
10,8 8
5
5
7 7
6
6
13,11 11
Iterat ia 1. Pentru ecare arc (i, j) daca se verica
j

i
> l
ij
, atunci
j
=

i
+l
ij
.
(1, 2)
2

1
= > 2, atunci
2
=
1
+l
12
= 0 + 2 = 2,
(1, 3)
3

1
= > 8, atunci
3
=
1
+l
13
= 0 + 8 = 8,
(2, 1)
1

2
= 0 2 = 2 < 2,
(2, 3)
3

2
= 8 2 = 6 > l
23
= 3, atunci
3
=
2
+l
23
= 2 + 3 = 5,
(2, 4)
4

2
= > 8, atunci
4
=
2
+l
24
= 2 + 8 = 10,
(3, 1)
1

3
= 0 5 = 5 < l
31
= 8,
(3, 2)
2

3
= 2 5 = 3 < l
32
= 4,
(3, 4)
4

3
= 10 5 = 5 = l
34
= 5,
(3, 5)
5

3
= 5 = > l
35
= 2, atunci
5
=
3
+l
35
= 5 + 2 = 7,
(4, 2)
2

4
= 2 10 = 8 < l
42
= 8,
(4, 3)
3

4
= 5 10 = 5 < l
43
= 5,
(4, 5)
5

4
= 7 10 = 3 < l
45
= 3,
(4, 6)
6

4
= > l
46
, atunci
6
=
4
+l
46
= 10 + 3 = 13,
(5, 3)
3

5
= 5 7 = 2 < l
53
= 2,
(5, 4)
4

5
= 10 7 = 3 > l
54
= 1, atunci
4
=
5
+l
54
= 7 + 1 = 8,
(5, 6)
6

5
= 13 7 = 5 > l
56
= 4, atunci
6
=
5
+l
56
= 7 + 4 = 11,
Iterat ia 2. Se reia pasul 1.
(1, 2)
2

1
= 2 = l
12
,
(1, 3)
3

1
= 5 < l
13
= 8,
(2, 1)
1

2
= 2 < l
21
= 2,
(2, 3)
3

2
= 3 = l
23
,
(2, 4)
4

2
= 6 < l
24
= 8,
(3, 1)
1

3
= 5 < l
31
= 8,
(3, 2)
2

3
= 3 < l
32
= 4,
(3, 4)
4

3
= 3 < l
34
= 5,
(3, 5)
5

3
= 2 = l
35
,
(4, 2)
2

4
= 6 < l
42
= 5,
(4, 3)
3

4
= 3 < l
43
= 5,
APLICAT II 60
(4, 5)
5

4
= 1 < l
45
= 3,
(4, 6)
6

4
= 3 = l
46
,
(5, 3)
3

5
= 2 < l
53
= 2,
(5, 4)
4

5
= 1 = l
54
,
(5, 6)
6

5
= 4 = l
56
.

In aceasta iterat ie valorile variabilelor


j
nu s-au modicat. Aceasta nseamna ca
algoritmul s-a terminat, iar drumurile minime ntre 1 si 6 sunt date de arcele (i, j)
care realizeaza egalitat ile
j

i
= l
ij
. Aceste arce au fost marcate cu litere bold
n cadrul algoritmului.

In etapa a doua arcele care realizeaza aceste egalitat i sunt:
(1, 2), (2, 3), (3, 5), (4, 6), (5, 4), (5, 6).
Astfel ntre 1 si 6 am doua drumuri minime si anume:

1
: [1, 2, 3, 5, 4, 6], l(
1
) = 11,
si

2
: [1, 2, 3, 5, 6], l(
2
) = 11.
Exercit iul 5.8.2. Se considera graful din gura 5.2. Sa se determine rutele de
cost minim de la ecare nod la nodul 6.
Figura 5.2: Graf orientat.
Raspuns. Pentru rezolvarea problemei aplicam algoritmul Bellman-Kalaba.
Init ializare:
v
(0)
i
= v
i6
, i = 1, 2, 3, 4, 5
v
(0)
6
= 0.
Se scriu aceste valori n linia v
(0)
a tabelului 6.2. Deci, coloana 6 este transpusa n
linia de nceput v
(0)
.
APLICAT II 61
TABELUL 6.2
1 2 3 4 5 6
1 0 3 1 3
2 3 0 5 8
3 1 5 0 2
4 0 3 2
5 3 4 0 8
6 0
v
(0)
2 8 0
v
(1)
11 10 10 2 6 0
succ
(1)
5 4 4 6 4 -
v
(2)
9 10 8 2 6 0
succ
(2)
5 4 5 6 4 -
v
(3)
9 10 8 2 6 0
succ
(3)
3,5 4 5 6 4 -
Pasul 1. Se calculeaza elementele liniei v
(1)
.
v
(1)
1
= minv
(0)
2
+v
12
, v
(0)
3
+v
13
, v
(0)
4
+v
14
, v
(0)
5
+v
15
, v
(0)
6
+v
16

= min+ 3, + 1, 2 +, 8 + 3, 0 + = 11,
succ
(1)
1
= 5,
v
(1)
2
= minv
(0)
1
+v
21
, v
(0)
3
+v
23
, v
(0)
4
+v
24
, v
(0)
5
+v
25
, v
(0)
6
+v
26

= min+ 3, + 5, 2 + 8, 8 +, 0 + = 10,
succ
(1)
2
= 4,
v
(1)
3
= minv
(0)
1
+v
31
, v
(0)
2
+v
32
, v
(0)
4
+v
34
, v
(0)
5
+v
35
, v
(0)
6
+v
36

= min+ 1, + 5, 2 +, 2 + 8, 0 + = 10,
succ
(1)
3
= 5,
APLICAT II 62
v
(1)
4
= minv
(0)
1
+v
41
, v
(0)
2
+v
42
, v
(0)
3
+v
43
, v
(0)
5
+v
45
, v
(0)
6
+v
46

= min+, +, +, 8 + 3, 0 + 2 = 2,
succ
(1)
4
= 6,
v
(1)
5
= minv
(0)
1
+v
51
, v
(0)
2
+v
52
, v
(0)
3
+v
53
, v
(0)
4
+v
54
, v
(0)
6
+v
56

= min+ 3, +, +, 2 + 4, 0 + 8 = 6,
succ
(1)
5
= 4,
v
(1)
6
= 0.
Pasul 2. Se calculeaza elementele liniei v
(2)
.
v
(2)
1
= minv
(1)
2
+v
12
, v
(1)
3
+v
13
, v
(1)
4
+v
14
, v
(1)
5
+v
15
, v
(1)
6
+v
16

= min10 + 3, 10 + 1, 2 +, 6 + 3, 0 + = 9,
succ
(2)
1
= 5,
v
(2)
2
= minv
(1)
1
+v
21
, v
(1)
3
+v
23
, v
(1)
4
+v
24
, v
(1)
5
+v
25
, v
(1)
6
+v
26

= min11 + 3, 10 + 5, 2 + 8, 6 +, 0 + = 10,
succ
(2)
2
= 4,
v
(2)
3
= minv
(1)
1
+v
31
, v
(1)
2
+v
32
, v
(1)
4
+v
34
, v
(1)
5
+v
35
, v
(1)
6
+v
36

= min11 + 1, 10 + 5, 2 +, 6 + 2, 0 + = 8,
succ
(2)
3
= 5,
APLICAT II 63
v
(2)
4
= minv
(1)
1
+v
41
, v
(1)
2
+v
42
, v
(1)
3
+v
43
, v
(1)
5
+v
45
, v
(1)
6
+v
46

= min11 +, 10 +, 10 +, 6 + 3, 0 + 2 = 2,
succ
(2)
4
= 6,
v
(2)
5
= minv
(1)
1
+v
51
, v
(1)
2
+v
52
, v
(1)
3
+v
53
, v
(1)
4
+v
54
, v
(1)
6
+v
56

= min11 + 3, 10 +, 10 +, 2 + 4, 0 + 8 = 6,
succ
(2)
5
= 4,
v
(2)
6
= 0.
Pasul 3. Se calculeaza elementele liniei v
(3)
.
v
(3)
1
= minv
(2)
2
+v
12
, v
(2)
3
+v
13
, v
(2)
4
+v
14
, v
(2)
5
+v
15
, v
(2)
6
+v
16

= min10 + 3, 8 + 1, 2 +, 6 + 3, 0 + = 9,
succ
(3)
1
= 3, 5,
v
(3)
2
= minv
(2)
1
+v
21
, v
(2)
3
+v
23
, v
(2)
4
+v
24
, v
(2)
5
+v
25
, v
(2)
6
+v
26

= min9 + 3, 8 + 5, 2 + 8, 6 +, 0 + = 10,
succ
(3)
2
= 4,
v
(3)
3
= minv
(2)
1
+v
31
, v
(2)
2
+v
32
, v
(2)
4
+v
34
, v
(2)
5
+v
35
, v
(2)
6
+v
36

= min9 + 1, 10 + 5, 2 +, 6 + 2, 0 + = 8,
succ
(3)
3
= 5,
APLICAT II 64
v
(3)
4
= minv
(2)
1
+v
41
, v
(2)
2
+v
42
, v
(2)
3
+v
43
, v
(2)
5
+v
45
, v
(2)
6
+v
46

= min9 +, 10 +, 8 +, 6 + 3, 0 + 2 = 2,
succ
(3)
4
= 6,
v
(3)
5
= minv
(2)
1
+v
51
, v
(2)
2
+v
52
, v
(2)
3
+v
53
, v
(2)
4
+v
54
, v
(2)
6
+v
56

= min9 + 3, 10 +, 8 +, 2 + 4, 0 + 8 = 6,
succ
(3)
5
= 4,
v
(3)
6
= 0.
Se observa ca v
(2)
i
= v
(3)
i
, i = 1, ..., 6, ceea ce nseamna ca algoritmul s-a terminat.
Elementele v
(3)
i
sunt valorile minimale ale drumurilor de la ecare varf i la nodul
nal 6. Cu ajutorul liniei succ
(3)
precizam drumurile de la ecare nod i la nodul
nal 6, prin considerarea arcelor date de nodurile i si succesoarele acestora.

In cazul
nostru avem arcele: (1, 3), (1, 5), (2, 4), (3, 5), (4, 6), (5, 4). Astfel de la nodul 1 la
nodul nal 6 avem doua drumuri si anume:
1
= [1, 3, 5, 4, 6],
2
= [1, 5, 4, 6] ambele
au valoarea egala cu v
(3)
1
= = 9.
Exercit iul 5.8.3. Posibilitat ile de comunicare ntre localitat ile 1-6 sunt repre-
zentate prin graful din gura 5.3, unde ecarei muchii i se atribuie lungimea tron-
sonului respectiv. Se cere drumul de lungime minima ntre 2 si toate celelalte noduri
ale grafului precum si valoarea acestui drum.
Raspuns. Exemplu: ntre 2 si 4 exista trei drumuri minime si anume:

1
: [2, 1, 5, 3, 4], l(
1
) = 11a,

2
: [2, 1, 5, 3, 6, 4], l(
2
) = 11a,
si

3
: [2, 1, 5, 6, 4], l(
2
) = 11a.
APLICAT II 65
Figura 5.3: Graf orientat.
Exercit iul 5.8.4. Posibilitat ile de comunicare ntre localitat ile 1-4 sunt repre-
zentate prin graful din gura 5.4, unde ecarei muchii i se atribuie lungimea tron-
sonului respectiv. Se cere drumul de lungime minima ntre 1 si toate celelalte noduri
ale grafului precum si valoarea acestui drum.
Figura 5.4: Graf orientat.
Raspuns. Se aplica algoritmul lui Ford.
Init ializare.
TABELUL 6.4
j
j
Init ial Iterat ia 1
1
1
0 0
2
2
2
3
3
5
4
4
3
Iterat ia 1. Pentru ecare arc (i, j) care verica relat ia
j

i
> l
ij
reactualizam

j
=
i
+l
ij
.
APLICAT II 66
(1, 2) :
2

1
= > l
12

2
=
1
+l
12
= 2.
(1, 4) :
4

1
= > l
41

4
=
1
+l
14
= 3.
(2, 1) :
2

1
= 2 < 2.
(2, 3) :
3

2
= > l
23

3
=
2
+l
23
= 5.
(2, 4) :
4

2
= 1 < l
24
.
(3, 2) :
2

3
= 3 < l
32
.
(3, 4) :
4

3
= 2 < l
34
.
(4, 2) :
2

4
= 1 < l
42
.
(4, 3) :
3

4
= 2 < l
43
.
Iterat ia 1. Pentru ecare arc (i, j) care verica relat ia
j

i
> l
ij
reactualizam

j
=
i
+l
ij
.
(1, 2) :
2

1
= 2 = l
12
.
(1, 4) :
4

1
= 3 = l
41
.
(2, 1) :
2

1
= 2 < l
21
.
(2, 3) :
3

2
= 3 = l
23
.
(2, 4) :
4

2
= 1 = l
24
.
(3, 2) :
2

3
= 3 < l
32
.
(3, 4) :
4

3
= 2 < l
34
.
(4, 2) :
2

4
= 1 < l
42
.
(4, 3) :
3

4
= 2 < l
43
.
Drumurile de lungime minima ntre nodul 1 si celelalte noduri ale grafului se
reconstituie din gura 5.5. Drumul de lungime minima dintre nodul 1 si nodul 3
este [1, 2, 3] si are valoarea 5.
Figura 5.5: Drumurile optime ntre nodul 1 si celelalte noduri ale grafului.
Exercit iul 5.8.5. Se considera graful din gura 5.6. Numerele de pe muchii
reprezinta distant a dintre noduri. Sa se determine rutele cele mai scurte si lungimile
lor de la ecare nod la nodul 1.
APLICAT II 67
Figura 5.6: Graf orientat.
Raspuns. Se aplica algoritmul Bellman-Kalaba.

In nal rutele cele mai scurte de
la celelalte noduri ale grafului la nodul 1 se reconstituie din arcele din gura 5.7.
Figura 5.7: Reconstruct ia drumurilor optime care ajung n nodul 1.
Exercit iul 5.8.6. Pentru graful din gura 5.8 determinat i drumurile de lungime
minima ntre nodul 0 si 7. Care este valoarea minima a acestui drum?
Raspuns. Se aplica algoritmul Bellman-Kalaba sau Ford. Drumul de lungime
minima dintre nodul 0 si 7 obt inut prin ambele metode este urmatorul [0, 1, 3, 5, 7].
Valoarea minima a acestui drum este 37.
APLICAT II 68
Figura 5.8: Graf orientat.
Exercit iul 5.8.7. Se considera graful din 5.9. Sa se punan evident a urmatoarele
elemente:
i) matricea arcelor (sau matricea conexiunilor directe);
ii) matricea drumurilor;
iii) puterea de atingere a ecarui varf;
iv) daca graful are circuite;
iv) determinat i drumurile hamiltoniene din graf.
Figura 5.9: Graf orientat.
Raspuns. i) Matricea conexiunilor directe este:
A =
_
_
_
_
_
0 1 0 1
1 0 1 1
0 1 0 0
0 0 0 0
_
_
_
_
_
APLICAT II 69
ii) Matricea drumurilor este:
D =
_
_
_
_
_
1 1 1 1
1 1 1 1
1 1 1 1
0 0 0 0
_
_
_
_
_
iii) Puterile de atingere ale ecarui varf al grafului sunt: p(x
1
) = 1, p(x
2
) = 2,
p(x
3
) = 1, p(x
4
) = 2.
iv) Graful are circuite, de exemplu x
1
, x
2
, x
1
este un circuit, deci algoritmul lui
Chen nu se poate aplica.
v) Graful avand circuite, pentru determinarea drumurilor hamiltoniene vom aplica
algoritmul lui Kaufmann.
Pas 0. Matricea conexiunilor directe:
K
(1)
=
_
_
_
_
_
(x
1
, x
2
) (x
1
, x
4
)
(x
2
, x
1
) (x
2
, x
3
) (x
2
, x
4
)
(x
3
, x
2
)

_
_
_
_
_
.
Pas 1. Matricea destinat iilor posibile:
K
(0)
=
_
_
_
_
_
x
2
x
4
x
1
x
3
x
4
x
2


_
_
_
_
_
.
Pas 2. Determinam drumurile formate din doua arce din matricea:
K
(2)
= K
(1)
&K
(0)
=
_
_
_
_
_
(x
1
, x
2
, x
1
) (x
1
, x
2
, x
4
)
(x
2
, x
1
, x
2
) (x
2
, x
1
, x
4
)
(x
3
, x
2
, x
1
) (x
3
, x
2
, x
3
) (x
3
, x
2
, x
4
)

_
_
_
_
_
Pas 3. Determinam drumurile formate din trei arce cu ajutorul matricei K
(3)
=
K
(2)
&K
(0)
:
_
_
_
_
_
(x
1
, x
2
, x
1
, x
2
) (x
1
, x
2
, x
4
)
(x
2
, x
1
, x
2
, x
1
) (x
2
, x
1
, x
2
, x
3
) (x
2
, x
1
, x
2
, x
4
)
(x
3
, x
2
, x
1
, x
2
) sau (x
3
, x
2
, x
3
, x
2
) (x
3
, x
2
, x
1
, x
4
)

_
_
_
_
_
Algoritmul se opreste pentru ca drumul hamiltonian (daca exista) are lungimea
3 = nr. noduri 1. Deci drumul hamiltonian este (x
3
, x
2
, x
1
, x
4
).
APLICAT II 70
Exercit iul 5.8.8. Sa se gaseasca drumurile hamiltoniene din graful din gura
5.10.
Figura 5.10: Graf orientat.
Raspuns. Se aplica algoritmul lui Kaufmann si se obt in drumurile hamiltoniene:
_

1
= [1, 2, 3, 4, 5, 6],

2
= [2, 3, 1, 6, 5, 4],

3
= [3, 1, 2, 5, 4, 6],

4
= [3, 1, 6, 2, 5, 4],

5
= [5, 4, 6, 2, 3, 1].
Capitolul 6
PROBLEME DE TRANSPORT
6.1. Problema clasica de transport
6.1.1. Formularea problemei
Problema de transport n forma standard are forma urmatoare:
_

_
inf
m

i=1
n

j=1
c
ij
x
ij
,
n

j=1
x
ij
= a
i
, 1 i m,
m

i=1
x
ij
= b
j
, 1 j n,
x
ij
0, 1 i m, 1 j n.
(6.1)
unde:
_

_
a
i
0, 1 i m,
b
j
0, 1 j n,
m

i=1
a
i
=
n

j=1
b
j
.
(6.2)
Teorema 6.1.1. Condit ia necesara si sucienta ca sistemul de ecuat ii consid-
erat n 6.1 sa aiba solut ie nenegativa este ca relat iile 6.2 sa e ndeplinite.
71
PROBLEMA CLASIC

A DE TRANSPORT 72
6.1.2. Algoritmul de transport (adaptarea algoritmului simplex)
Fundamente teoretice
Problema de transport se poate scrie n forma matriceala:
_

_
inf c
t
x
Ax = b
x 0
Unei probleme de transport i asociem un tabel de transport care cont ine datele
numerice ale problemei de transport. Tabelul de transport 7.1 are m linii si n
coloane. Fiecare celula (i, j), 1 i m, 1 j n, a acestui tabel poate asociata
cu costul unitar c
ij
, cu necunoscuta x
ij
, cu valoarea x
ij
a variabilei x
ij
dintr-o
anumita solut ie (x
ij
) a sistemului de ecuat ii 7.1.
TABELUL 7.1
c
11
c
12
... c
1n
a
1
c
21
c
22
... c
2n
a
2
... ... ... ... ...
c
m1
c
m2
... c
mn
a
m
b
1
b
2
... b
n
Tabelul de transport mai cont ine o coloana suplimentara n care sunt trecute n
mod obisnuit cantitat ile disponibile a
i
, 1 i m, si o linie suplimentaran care sunt
trecute cererile b
j
, 1 j n.

In celula (i, j) este trecut costul unitar c


ij
; daca dorim
sa scriem si valoarea x
ij
a variabilei x
ij
, vom mpart i celula (i, j) printr-o diagonala
n doua part i si vom scrie c
ij
n partea superioara, iar x
ij
n partea inferioara.
Tabelului de transport T i asociem un graf neorientat avand drept noduri
mult imea celulelor (i, j), 1 i m, 1 j n, ale tabelui de transport T si drept
muchii mult imile formate din doua celule situate ntr-o aceeasi linie sau coloana a
lui T.

In cele ce urmeaza vom considera numai acele subgrafuri part iale ale lui
care se obt in prin unirea cu muchii a celulelor vecine, adica a celulelor situate pe
o aceeasi linie sau coloana a lui T ntre care nu exista alte celule din mult imea de
noduri ale subgrafului. Un subgraf part ial de acest tip al lui se numeste -graf.
Un -graf care este un lant (ciclu) elementar avand cel mult o muchie n ecare
linie sau coloana a tabelului de transport T va numit -lant sau -ciclu.
Algoritmul de transport
Pas 0. Se determina o solut ie de baza admisibila x
ij
(vom vedea ulterior cum
anume) corespunzatoare unei matrice B formata din m+n 1 coloane liniar inde-
pendente ale matricei A si apoi mult imea B a celulelor de baza, dupa care trecem
la pasul urmator.
PROBLEMA CLASIC

A DE TRANSPORT 73
Pas 1. Se rezolva sistemul de ecuat ii:
u
i
+v
j
= c
ij
, (i, j) B,
se obt ine o solut ie particulara (u
i
, v
j
) a acestui sistem si se calculeaza valorile z
ij

c
ij
= u
i
+v
j
c
ij
pentru (i, j) (mult imea celulelor care nu sunt n baza).
Daca z
ij
c
ij
0 pentru toate celulele (i, j) , ne oprim (STOP): solut ia de
baza x
ij
este optima.

In caz contrar se determina (s, k) cu criteriul de intrare n baza:


maxz
ij
c
ij
= z
sk
c
sk
si se trece la pasul urmator.
Pas 2. Se determina -ciclul format de (s, k) cu o parte din celulele din
B, se adopta un sens de parcurs si se numeroteaza celulele sale ncepand cu celula
(s, k). Se determina apoi celula (r, t) B cu criteriul de iesire din baza:
minx
ij
=x
rt
,
unde minimul se ian raport cu toate celulele (i, j) de rang par n -ciclul determinat
anterior. Se trece apoi la pasul urmator.
Pas 3. Se considera matricea

B
obt inuta din B prin nlocuirea coloanei a
rt
cu
coloana a
sk
. Se determina solut ia de baza admisibila

x
ij
corespunzatoare lui

B
cu
ajutorul formulelor de schimbare a bazei:

x
ij
=
_

_
x
ij
x
rt
, daca (i, j) are rang par n ciclu,
x
ij
+ x
rt
, daca (i, j) are rang impar n ciclu,
x
ij
, daca (i, j) nu apart ine ciclului.
Se trece apoi la pasul 1 nlocuind B cu

B
si solut ia x
ij
cu

x
ij
.
Observat ie. Daca la terminarea algoritmului avem z
ij
c
ij
< 0 pentru toate
celulele (i, j) , atunci solut ia problemei de transport este unica.
6.1.3. Determinarea unui program de baza init ial
Pentru a putea aplica algoritmul de transport enunt at anterior este necesar sa
dispunem de un program de baza init ial. Metoda generala de obt inere a unui pro-
gram de baza este urmatoarea. Se xeaza o celula (i, j) si se atribuie variabilei x
ij
corespunzatoare valoarea minima pe care o poate lua, adica valoarea:
x
ij
= mina
i
, b
j
.
PROBLEMA CLASIC

A DE TRANSPORT 74
Daca x
ij
= a
i
, atunci se elimina din tabelul de transport linia de rang i si se
nlocuieste b
j
prin b

j
= b
j
x
ij
. Daca x
ij
= b
j
, atunci se elimina din tabelul de
transport coloana de rang j si se nlocuieste a
i
cu a

i
= a
i
x
ij
. Daca x
ij
= a
i
= b
j
,
atunci se aplica, la alegere, unul dintre procedeele descrise anterior.

In cele trei situat ii prezentate se obt ine un tabel de transport redus, avand ecare
o linie sau o coloana mai put in decat cel init ial. Urmand procedeul descris pe
toate tabelele reduse care se obt in n continuare, se determina evident un program
al problemei de transport. Metoda generala de obt inere a unui program de baza
pentru problema de transport poate particularizata dand diverse reguli de select ie
a celulei (i, j) din tabel care se atribuie valorii x
ij
. Dintre metodele particulare de
determinare a unui program de baza init ial le ment ionam pe cele care urmeaza.
i) Metoda colt ului de nord-vest. Aceasta metoda consta n alegerea celulei (i, j)
situate n prima linie si prima coloana ale tabelelor de transport utilizate.
ii) Metoda costului minim. La ecare pas se alege celula (i, j) corespunzatoare
costului minim c
ij
din tabelele de transport utilizate.
6.1.4. Degenerare si ciclare
Ca si n cazul general al problemelor de programare liniara, degenerarea pro-
gramelor de baza poate face sa apara fenomenul de ciclare n algoritmul de transport.
Evident, o solut ie de baza a problemei de transport n forma standard este nedegen-
erata daca si numai daca numarul componentelor sale nenule este egal cu m+n1
si este degenerata n caz contrar. Pentru recunoasterea problemelor degenerate este
util urmatorul criteriu.
Propozit ie 6.1.1. O problema de transport n forma standard este degenerat a
daca si numai daca exista o mult ime de indici M 1, ..., m si o mult ime de indici
N 1, ..., n astfel ncat:

iM
a
i
=

jN
b
j.
PROBLEMA CLASIC

A DE TRANSPORT 75
6.1.5. Variante ale problemei de transport
Problema de transport cu cerere excendentara. Forma problemei de trans-
port cu cerere excedentara este urmatoarea:
_

_
inf
m

i=1
n

j=1
c
ij
x
ij
,
n

j=1
x
ij
= a
i
, 1 i m,
m

i=1
x
ij
b
j
, 1 j n,
x
ij
0, 1 i m, 1 j n.
unde:
_

_
a
i
0, 1 i m,
b
j
0, 1 j n,
m

i=1
a
i

n

j=1
b
j
.
Pentru rezolvarea acestei probleme se introduce un depozit ctiv n care disponi-
bilul de resursa este:
a
m+1
=
n

j=1
b
j

i=1
a
i
,
adica tocmai excedentul cererii totale. Costurile de transport de la depozitul m+1
pot luate nule sau egale cu penalitat ile unitare stabilite prin contracte cu bene-
ciarii pentru neonorarea cererilor, daca astfel de penalitat i exista. Problema devine
atunci o problema standard de transport, care se rezolva prin algoritmul cunoscut.
Problema de transport cu oferta excendentara. Forma problemei de trans-
port cu oferta excedentara este urmatoarea:
_

_
inf
m

i=1
n

j=1
c
ij
x
ij
,
n

j=1
x
ij
a
i
, 1 i m,
m

i=1
x
ij
= b
j
, 1 j n,
x
ij
0, 1 i m, 1 j n.
unde:
_

_
a
i
0, 1 i m,
b
j
0, 1 j n,
m

i=1
a
i

n

j=1
b
j
.
PROBLEMA CLASIC

A DE TRANSPORT 76
Pentru rezolvarea acestei probleme se introduce un consumator ctiv care are
cererea:
b
n+1
=
m

i=1
a
i

j=1
b
j
,
adica tocmai excedentul cererii totale. Costurile de transport la beneciarul n+1 pot
luate nule sau egale cu costurile de stocare la depozitele i, 1 i m. Problema
devine atunci o problema standard de transport, care se rezolva prin algoritmul
cunoscut.
Problema de transport cu capacitat i limitate. Forma problemei de trans-
port cu capacitat i limitate este urmatoarea:
_

_
inf
m

i=1
n

j=1
c
ij
x
ij
,
n

j=1
x
ij
= a
i
, 1 i m,
m

i=1
x
ij
= b
j
, 1 j n,
d
ij
x
ij
0, 1 i m, 1 j n.
unde:
_

_
a
i
0, 1 i m,
b
j
0, 1 j n,
d
ij
0, 1 i m, 1 j n,
m

i=1
a
i
=
n

j=1
b
j
.
m

i=1
a
i
b
j
, 1 j n,
n

j=1
b
j
a
i
, 1 i m.
Rezolvarea acestei probleme se poate face si cu ajutorul algoritmului simplex ce
este prezentat n subparagraful urmator. Ment ionam ca problema se poate aborda
si ca o problema de ux minim.
6.1.6. Algoritmul simplex modicat
Pentru determinarea unui program init ial se alege n mod arbitrar o celula (i, j)
si se atribuie lui x
ij
valoarea:

x
ij
= mina
i
, b
j
, d
ij
.
Daca

x
ij
= a
i
sau

x
ij
= b
j
, atunci procedam n mod obisnuit. Daca

x
ij
= = d
ij
<
mina
i
, b
j
, variabila x
ij
nu este considerata variabila de baza. Daca

x
ij
= d
ij
=
PROBLEMA CLASIC

A DE TRANSPORT 77
mina
i
, b
j
, atunci variabila x
ij
nu este considerata variabila de baza. Valorile (

x
ij
)
obt inute n acest mod nu constituie nca un program al problemei: se poate ntampla
ca unele disponibilitat i sa nu e complet epuizate, iar unele cereri sa nu e integral
satisfacute. Plecand nsa de la valorile (

x
ij
) astfel determinate, putem obt ine un
program de baza pentru problema de transport cu capacitat i limitate cu algoritmul
care urmeaza.
Sa presupunem ca exista un depozit r, 1 r m, n care a ramas neexpediata
cantitatea de resursa a

r
si beneciarii s si k, unde cererile au ramas nesatisfacute
cu cantitat ile b

s
si b

k
; evident, avem a

r
= b

s
+b

k
. Algoritmul care transforma (

x
ij
)
n programul de baza (x
ij
) este urmatorul:
Pas 1. Se adauga la linia r o celula suplimentara n care valoarea variabilei
corespunzatoare x
r0
este a

r
. Analog, se adauga la coloanele s si k cate o celula
suplimentara n care valorile variabilelor corespunzatoare x
0s
si x
0k
sunt b

s
respectiv
b

k
. Se nlocuiesc costurile unitare init iale c
ij
, 1 i m, 1 j n, cu c

ij
= 0 si se
atribuie celulelor nou introduse costuri egale cu unitatea, adica c

r0
= c

0s
= c

0k
= 1.
Pas 2. Se rezolva sistemul de ecuat ii:
_

_
u
r
= 1,
v
s
= 1,
v
k
= 1,
u
i
+v
j
= c

ij
, (i, j) B, i ,= r, j ,= s, k.
Pas 3. Se cauta cu algoritmul de transport obisnuit solut ia optima pentru
problema de la pasul 1; evident n solut ia optima vom avea:
x
r0
= x
0s
= x
0k
= 0.
Renunt am la celulele suplimentare si revenim la costurile init iale c
ij
. Solut ia astfel
obt inuta este un program de baza.
Conform rezultatului general stabilit la algoritmul simplex, testul de optimalitate
este urmatorul: programul (x

ij
) este optim daca z
ij
c
ij
0 pentru toate celulele
secundare (i, j) pentru care x

ij
= 0 si z
ij
c
ij
0 pentru toate celulele secundare
(i, j) pentru care x

ij
= d
ij.
6.1.7. Aplicat ii
Exercit iul 6.1.1. Sa se gaseasca, prin metoda colt ului de N-V si prin metoda
costului minim o solut ie de baza pentru problema de transport ale carei date sunt
prezentate n tabelul 7.2. Gasit i pentru aceaste solut ii valorile corespunzatoare ale
funct iilor obiectiv. Care solut ie este mai buna si de ce?
PROBLEMA CLASIC

A DE TRANSPORT 78
TABELUL 7.2
7 8 5 3 11
2 4 5 9 11
6 3 1 2 8
5 9 9 7
Determinam mai ntai o solut ie de baza init iala cu metoda N-V:
x
11
= min11, 5 = 5, eliminam coloana 1,
x
12
= min6, 9 = 6, eliminam linia 1,
x
22
= min11, 3 = 3, eliminam coloana 2,
x
23
= min8, 9 = 8, eliminam linia 2,
x
33
= min1, 8 = 1, eliminam coloana 3,
x
34
= min7, 7 = 7.
Valoarea funct iei obiectiv este:
7 5 + 6 8 + 3 4 + 5 8 + 1 1 + 2 7 = 150.
Determinam o solut ie de baza init iala prin metoda costului minim:
x
33
= min8, 9 = 8, eliminam lina 3,
x
21
= min11, 5 = 5, eliminam coloana 1,
x
14
= min11, 7 = 7, eliminam coloana 4,
x
22
= min6, 9 = 6, eliminam linia 2,
x
13
= min4, 1 = 1, eliminam coloana 3,
x
12
= min3, 3 = 3.
Valoarea funct iei obiectiv este:
8 3 + 5 1 + 3 7 + 2 5 + 4 6 + 1 8 = 92.
Evident solut ia de baza obt inuta prin metoda costului minim este mai buna deoarece
costul corespunzator acesteia este mai mic.
Exercit iul 6.1.2. Sa se gaseasca o solut ie de baza pentru problema de trans-
port echilibrata ale carei date sunt prezentate n tabelul 7.3. Gasit i valoarea cores-
punzatoare a funct iei obiectiv. Gasit i solut ia optima a problemei.
TABELUL 7.3
1 3 2 10
3 1 2 5
5 3 7
PROBLEMA CLASIC

A DE TRANSPORT 79
Raspuns.
PAS 0. Solut ia init iala de baza determinata prin metoda colt ului de N-V este:
x
11
= min5, 10 = 5, eliminam coloana 1,
x
12
= min3, 5 = 3, eliminam coloana 2,
x
13
= min7, 2 = 2, eliminam linia 1,
x
23
= min5, 5 = 5.
Costul aferent acestei solut ii este C = 28.
Figura 6.1: Solut ia init iala si marcarea celulelor din -ciclu.
Iterat ia 1, pas 1. i) Rezolvam sistemul (o solut ie particulara care se obt ine
setand u
1
= 0):
u
i
+v
j
= c
ij
(i, j) B,
Solut iile acestui sistem se trec pe marginea tabelului de transport (pe verticala
se trec elementele u
i
, iar pe orizontala se trec elementele v
j
).
ii) Calculam elementele:
z
ij
c
ij
= u
i
+v
j
c
ij
(i, j) ,
care se trec n colt urile din dreapta sus ale ecarei celule secundare.
iii) Calculam (criteriul de optim):
max
(i,j)R
(z
ij
c
ij
) = z
22
c
22
= 2 > 0
Criteriul de optim nu este ndeplinit, deci celula (2, 2) intra n baza.
Iterat ia 1, pas 2. Pentru a determina care celula iese din baza determinam
-ciclul format din celula (2, 2) cu o parte a celulelor din baza:
(2, 2), (2, 3)

, (1, 3), (1, 2)

, (2, 2).
Se adopta un sens de parcurs al acestui -ciclu marcandu-se cu celulele de rang
par. Condit ia de iesire din baza:
PROBLEMA CLASIC

A DE TRANSPORT 80
min

x
ij
=x
12
,
deci celula (1, 2) iese din baza.
Iterat ia 1, pas 3. Aplicand formulele de schimbare a bazei obt inem noua solut ie.
Costul corespunzator acesteia este:
C
1
= 22,
care este mai mic decat costul anterior C
0
.
Repetam pasii anteriori:
Iterat ia 2, pas 1. i) Rezolvam sistemul (o solut ie particulara care se obt ine
setand u
1
= 0):
u
i
+v
j
= c
ij
(i, j) B,
Solut iile acestui sistem se trec pe marginea tabelului de transport (pe verticala
se trec elementele u
i
, iar pe orizontala se trec elementele v
j
).
ii) Calculam elementele:
z
ij
c
ij
= u
i
+v
j
c
ij
(i, j) ,
care se trec n colt urile din dreapta sus ale ecarei celule secundare.
Figura 6.2: Solut ia nala.
iii) Calculam (criteriul de optim):
max
(i,j)R
(z
ij
c
ij
) = z
12
c
12
= 2 < 0,
solut ia este optima, iar aceasta este: x
11
= 5, x
13
= 5, x
22
= 3, x
23
= 2.
Exercit iul 6.1.3. Sa se gaseasca o solut ie de baza pentru problema de trans-
port echilibrata ale carei date sunt prezentate n tabelul 7.4. Gasit i valoarea cores-
punzatoare a funct iei obiectiv. Gasit i solut ia optima a problemei.
PROBLEMA CLASIC

A DE TRANSPORT 81
TABELUL 7.4
2 3 4 2
3 6 2 4 3
4 5 3
7 6
Raspuns. Cantitatea disponibila trebuie sa e egala cu cererea deci: 15 = 5+
de unde = 10.
Pas 0. Determinam o solut ie de baza prin metoda costului minim. Deci:
x
31
= min; 10 = , eliminam coloana 1 din tabelul de transport,
x
14
= min7; 2 = 2, eliminam linia 1 din tabelul de transport,
x
23
= min; 3 = , eliminam coloana 3 din tabelul de transport,
x
34
= min4; 9 = 4, eliminam coloana 4 din tabelul de transport,
x
32
= min7; 5 = 5, eliminam linia 3 din tabelul de transport,
x
22
= min2; 2 = 2, eliminam coloana 1 din tabelul de transport.
Costul de transport corespunzator acestei solut ii este:
C
0
= + 2 + 2 + 12 + 20 + 12 = 49.
Iterat ia 1, pas 1. i) Rezolvam sistemul (o solut ie particulara care se obt ine
setand u
1
= 0):
u
i
+v
j
= c
ij
(i, j) B,
Solut iile acestui sistem se trec pe marginea tabelului de transport (pe verticala
se trec elementele u
i
iar pe orizontala se trec elementele v
j
).
ii) Calculam elementele:
z
ij
c
ij
= u
i
+v
j
c
ij
(i, j) ,
care se trec n colt urile din dreapta sus ale ecarei celule secundare.
iii) Calculam (criteriul de optim):
max
(i,j)R
(z
ij
c
ij
) = z
24
c
24
= > 0.
Criteriul de optim nu este ndeplinit, deci celula (2, 4) intra n baza.
Iterat ia 1, pas 2. Pentru a determina care celula iese din baza determinam
-ciclul format din celula (2, 4) cu o parte a celulelor din baza:
(2, 4), (3, 4)

, (3, 2), (2, 2)

, (2, 4).
PROBLEMA CLASIC

A DE TRANSPORT 82
Figura 6.3: -ciclul format de celula (2,4) cu o parte a celulelor din baza, celulele
de rang par sunt marcate cu .
Se adopta un sens de parcurs al acestui -ciclu marcandu-se cu celulele de rang
par. Condit ia de iesire din baza:
min

x
ij
=x
24
,
deci celula (2, 2) iese din baza.
Iterat ia 1, pas 3. Aplicand formulele de schimbare a bazei obt inem noua solut ie.
Costul corespunzator acesteia este:
C
1
= 47,
care este mai mic decat costul anterior C
0
.
Repetam pasii anteriori:
Iterat ia 2, pas 1. i) Rezolvam sistemul (o solut ie particulara care se obt ine
setand u
1
= 0):
u
i
+v
j
= c
ij
(i, j) B,
Solut iile acestui sistem se trec pe marginea tabelului de transport (pe verticala
se trec elementele u
i
, iar pe orizontala se trec elementele v
j
).
ii) Calculam elementele:
z
ij
c
ij
= u
i
+v
j
c
ij
(i, j) ,
care se trec n colt urile din dreapta sus ale ecarei celule secundare.
iii) Calculam (criteriul de optim):
max
(i,j)R
(z
ij
c
ij
) = z
21
c
21
= < 0,
solut ia este optima, iar aceasta este:
PROBLEMA CLASIC

A DE TRANSPORT 83
Figura 6.4: Noua solut ie de baza. Aceasta este optima.
_

_
x
14
= 2,
x
23
= ,
x
14
= 2,
x
31
= ,
x
32
= 7,
x
34
= 2.
Costul minim va 47.
Exercit iul 6.1.4. Sa se gaseasca, prin metoda colt ului de N-V si prin metoda
costului minim, o solut ie de baza pentru problema de transport ale carei date sunt
prezentate n tabelul 7.5. Gasit i pentru aceaste solut ii valorile corespunzatoare ale
funct iilor obiectiv. Care solut ie este mai buna si de ce? Gasit i solut ia optima a
problemei.
TABELUL 7.5
8 3 5 2 10
4 1 6 7 15
1 9 4 3 25
5 10 20 15
Exercit iul 6.1.5. Sa se gaseasca o solut ie de baza pentru problema de trans-
port echilibrata ale carei date sunt prezentate n tabelul 7.6. Gasit i valoarea cores-
punzatoare a funct iei obiectiv. Gasit i solut ia optima a problemei.
TABELUL 7.6
8 3 5 2 10
4 6 7 15
9 4 3
5 10 20 15
PROBLEMA CLASIC

A DE TRANSPORT 84
Raspuns. Se determina = 25. Valoarea minima a costului este 140, iar
solut ia optima este: x
14
= 10, x
22
= 10, x
23
= 5, x
31
= 5, x
33
= = 15,
x
34
= 5.
Exercit iul 6.1.6. Sa se gaseasca o solut ie de baza pentru problema de transport
ale carei date sunt prezentate n tabelul 7.7. Costurile unitare de penalizare pentru
nesatisfacerea cererii sunt egale cu 2, iar costurile de stocare sunt nule. Gasit i
valoarea corespunzatoare a funct iei obiectiv. Gasit i solut ia optima a problemei.
TABELUL 7.7
2 3 4 1 2
3 6 2 4 3
1 4 5 3
1 7 1 6
Raspuns. Pentru < 10 problema este o problema de transport cu cerere exce-
dentara (cererea este mai mare ca oferta). Vom introduce un depozit ctiv n care
avem 10 . Noul tabel de transport va tabelul 7.8:
TABELUL 7.8
2 3 4 1 2
3 6 2 4 3
1 4 5 3
2 2 2 2 10
1 7 1 6
Noua problema de transport este echilibrata si se rezolva cu algoritmul cunoscut.
Pentru = 10 problema este o problema de transport echilibrata a carei rezolvare
se face cu ajutorul algoritmului cunoscut.
Pentru > 10 problema este o problema de transport cu oferta excedentara
(oferta este mai mare ca cererea). Vom introduce un consumator ctiv cu o cerere
de 10. Noul tabel de transport va tabelul 7.9:
TABELUL 7.9
2 3 4 1 0 2
3 6 2 4 0 3
1 4 5 3 0
1 7 1 6 10
Noua problema de transport este echilibrata si se rezolva cu algoritmul cunoscut.
PROBLEMA CLASIC

A DE TRANSPORT 85
Exercit iul 6.1.7. Pentru ce valoare a costului unitar c problema ale carei date
sunt prezentate n tabelul 7.10 are optimul egal cu 140?
TABELUL 7.10
8 3 5 2 10
4 1 c 7 15
1 9 4 3 25
5 10 20 15
FLUX MAXIM INTR-O RET EA DE TRANSPORT 86
6.2. Flux maxim intr-o ret ea de transport
6.2.1. Ret ele de transport

In acest paragraf vom reveni la problema de transport. Aceasta va abordata


din perspectiva teoriei grafurilor.
Denit ia 6.2.1. O ret ea de transport ux este un graf orientat G = = (X, )
n care ecare muchie (u, v) are o capacitate c(u, v) 0. Daca (u, v) / , atunci
c(u, v) = 0.
Fie s nodul sursa si t nodul destinat ie.
Denit ia 6.2.2. Fluxul : XX Reste o funct ie reala ce satisface urmatoarele
proprietat i:
i) restrict ii de capacitate: pentru orice u, v X, (u, v) c(u, v) (un arc care
realizeaza egalitate se numeste arc saturat);
ii) antisimetrie: pentru orice u, v X, (u, v) = (v, u);
iii) conservarea uxului: pentru orice u X s, t are loc:

vX
(u, v) = 0.
Cantitatea (u, v), poate pozitiva sau negativa si se numeste uxul de ret ea de
la u la v.
Denit ia 6.2.3. Valoarea uxului este denita ca:
[[ =

vX
(s, v)
sau, cu alte cuvinte, valoarea uxului este uxul total de la sursa.
Problema uxului maximntr-un graf G, de la un nod sursa s la un nod destinat ie
t, ntr-o ret ea de transport, consta n determinarea unui ux maxim de la s la t.
6.2.2. Algoritmul Ford-Fulkerson

In acest paragraf prezentam metoda Ford-Fulkerson de rezolvare a problemei ux-


ului maxim, respectiv a uxului minim. Este vorba mai degraba de o metoda decat
de un algoritm pentru ca suporta mai multe implementari cu timpi de rulare diferit i.
Metoda Ford-Fulkerson face apel la trei idei importante care sunt relevante pentru
multe dintre problemele de grafuri: ux compatibil, drum si taietura de capacitate
minima.
FLUX MAXIM INTR-O RET EA DE TRANSPORT 87
Algoritmul de rezolvare a problemei de ux maxim
Pas 1.

In cadrul acestei prime etape se urmareste construirea unui ux compat-
ibil. Pentru aceasta se considera drumurile nesaturate de la sursa s la destinat ia t.
Fie
i
un drum nesaturat. Fluxul propagat de-a lungul acestui drum este dat de:

i
= min
(u,v)
i
[c(u, v) (u, v)].
Vom obt ine un nou ux care satureaza cel put in un arc cu relat ia:
(u, v) =
_
(u, v) +
i
c and (u, v)
i
(u, v) cand (u, v) /
i
.
Daca ret eaua de transport cont ine rute neorientate (muchii) n identicarea aces-
tor drumuri vom avea grija ca o ruta neorientata sa nu e folosita decat ntr-un
singur sens. Astfel, odata cu identicarea unui drum se orienteaza si rutele. Pe
ecare arc se nsumeaza uxurile propagate.
Fluxul propagat n ret ea este egal cu suma uxurilor de-a lungul drumurilor
identicate:
=

i
.
Pas 2.

In cadrul etapei a doua se determina uxul de valoare maxima cu ajutorul
urmatorului procedeu de marcare:
i) se marcheaza intrarea s cu [+];
ii) daca nodul i este marcat si (i, j) cu (i, j) < c(i, j), atunci nodul j se
marcheaza cu [+i];
iii) daca nodul j este marcat si (i, j) cu (i, j) > 0, atunci nodul i se
marcheaza cu [j];
iv) daca i este un nod marcat si (i, j) este arc saturat, atunci nodul j nu se
marcheaza.
Daca se reuseste ca iesirea t sa e marcata, atunci exista un drum sau lant de
la s la t. De-a lungul acestui drum sau lant notat cu
k
se propaga un ux dat de
relat ia:

k
= min( min
(u,v)B
(c(u, v) (u, v)), min
(u,v)C
(u, v)),
k
> 0,
unde B este mult imea arcelor pe care se executa marcaj de tip ii), iar C este mult imea
arcelor pe care se executa marcaj de tip iii).
Se obt ine un nou ux mbunatat it, cu relat ia:
(u, v) =
_

_
(u, v) +
k
cand (u, v) B
(u, v)
k
cand (u, v) C
(u, v) n rest.
FLUX MAXIM INTR-O RET EA DE TRANSPORT 88
Daca nu se mai poate marca nodul de iesire t al ret elei, atunci algoritmul s-a
terminat. Suma uxurilor propagate de-a lungul drumurilor si lant urilor care unesc
nodul de intrare s cu nodul de iesire t, reprezinta uxul de valoare maximan ret eaua
de transport.
Pas 3. Se determina taietura de capacitate minima.
Fie A mult imea nodurilor nemarcate ale ret elei, conform procedeului de mar-
care din pasul 2. Mult imea arcelor (i, j) cu i / A si j A(incidente spre inte-
rior mult imii A) notata cu
A
se va numi taietura de capacitate minima n graf.
Aceasta reprezinta o granit a ntre nodurile marcate si nodurile nemarcate. Capaci-
tatea taieturii se noteaza c(
A
) si se deneste ca ind suma arcelor sale:
c(
A
) =

(u,v)A
c(u, v).
Conform teoremei Ford-Fulkerson, ntr-o ret ea de transport data, uxul de valoare
maxima este egal cu valoarea taieturii de valoare minima, adica:
max

() = min
s/ A,tA
c(
A
).
Taietura de capacitate minima reprezinta strangularea n graf. Arcele ei ind
saturate, nseamna ca pentru marirea uxului propagat trebuie marita capacitatea
unuia sau mai multor arce ale taieturii.
Observat ii:
i) Operat ia de marcare este operat ia de decizie asupra optimalitat ii.
ii) Taietura de capacitate minima are dublu rol si anume:
-verica rezultatul prin intermediul teoremei Ford-Fulkerson;
-indica locul unde trebuie umblat pentru a mari capacitatea uxului.
Algoritmul de rezolvare a problemei de ux minim
Pentru a obt ine un ux de valoare minima se induce n ret ea un ux arbitrar cu
condit ia (u, v) c(u, v), pentru ecare arc (u, v).

In vederea determinarii uxului de valoare minima se considera pentru nceput


lant urile de la nodul nal t la nodul de nceput s dupa urmatorul procedeu de
marcare:
i) nodul nal t se marcheaza cu [+t];
ii) daca j este nod marcat, (i, j) arc si (i, j) > c(i, j), atunci nodul i se marcheaza
cu [j];
iii) daca i este nod marcat si (i, j) arc, atunci nodul j se marcheaza cu [+i].
Daca se reuseste marcarea nodului de nceput s nseamna ca s-a gasit un lant
de-a lungul caruia uxul poate diminuat.
FLUX MAXIM INTR-O RET EA DE TRANSPORT 89
Daca B este mult imea arcelor din lant ul din categoria ii) si
= min
(u,v)B
[(u, v) c(u, v)],
atunci noul ux diminuat este:
(u, v) =
_

_
(u, v) + cand (u, v) B
(u, v) cand (u, v) , (u, v) / B
(u, v) n rest.
Daca nu se mai reuseste marcarea nodului denceput s, nseamna ca nu mai exista
nici un lant de-a lungul caruia uxul sa poata diminuat, deci s-a gasit uxul de
valoare minima.
6.2.3. Problema de transport ca problema de ux maxim

In acest paragraf vom vedea ca problema clasica de transport se poate modela ca


o problema de ux maxim. Pentru a xa ideile sa presupunem ca avem m centre de
aprovizionare si n centre de consum (beneciari), iar transportul se face cu ajutorul
unor sisteme limitate pe ecare direct ie d
ij
. Vom construi un graf orientat de la cele
m depozite la cei n beneciari, valoarea ecarui arc ind egala cu valoarea d
ij
, un
nod de intrare X
input
si un nod de iesire din ret ea X
output
cu legatura la ecare
din depozite respectiv beneciari, valoarea ecarui arc ind egala cu a
i
respectiv b
j
.
Problema ce urmeaza a rezolvata este o problema de ux maxim.
6.2.4. Aplicat ii
Exercit iul 6.2.1. Un proces economic dispune de o ret ea de tranport de genul
celei din gura 6.5. Capacitat ile de trasport sunt cele indicate pe gura. Care este
uxul maxim propagat n sistem ntre punctele 1 si 9? Care este uxul de la nodul
3 la 5?
Raspuns. Se propaga un ux maximn ret eaua de transport de la nodul 1 la nodul
9. Pentru aceasta se genereaza drumuri de la nodul 1 la nodul 9 (rute orientate,
n acelasi sens) care se satureaza.

In identicarea acestor drumuri vom avea grija
ca o ruta neorientata sa nu e folosita decat ntr-un singur sens. Astfel, se indica
n continuare aceste drumuri precum si uxul propagat pe ecare dintre ele. Odata
cu identicarea unui drum se orienteaza si rutele. Pe ecare arc se nsumeaza si
uxurile propagate. Obt inem deci drumurile:

1
= (1
10
2
5
6
10
8
10
9),
1
= 5.
FLUX MAXIM INTR-O RET EA DE TRANSPORT 90
Figura 6.5: Flux ntre doua noduri.

2
= (1
5
2
4
7
6
6
5
8
5
9),
2
= 4.

3
= (1
1
2
2
3
3
7
2
6
1
8
1
9),
3
= 1.

4
= (1
8
3
2
7
8
9),
4
= 2.

5
= (1
6
3
5
5
2
7
6
9),
5
= 2.

6
= (1
4
3
3
5
10
9),
6
= 3.

7
= (1
1
3
5
4
6
5
7
9),
7
= 1.

8
= (1
10
4
5
5
6
9),
8
= 5.

In acest moment, toate drumurile de la nodul 1 la nodul 9 cont in rute orientate


(g. 6.6) si ecare drum are cel put in o ruta saturata. Fluxul propagat de-a lungul
acestor drumuri este egal cu: =
8

i=1

i
= 23.

In etapa urmatoare vom aplica procedeul de marcare. Astfel, urmatoarele noduri


sunt marcate ca n gura 6.7.
Nodul nal 9 nu poate marcat, deci uxul propagat este maxim. Mult imea
nodurilor nemarcate este: A = 5, 6, 7, 8, 9, taietura de capacitate maxima cuprinde
arcele:

A
= (3, 5), (4, 5), (2, 6), (2, 7), (3, 7),
cu valoarea capacitat ii: c(
A
) = 5 + 6 + 5 + 4 + 3 = 23.
Se observa ca valoarea capacitat ii taieturii minime este egala cu valoarea maxima
a uxului, ceea ce conrma, conform teoremei Ford-Fulkerson, ca uxul este maxim.
Prin arcul [3, 5] se propaga un ux de 5 ind la capacitate maxima.
FLUX MAXIM INTR-O RET EA DE TRANSPORT 91
Figura 6.6: Rute orientate.
Figura 6.7: Marcarea nodurilor.
Sintaxa MAPLE pentru rezolvarea acestei probleme este:
> with(networks) :
> new(G) :
> addvertex(1, 2, 3, 4, 5, 6, 7, 8, 9, G) :
> addedge([1, 2, 1, 3, 1, 4, 2, 6, 2, 7, 2, 3, 3, 4,
3, 7, 3, 5, 6, 7, 6, 8, 4, 5, 5, 7, 5, 9, 7, 8, 7, 9, 8, 9]);
> weights = [10, 8, 10, 5, 4, 2, 5, 3, 5, 6, 10, 6, 2, 10, 3, 8, 10], G);
FLUX MAXIM INTR-O RET EA DE TRANSPORT 92
> flow(G, 1, 9);
Orice cantitate suplimentara de ux trebuie sa treaca prin una sau mai multe
arce ale taieturii. Sa presupunem ca se nlocuieste conducta ntre nodurile 2 si 7 de
capacitate 4 cu una de capacitate 7.
Prin aplicarea procedeului de marcare se obt ine lant ul din gura 6.8.
Figura 6.8: Lant obt inut n urma procesului de marcare.
Fluxul propagat este conform gurii 6.9. Arcele [2, 3] si [3, 4] nu sunt utilizate.
Figura 6.9: Flux propagat.
FLUX MAXIM INTR-O RET EA DE TRANSPORT 93
Observam n gura ca drumul:
= (1
4
4
5
3
2
2
2
7
4
9), = 2.
Situat ia este prezentata n gura 6.10, iar uxul propagat este egal cu 26.
Figura 6.10: Flux propagat si taietura de capacitate minima.
Noua taietura de valoare minima cuprinde arcele:
(1, 2), (3, 2), (3, 7), (3, 5), (4, 5)
si are capacitatea egala cu 26.
Exercit iul 6.2.2. Se considera ret eaua de transport din gura 6.11. Care este
uxul maxim propagat ntre nodurile 1 si 5? ( > 0 parametru real).
Raspuns. La pasul 1 se genereaza rute orientate de la nodul 1 la nodul 5 care se
satureaza.

1
: 1
40
2
15
3
22
5,
1
= min40, 15, 22 = 15;

2
: 1
25
2
8
5,
2
= min25, 8 = 8;

3
: 1
17
2
12
4
12
3
7
5,
3
= min17, 12, 12, 7 = 7;

4
: 1
18
4
18
5,
4
= min18, 18 = 18;
Fluxul este =
4

i=1

i
= 48.
Pasul 2 consta n marcarea nodurilor. Nodul nal nu se poate marca, deci uxul
este maxim (g.6.12).
FLUX MAXIM INTR-O RET EA DE TRANSPORT 94
Figura 6.11: Fluxul propagat. Este pusa n evident a taietura de capacitate minima.
Figura 6.12: Nodul nal 5 nu poate marcat, deci uxul nu este maxim.
Mult imea nodurilor nemarcate este: A = 5.
Taietura de capacitate maxima este:
A
= (4, 5), (2, 5), (3, 5), iar capacitatea
acesteia este c(
A
) = 48 ceea ce conrma, conform teoremei Ford-Fulkerson, ca
uxul este maxim. Pentru a mari uxul trebuie marita capacitatea unuia sau a mai
multor arce ale taieturii de capacitate minima.
FLUX MAXIM INTR-O RET EA DE TRANSPORT 95
Exercit iul 6.2.3. Un anume tip de produs este disponibil n trei depozite n
cantitat ile de 30, 40 respectiv 50 t. Acesta este solicitat n doua centre de consumn
cantitat ile de 40 respectiv 80 t.

Intre sursa si destinat ie exista tronsoane directe, iar
transportul se face cu mijloace auto cu capacitat i limitate (tonaj) conform tabelului
7.11.
TABELUL 7.11
c
1
c
2
d
1
10 2
d
2
20
d
3
10 20
Sa se determine un plan optim de transport.
Raspuns. Codicam problema conform grafului din gura 6.13. Pentru aceasta
am introdus nodul d care constituie intrarea n ret ea si nodul c care constituie iesirea
din ret eaua de transport.
Figura 6.13: Codicarea problemei sub forma unei probleme de ux maxim.
Problema se rezolva cu ajutorul algoritmului Ford-Fulkerson. Se propaga un ux
maxim n ret eaua de transport de la nodul d (input) la nodul c (output). Pentru
aceasta se genereaza drumuri de la nodul d la nodul c (rute orientate, n acelasi
sens) care se satureaza.

In identicarea acestor drumuri vom avea grija ca o ruta
neorientata sa nu e folosita decat ntr-un singur sens. Astfel, se indican continuare
aceste drumuri precum si uxul propagat pe ecare dintre ele. Odata cu identicarea
unui drum se orienteaza si rutele. Pe ecare arc se nsumeaza si uxurile propagate.
Obt inem deci drumurile:
FLUX MAXIM INTR-O RET EA DE TRANSPORT 96

1
: d
30
d
1
10
c
1
40
c,
1
= min30, 10, 40 = 10,

2
: d
20
d
1
2
c
2
80
c,
2
= min20, 2, 80 = 2,

3
: d
40
d
2
20
c
1
30
c,
3
= min40, 20, 30 = 20,

4
: d
50
d
3
10
c
1
10
c,
4
= min50, 10, 10 = 10,

5
: d
40
d
3
20
c
2
78
c,
5
= min40, 20, 78 = 20.

In acest moment, toate drumurile de la nodul c la nodul d cont in rute orientate


si ecare drum are cel put in o ruta saturata. Fluxul propagat de-a lungul acestor
drumuri este egal cu:
=
5

i=1

i
= 62.

In etapa urmatoare vom aplica procedeul de marcare. Astfel, urmatoarele noduri


sunt marcate ca n gura 6.14.
Figura 6.14: Marcarea nodurilor. Nodul nal nu poate marcat deci uxul este
maxim.
Nodul nal d nu poate marcat, deci, uxul propagat este maxim. Mult imea
nodurilor nemarcate este:
A = d
1
, d
2
, d,
si taietura de capacitate maxima cuprinde arcele:

A
= (c
1
, d
1
), (c
1
, d
2
), (c
2
, d
1
), (c
3
, d
1
), (c
3
, d
2
),
cu valoarea capacitat ii:
c(
A
) = 10 + 2 + 20 + 10 + 20 = 62.
FLUX MAXIM INTR-O RET EA DE TRANSPORT 97
Se observa ca valoarea capacitat ii taieturii minime este egala cu valoarea maxima
a uxului, ceea ce conrma, conform teoremei Ford-Fulkerson, ca uxul este maxim.
(g. 6.15)
Figura 6.15: Taietura de capacitate minima si uxul propagat.
Observam ca cererea nu poate satisfacuta, deci pentru marirea capacitat ii tre-
buie marita capacitatea unuia din arcele taieturii de capacitate minima.
Exercit iul 6.2.4. Sa se scrie un program MAPLE pentru rezolvarea problemelor
de ux maxim ntr-o ret ea de transport. Vericat i rezultatul cu teorema Ford-
Fulkerson.
Raspuns. Pentru xarea ideilor vom exemplica programul pe problema 7.2.1.
Vom indica atat sintaxa MAPLE (>) cat si comentariile corespunzatoare (italic).
Se init ializeaza: lista de varfuri, lista muchiilor, lista ponderilor, nodul init ial s
si nodul nal t.
> varfuri := 1, 2, 3, 4, 5, 6, 7, 8, 9;
> muchii := [1, 2, 1, 3, 1, 4, 2, 6, 2, 7, 2, 3, 3, 4, 3, 7,
3, 5, 6, 7, 6, 8, 4, 5, 5, 7, 5, 9, 7, 8, 7, 9, 8, 9];
> ponderi := [10, 8, 10, 5, 4, 2, 5, 3, 5, 6, 10, 6, 2, 10, 3, 8, 10];
> s := 1;
> t := 9;
Se creeaza ret eaua conform init ializarilor.
> with(networks) :
> new(G) :
> addvertex(varfuri, G) :
> addedge(muchii, weights = ponderi, G);
FLUX MAXIM INTR-O RET EA DE TRANSPORT 98
Valoarea uxului maxim.
> flow(G, s, t);
Taietura de capacitate minima.
> mincut(G, s, t, vf);
Valoarea taieturii de capacitate minima trebuie sa e egal a cu valoarea uxului
maxim (Teorema Ford-Fulkerson).
> vf;
Graful G.
> draw(G);
Exercit iul 6.2.5. Pentru ce valoare a parametrului a graful din gura 6.16 ad-
mite un ux maxim ntre nodurile 1 si 3 de 40.
Figura 6.16: Problema de ux maxim ntre nodurile 1 si 3.
Raspuns. Se aplica algoritmul Ford-Fulkerson, dupa care se determina valoarea
parametrului a din ecuat ia
max
= 40.
Deci se executa urmatoarele etape:
a) se genereaza rute orientate de la nodul 1 la nodul 3:

1
: 1
2a
2
8a
5
2a
3,
1
= 2a,

2
: 1
3a
5
3a
6
a
3,
2
= a,

3
: 1
8a
6
3a
4
4a
3,
3
= 3a.
Fluxul n ret ea ind = 6a;
b) se marcheaza nodurile: 1, 2, 5, 6.
c) taietura de capacitate minima ind: (5, 3), (6, 3), (6, 4), valoarea acesteia
ind egala cu 6a, deci uxul este maxim.
Ecuat ia
max
= 40 duce la a = 20/3.
FLUX MAXIM INTR-O RET EA DE TRANSPORT 99
Exercit iul 6.2.6. Pentru datele din problema anterioara formulat i problema ca
o problema de programare liniara si rezolvat i-o prin metoda simplex.
Exercit iul 6.2.7. Pentru ret eaua de transport din gura 6.17 cu intrarea 0 si
iesirea 7 si capacitat ile scrise pe arce sa se determine:
Figura 6.17: Ret ea de transport.
i) capacitat ile taieturilor mult imilor A
1
= 1, 4, 6, 7 si A
2
= 5, 6, 7;
ii) uxul maxim care strabate ret eaua si valoarea sa;
iii) care capacitate de transport trebuie marita si cu ce valoare pentru a atinge
un ux maxim n ret ea de 30 ? Solut ia indicata este unica?
iv) care este uxul maxim n ret eua de transport daca suprimam rutele 1 4
respectiv 5 1?
Raspuns. Capacitat ile taieturilor mult imilor A
1
si A
2
sunt 50 respectiv 35. Se
aplica algoritmul Ford-Fulkerson. Fluxul maxim n ret ea va egal cu 23. Pentru
marirea uxului trebuie marite capacitat ile taieturii de capacitate minima.
Capitolul 7
TEORIA STOCURILOR
7.1. Formularea modelului matematic
Prin stoc vom nt elege n cele ce urmeaza o rezerva de bunuri materiale desti-
nate vanzarii sau folosirii lor n procesul de product ie. Constituirea unui stoc pre-
supune cheltuieli de aprovizionare, cheltuieli de stocaj, pierderi pentru deprecierea
marfurilor etc. Orice gestiune de stoc presupune intrari n stoc (inputs) si iesiri
din stoc (outputs), determinate de cererea de bunuri care poate determinista,
aleatoare cu o repartit ie cunoscuta statistic sau necunoscuta. Elementele principale
care intervin n activitatea de management al stocului sunt:
-cererea de bunuri;
-nivelul stocului;
-volumul comenzii de reaprovizionare;
-perioada de reaprovizionare;
-costul de stocare;
-costul de penalizare;
-costul de lansare al comenzii;
-alte costuri.
Deciziile care se iau n organizarea unui stoc au la baza un criteriu de optim, de-
terminat de politica economica. Vom numi politica optima acea activitate de man-
agement al stocului care implica un cost total minim. Elementele unei politici optime
sunt: nivelul optim al stocului, volumul optim al unei comenzi de reaprovizionare,
perioada optima de reaprovizionare, numarul optim de reaprovizionari, costul total
optim numit si gestiunea optima.
Modelele matematice permit stabilirea politicilor optime. Dupa natura cererii,
modelele pot deterministe sau aleatorii.

In cele ce urmeaza sunt prezentate o
serie de modele matematice consacrate din teoria stocurilor. Strategia de abordare
100
MODELE DETERMINISTE 101
a problemelor este specica problemelor de cercetare operat ionala si anume de a
codica corespunzator problema matematica ntr-o problema de optimizare.
7.2. Modele deterministe
7.2.1. Model de stocare a unui produs cu cerere constanta, pe-
rioada constanta de reaprovizionare si fara lipsa de stoc
Presupunem ca se stocheaza un produs al carui consum este o funct ie liniara
de timp, cererea produsului este Q pentru o perioada de timp , reaprovizionarea
stocului se face instantaneu la intervale de timp egale cu T si n cantitat i egale cu
q, costul unitar de stocare n unitatea de timp este c
s
, costul de lansare al comenzii
de reaprovizionare este c
l
(totalul cheltuielilor legate de operat ia de reaprovizionare
ce nu depinde de q) si nu se admite lipsa de stoc.
Figura 7.1: Model de stocare a unui produs cu cerere constanta, perioada constanta
de reaprovizionare si fara lipsa de stoc.
Pentru ecare perioada de timp T se fac cheltuielile c
l
+
1
2
qTc
s
(ntr-o perioada
T se aa n medie cantitatea q/2). Daca notam cu numarul de reaprovizionari
avem:
=
Q
q
=

T
.
Funct ia obiectiv C(q) ce trebuie minimizata este:
(c
l
+
1
2
qTc
s
) =
Q
q
c
l
+
1
2
qc
s
.
MODELE DETERMINISTE 102
Volumul optim q al unei comenzi de reaprovizionare se obt ine din condit ia de minim
pentru funct ia obiectiv C(q). Deci punand condit ia:
C

(q) = 0,
obt inem:
q =

2Qc
l
c
s
.
(C

( q) > 0 deci extremul este punct de minim).


Obt inem numarul optim de reaprovizionari:
=
Q
q
=

Qc
s
2c
l
,
perioada optima:

T =


=

2c
l
Qc
s
si gestiunea optima:

C = C( q) =
_
2Qc
s
c
l
.
7.2.2. Model de stocare a unui produs cu cerere constanta, pe-
rioada constanta de reaprovizionare si cu posibilitatea lipsei
de stoc

In acest model se admit ipotezele de la modelul anterior cu deosebirea ca se


admite si lipsa de stoc penalizata cu un cost unitar de penalizare c
p
.
Perioada constanta T este mpart ita n doua subperioade T
1
(n care se satisface
cererea si se platesc pentru stocul mediu s/2 cheltuielile de stocare c
s
) si T
2
(n care
nu se mai satisface cererea si se plateste pentru lipsa medie (q s)/2 costul unitar
de penalizare c
p
).
Pentru o perioada T = T
1
+T
2
se vor face cheltuielile:
c
l
+
s
2
T
1
c
s
+
q s
2
T
2
c
p
.
Costul global va :
C(q, s) = (c
l
+
s
2
T
1
c
s
+
q s
2
T
2
c
p
)
=
Q
q
c
l
+
s
2
T
1
c
s

T
+
q s
2
T
2
c
p

T
.
MODELE DETERMINISTE 103
Figura 7.2: Model de stocare a unui produs cu cerere constanta, perioada constanta
de reaprovizionare si cu posibilitatea lipsei de stoc.
Avem:
T
1
T
=
s
q
si
T
2
T
=
q s
q
.
De unde:
T
1
=
s
q
T
si
T
2
=
q s
q
T.
Deci nlocuind valorile lui T
1
si T
2
n formula lui C(q, s) obt inem:
C(q, s) =
Q
q
c
l
+

2q
s
2
c
s
+

2q
(q s)
2
c
p
.
Condit iile de minim pentru funct ia obiectiv sunt:
C(q, s)
q
= 0
si
C(q, s)
s
= 0.
MODELE DETERMINISTE 104
Adica:

1
q
2
Qc
l


2q
2
s
2
c
s
+

2q
2
(q
2
s
2
)c
p
= 0,

q
sc
s


q
(q s)c
p
= 0,
de unde obt inem:
q
2
=
2Qc
l
c
p
+
(c
s
+c
p
)
c
p
s
2
si
s =
c
p
c
s
+c
p
q.
Obt inem pentru valoarea optima pentru volumul comenzii:

q
2
=
2Qc
l
c
p
.
c
s
+c
p
c
p
.
Daca notam =
c
p
c
s
+c
p
(factor de penalizare), obt inem:
q =

2Qc
l
c
p
.

,
stocul optim ind:
s = q =

2Qc
l
c
p
.

.
Funct ia obiectiv C(q, s) are minimul C( q, s) (acest minim se numeste gestiunea
optima) deoarece matricea hessiana este pozitiv denita.
Numarul optim de reaprovizionari este:
=
Q
q
=

Qc
s
2c
l
.

,
perioada optima:

T =


=

2c
l
Qc
s
.

si gestiunea optima:

C = C( q, s) =
_
2Qc
s
c
l
.

.
Observat ie. Daca c
p
atunci 1 si obt inem modelul anterior.
MODELE DETERMINISTE 105
7.2.3. Model de stocare a unui produs cu cerere constanta, pe-
rioada constanta de reaprovizionare si fara lipsa de stoc,
luand n considerare si costul de achizit ie
Presupunem ca se stocheaza un produs al carui consum este o funct ie liniara
de timp, cererea produsului este Q pentru o perioada de timp , reaprovizionarea
stocului se face instantaneu la intervale de timp egale cu T si n cantitat i egale
cu q, costul unitar de achizit ie sau de product ie c
a
, costul unitar de stocare n
unitatea de timp este c
s
si se presupune proport ional cu cheltuielile facute pentru
apovizionarea cu o unitate de produs, costul x al comenzii de reaprovizionare este
c
b
(totalul cheltuielilor legate de operat ia de reaprovizionare ce nu depinde de q) si
nu se admite lipsa de stoc.
Acest model este o varianta a modelului 1 n care costul de lansare al comenzii
este:
c
l
= qc
a
+c
b
,
costul unitar de stocare:
c
s
= (c
a
+
c
b
q
).
Funct ia obiectiv devine:
C(q) =
Q
q
(qc
a
+c
b
) +
q
2
(c
a
+
c
b
q
)
=
Q
q
c
b
+
1
2
qc
a
+Qc
a
+
1
2
c
b
.
Din condit ia de optim pentru C(q) obt inem:
q =

2Qc
b
c
a
.
(C

( q) > 0 deci extremul este punct de minim).


Obt inem numarul optim de reaprovizionari:
=
Q
q
=

Qc
a
2c
b
,
perioada optima:

T =


=

2c
b
Qc
a
si gestiunea optima:

C = C( q) =
_
2Qc
a
c
b
+Qc
a
+
1
2
c
b
.
MODELE DETERMINISTE 106
7.2.4. Model de stocare a mai multor produse

In cazurile practice ne confruntam cu situat ia stocarii mai multor produse. Vom


presupune ca suntem n cazul modelului 1, deci se stocheaza k produse P
i
(i =
1, 2, . . . , k) al caror consum sunt funct ii liniare de timp, cererea produsului P
i
este
Q
i
pentru o perioada de timp , reaprovizionarea stocului se face instantaneu la
intervale de timp egale cu T
i
si n cantitat i egale cu q
i
, costul unitar de stocare n
unitatea de timp este c
s
i
, costul de lansare al comenzii de reaprovizionare este c
l
i
(totalul cheltuielilor legate de operat ia de reaprovizionare ce nu depinde de q
i
) si nu
se admite lipsa de stoc pentru nici un produs.
Costul total de stocare pentru produsul P
i
este:
C
i
(q
i
) =
Q
i
q
i
c
l
i
+
1
2
q
i
c
s
i
,
iar funct ia obiectiv pentru toate produsele stocate:
C(q
1
, . . . , q
k
) =
k

i=1
C
i
(q
i
).
Cum funct iile C
i
(q
i
) (i = 1, . . . , k) sunt independente, minimul sumei lor are loc
odata cu minimul ecareia dintre ele si deci avem echivalent a ntre relat iile:
C(q
1
, . . . , q
k
)
q
i
= 0
si
C
i
(q
i
)
q
i
= 0, i = 1, . . . , k.
Gasim pentru produsele P
i
valorile:
q
i
=

2Q
i
c
l
i
c
s
i
,
numarul de reaprovizionari:

i
=
Q
i
q
i
=

Q
i
c
si
2c
l
i
,
perioada optima:

T =


i
=

2c
l
i
Qc
s
i
MODELE PROBABILISTE 107
si gestiunea optima:

C =
k

i=1

C
i
,
unde:

C
i
= C
i
(q
i
) =
_
2Q
i
c
l
i
c
s
i
.
Rezultate similare se obt in pentru celelalte modele.
7.3. Modele probabiliste
7.3.1. Model de stocare a unui produs cu cerere aleatoare, cu
pierdere n cazul surplusului de stoc, cu cheltuieli supli-
mentare n cazul lipsei de stoc si cu cost de stocare neglijabil
Presupunem ca se stocheaza un singur produs a carui cerere este o variabila
aleatoare X cu repartit ia:
X : (x, p(x)), x = 0, 1, 2, . . .
pentru cerere discreta si:
X : (x, f(x)), x [0, ).
pentru cerere continua; excedentul de stoc, cand x s (s ind stocul), se penalizeaza
cu o pierdere unitara c
1
; lipsa de stoc, cand x > s, se penalizeaza cu cheltuieli
suplimentare de reaprovizionare unitare c
2
; cheltuielile de stocare sunt foarte mici
n raport cu c
1
si c
2
si se neglijeaza.
Cazul discret. Variabila aleatoare excedent de stoc E
s
are repartit ia:
E
s
:
_
s x
p(x)
_
, x = 0, 1, . . . , s,
cu media:
M(E
s
) =
s

x=0
(s x)p(x),
iar variabila aleatoare lipsa de stoc are repartit ia:
L
s
:
_
x s
p(x)
_
, x = s + 1, s + 2, . . .
MODELE PROBABILISTE 108
cu media:
M(L
s
) =

x=s+1
(x s)p(x).
Funct ia obiectiv a modelului matematic reprezinta cheltuielile medii totale legate
de managementul stocului, adica:
C(s) = c
1
s

x=0
(s x)p(x) +c
2

x=s+1
(x s)p(x).
Stocul optim s se obt ine din condit ia de minim pentru funct ia obiectiv C(s).
Teorema 7.3.1. (Optim pentru cazul discret). Funct ia C(s) si atinge minimul
n punctul s pentru care F( s 1) < < F( s), unde =
c
2
c
1
+c
2
, iar F(s) = Pr(x
s) =
s

x=0
p(x) este o funct ie crescatoare.
Demonstrat ie. C(s) este o funct ie discreta si s este punct de minim daca si nu-
mai daca avem C( s) < minC( s 1), C( s + 1). Aceasta dubla inegalitate permite
determinarea lui s ca solut ie a sistemului de inecuat ii:
_
C(s 1) C(s) > 0
C(s + 1) C(s) > 0.
(7.1)
Avem:
C(s + 1) = c
1
s+1

x=0
(s + 1 x)p(x) +c
2

x=s+2
(x s 1)p(x)
= c
1
s

x=0
(s + 1 x)p(x) +c
2

x=s+1
(x s 1)p(x)
= c
1
s

x=0
(s x)p(x) +c
1
s

x=0
p(x) +c
2

x=s+1
(x s)p(x)
c
2

x=s+1
p(x) = C(s) +c
1
s

x=0
p(x) c
2

x=s+1
p(x).
Notand F(s) =
s

x=0
p(x), avem:
C(s + 1) = C(s) + (c
1
+c
2
)F(s) c
2
. (7.2)
MODELE PROBABILISTE 109
Analog obt inem:
C(s 1) = c
1
s1

x=0
(s 1 x)p(x) +c
2

x=s
(x s + 1)p(x)
= c
1
s1

x=0
(s x)p(x) +c
1
s1

x=0
p(x) +c
2

x=s
(x s)p(x)
+c
2

x=s
p(x) = c
1
s

x=0
(s x)p(x) +c
2

x=s+1
(x s)p(x)
+c
1
F(s 1) +c
2
(1 F(s 1))
sau
C(s 1) = C(s) (c
1
+c
2
)F(s 1) +c
2
. (7.3)

Inlocuind 7.2 si 7.3 n 7.1 obt inem:


C(s + 1) C(s) = (c
1
+c
2
)F(s) c
2
> 0,
C(s 1) C(s) = (c
1
+c
2
)F(s 1) +c
2
> 0,
de unde:
F(s 1) <
c
2
c
1
+c
2
< F(s)
sau
F(s 1) < < F(s)
si teorema este demonstrata.
Observat ii:
i) Daca F( s 1) < < F( s) si deoarece F(s) este crescatoare atunci exista s
unic.
ii) Daca F( s 1) < = F( s) atunci C(s) are doua puncte de minim s si s + 1.
iii) Daca F( s 1) = < F( s) atunci C(s) are doua puncte de minim s 1 si s.
Cazul continuu. Variabila excedent de stoc E
s
are repartit ia:
E
s
:
_
s x
f(x)
_
, x [0, s],
cu media:
M(E
s
) =
s
_
0
(s x)f(x)dx,
MODELE PROBABILISTE 110
iar variabila aleatoare lipsa de stoc are repartit ia:
L
s
:
_
x s
f(x)
_
, x [s, ),
cu media:
M(L
s
) =

_
s
(x s)f(x)dx.
Funct ia obiectiv a modelului matematic reprezinta cheltuielile medii totale legate
de managementul stocului, adica:
C(s) = c
1
s
_
0
(s x)f(x)dx +c
2

_
s
(x s)f(x)dx.
Stocul optim s se obt ine din condit ia de minim pentru funct ia obiectiv C(s).
Teorema 7.3.2. (Optim pentru cazul continuu). Funct ia C(s) si atinge min-
imul n punctul s pentru care F( s) = , unde =
c
2
c
1
+c
2
si F(s) = =
s
_
0
f(x)dx.
Demonstrat ie.
C

(s) = c
1
s
_
0
f(x)dx c
2

_
s
f(x)dx
si din condit ia C

(s) = 0, rezulta:
c
1
F(s) c
2
(1 F(s)) = 0,
de unde:
F(s) =
c
2
c
1
+c
2
= .
Solut ia ecuat iei F(s) = o vom nota cu s si deoarece C

(s) > 0, aceasta este


punct de minim.
7.3.2. Model de stocare a unui produs cu cerere aleatoare, cu
cost de stocare si cost de penalizare pentru lipsa de stoc
Presupunem ca se stocheaza un singur produs a carui cerere este o variabila
aleatoare X cu repartit ia:
X : (x, p(x)), x = 0, 1, 2, . . .
MODELE PROBABILISTE 111
pentru cerere discreta si
X : (x, f(x)), x [0, ).
pentru cerere continua, costul unitar de stocare este c
s
, costul unitar de penalizare
pentru lipsa de stoc este c
p
, iar nivelul stocului la un moment dat este s.

In managementul acestui stoc pe o perioada T se pot ivi doua situat ii:


i) cererea nu depaseste stocul (g.7.3), deci ea este satisfacuta n toata perioada
T, adica avem x s pe perioada T;
ii) cererea este mai mare decat stocul (g.7.4), adica x > s, ceea ce face ca n
perioada T
1
cererea sa e satisfacuta, iar n perioada T
2
cererea sa nu e satisfacuta
(T
1
+T
2
= T).
Figura 7.3: Cererea nu depaseste stocul.
Prezentam cazul discret si cazul continuu.
Cazul discret. Pentru situat ia i) stocul mediu pentru care se plateste costul
unitar de stocare c
s
, este:
s

x=0
(s
x
2
)p(x).
Pentru situat ia ii) vom avea un stoc mediu:

x=s+1
s
2
p(x),
pentru care se platesc cheltuieli unitare de stocare c
s
pe perioada T
1
si o lipsa medie
MODELE PROBABILISTE 112
Figura 7.4: Cererea depaseste stocul.
de stoc (penurie medie):

x=s+1
x s
2
p(x),
penalizata cu un cost unitar de penalizare c
p
pe perioada T
2
.
Funct ia obiectiv a modelului reprezinta cheltuielile medii totale legate de man-
agementul stocului, pe perioada T, adica:
C
T
(s) = c
s
T
s

x=0
(s
x
2
)p(x) +c
s
T
1

x=s+1
s
2
p(x) +c
p
T
2

x=s+1
x s
2
p(x).
Avem:
T
1
T
=
s
x
si
T
2
T
=
x s
s
,
de unde:
T
1
=
s
x
T
si
T
2
=
x s
s
T

Inlocuind valorile lui T


1
si T
2
n formula lui C
T
(s) gasim:
MODELE PROBABILISTE 113
C
T
(s) = TC(s),
unde am notat prin C(s) cheltuielile medii totale n unitatea de timp si:
C(s) = c
s
s

x=0
(s
x
2
)p(x) +
1
2
c
s
s
2

x=s+1
p(x)
x
+
1
2
c
p

x=s+1
(x s)
2
x
p(x).
Stocul optim s se obt ine din condit ia de minim pentru funct ia C(s).
Teorema 7.3.3. (Optim pentru cazul discret). Funct ia C(s) si atinge minimul
n punctul s pentru care L( s 1) < < L( s), unde =
c
p
c
s
+c
p
si
L(s) =
s

x=0
p(x) + (s +
1
2
)

x=s+1
p(x)
x
.
Demonstrat ie. Condit ia de minim pentru funct ia discreta C(s) este
< minC( s 1), C( s + 1)
condit ie ce permite determinarea punctului de minim s ca solut ie a sistemului de
inecuat ii:
_
C(s 1) C(s) > 0
C(s + 1) C(s) > 0.
Avem:
C(s + 1) = c
s
s+1

x=0
(s + 1
x
2
)p(x) +
1
2
c
s
(s + 1)
2

x=s+2
p(x)
x
+
1
2
c
p

x=s+2
(x s 1)
2
x
p(x).
Sumele din partea a doua a egalitat ii se rescriu:
s+1

x=0
(s + 1
x
2
)p(x) =
s+1

x=0
(s
x
2
)p(x) +
s+1

x=0
p(x)
=
s

x=0
(s
x
2
)p(x) +
s

x=0
p(x) +
s + 1
2
p(s + 1),
MODELE PROBABILISTE 114

x=s+2
p(x)
x
=

x=s+1
p(x)
x

p(s + 1)
s + 1
si

x=s+2
(x s 1)
2
x
p(x) =

x=s+1
(x s 1)
2
x
p(x) =

x=s+1
(x s)
2
x
p(x)
2

x=s+1

(x s)
2
x
p(x) +

x=s+1
p(x)
x
=

x=s+1
(x s)
2
x
p(x)
2

x=s+1
p(x) + (2s + 1)

x=s+1
p(x)
x
.

Inlocuind aceste sume n formula lui C(s + 1) obt inem:


C(s + 1) = C(s) + (c
s
+c
p
)
_
_
s

x=0
p(x) + (s +
1
2
)

x=s+1
p(x)
x
_
_
c
p
sau
C(s + 1) C(s) = (c
s
+c
p
)L(s) c
p
.
Analog gasim:
C(s 1) C(s) = (c
s
+c
p
)L(s 1) +c
p
.

Inlocuind aceste relat ii n sistemul descris obt inem:


_
(c
s
+c
p
)L(s) c
p
> 0
(c
s
+c
p
)L(s 1) +c
p
> 0,
de unde rezulta ca L(s 1) < < L(s) si teorema este demonstrata. Se arata
simplu ca C

( s) > 0 si deci s, solut ia inegalitat ilor L(s 1) < < L(s) este punct
de minim. Gestiunea optima se obt ine calculand pe C( s).
Cazul continuu. Rat ionand ca la cazul discret, se obt ine pentru funct ia obiectiv
de la acest model C(s), expresia:
C(s) = c
s
s
_
0
(s
x
2
)f(x)dx +
1
2
s
2
c
s

_
s
f(x)
x
dx +
1
2
c
p

_
s
(x s)
2
x
f(x)dx.
Stocul optim s se obt ine din condit ia de minim pentru funct ia C(s).
APLICAT II 115
Teorema 7.3.4. (Optim pentru cazul continuu). Funct ia C(s) si atinge min-
imul n punctul s pentru care L(s) = , unde =
c
p
c
s
+c
p
si:
L(s) = F(s) +s

_
s
f(x)
x
dx, cu F(s) =
s
_
0
f(x)dx.
Demonstrat ie. Avem:
C

(s) = c
s
s
_
0
f(x)dx +sc
s

_
s
f(x)
x
dx c
p

_
s
(x s)
x
f(x)dx.
Ecuat ia C

(s) = 0 ne da:
F(s) +s

_
s
f(x)
x
dx =
c
p
c
s
+c
p
, sau L(s) = .
Solut ia ecuat iei L(s) = o vom nota cu s si deoarece C

( s) > 0, aceasta este punct


de minim.
7.4. Aplicat ii
Exercit iul 7.4.1. O unitate comerciala are o cerere anuala (365 zile) de 2000
t benzina. Costul de lansare al comenzii este de 150$, iar costul de stocare pe
zi este de 0,5$/t.

In ipoteza ca se admite un consum uniform, aprovizionarea se
face n cantitat i egale si ca nu se admite lipsa benzinei din stoc sa se determine:
volumul optim al unei comenzi, numarul optim de reaprovizionari, perioada optima
si gestiunea optima.
Raspuns. Modelul matematic al problemei este un model de stocare a unui produs
cu cerere constanta, perioada constanta de reaprovizionare si fara lipsa de stoc.
Datele problemei sunt:
_

_
Q = 2000 t;
= 365 zile;
c
l
= 150$;
c
s
= 0, 5$/t.
APLICAT II 116
Exercit iul 7.4.2. La un magazin se estimeaza ca cererea lunara (30 zile) pentru
un anume tip de produs este de 6000 kg. Costul zilnic de stocare pentru 10kg din
marfa respectiva este de 0,25$, costul de lansare a unei comenzi este de 0,25$/kg
lipsa.

In ipoteza ca se admite o vanzare uniforma, aprovizionarea se face n cantitat i
egale si la intervale egale de timp, sa se determine volumul optim al unei comenzi,
stocul optim, numarul optim de reaprovizionari, perioada optima si gestiunea op-
tima.
Raspuns. Modelul matematic al problemei este un model de stocare a unui produs
cu cerere constanta, perioada constanta de reaprovizionare si cu posibilitatea lipsei
de stoc.
_

_
Q = 6000 kg;
= 30 zile;
c
s
= 0, 025$;
c
p
= 0, 25$;
c
l
= 100$.
Exercit iul 7.4.3. La un magazin alimentar se vand produse lactate care au
un termen de garant ie de 3 zile. Necesarul de produse pentru 300 zile este de
250000 bucat i, pret ul de achizit ie de 0,25$, costul x de lansare al comenzii 500$,
iar coecientul de proport ionalitate de 0,015.

In ipoteza ca se admite o vanzare
uniforma, aprovizionarea se face la intervale egale si ca nu se admite lipsa de stoc,
sa se stabileasca, daca este posibil (nu se depaseste termenul de garant ie), comanda
optima, numarul optim de comenzi si gestiunea optima.
Raspuns. Modelul matematic al problemei este un model de stocare a unui produs
cu cerere constanta, perioada constanta de reaprovizionare si fara lipsa de stoc, luand
n considerare si costul de achizit ie.
_

_
= 300 zile;
Q = 250000;
c
a
= 0, 25$;
c
b
= 500$;
cu restrict ia T 3.
Exercit iul 7.4.4. Se organizeaza pe o perioda de 300 zile stocul produselor
P
1
, P
2
, P
3
, n condit iile modelului de stocare a mai multor produse. Sunt date:
APLICAT II 117
_

_
Q
1
= 400t;
Q
2
= 2500t;
Q
3
= 900t;
c
l
1
= 200$;
c
l
2
= 150$;
c
l
3
= 400$;
c
s
1
= 2$;
c
s
2
= 2$;
c
s
3
= 4$.
Sa se stabileasca elementele optime ale activitat ii de management a stocului.
Exercit iul 7.4.5. Cererea (n tone) pentru o anumita marfa este o variabila
aleatoare cu densitatea de probabilitate:
f(x) =
_
(x +) x [0, 5]
0 n rest.
Stiind ca surplusul de marfa se vinde cu o pierdere de 10$ /t, iar n cazul lipsei
de marfa se fac cheltuieli suplimentare de aprovizionare de 20$/t, sa se optimizeze
stocul. Parametrul este un numar ntreg bine precizat.
Raspuns. Determinam mai ntai valoarea din condit ia
5
_
0
(x+) = 1. Obt inem:
=
2
25 + 10
.
Funct ia de repartit ie va :
F(s) =
s
_
0
(x +)ds = (
s
2
2
+s),
iar ecuat ia
F(s) =
c
2
c
1
+c
2
devine:
2
25 + 10
(
s
2
2
+s) =
2
3
,
care este echivalenta cu:
s
2
+ 2s
10(5 + 2)
3
= 0.
Solut ia s() = +
1
3

9
2
+ 30 [0, 5] a acestei ecuat ii este stocul optim.
Gestiunea optima va C( s()).
APLICAT II 118
Exercit iul 7.4.6. Cererea (n tone) pentru o anumita marfa este o variabila
aleatoare cu densitatea de probabilitate:
f(x) =
_
(x +) x [0, 5]
0 n rest.
Stiind ca costul de stocare este de 1$/t, iar n cazul lipsei de marfa cheltuielile
de penalizare sunt de 10$/t, sa se optimizeze stocul. Parametrul este un numar
ntreg bine precizat.
Raspuns. Determinam mai ntai valoarea din condit ia
5
_
0
(x+) = 1. Obt inem:
=
2
25 + 10
.
Funct ia de repartit ie va :
F(s) =
s
_
0
(x +)ds = (
s
2
2
+s),
Ecuat ia
F(s) +s

_
0
f(x)
x
dx =
c
p
c
p
+c
s
care ne va da stocul optim va :
(
s
2
2
+s) +s

_
s
(x
2
+)
x
dx =
10
11
sau
(
s
2
2
+s) +s

_
s
(x
2
+)
x
dx =
10
11
,
ecuat ie care nu are solut ii (integrala este divergenta). Acest lucru ne arata ca nu se
poate calcula mereu un stoc optim.
Exercit iul 7.4.7.

In vederea efectuarii unor studii de marketing, o agent ie com-
erciala cumpara un calculator electronic. Calculatorul este dotat cu un numar de
circuite integrate care n caz de defectare se schimba. Se stie ca acest tip de circuite
cumparate odata cu calculatorul costa 5$ bucata, iar comanda speciala costa 10$
bucata. Datele statistice arata urmatoarea cerere de terminale (tabelul 8.1):
APLICAT II 119
TABELUL 8.1
Circuite nlocuite (x) 0 1 2 3 4
Numar calculatoare cu x circuite nlocuite 1 2 4 2 1

In ipoteza costului de stocare neglijabil, sa se determine stocul optim de circuite


integrate comandate o data cu calculatorul precum si gestiunea optima.
Raspuns. Modelul matematic corespunzator este modelul de stocare a unui pro-
dus cu cerere aleatoare, cu pierdere n cazul surplusului de stoc, cu cheltuieli supli-
mentare n cazul lipsei de stoc si cu cost de stocare neglijabil.
Exercit iul 7.4.8. Se stie ca un anumit produs are o cerere lunara aleatoare
conform cu tabelul 8.2:
TABELUL 8.2
cererea x 1 2 3 4
p(x) 0,2 0,3 0,4 0,1

In ipoteza ca se admit cheltuieli de stocare pe zi pentru o tona de 1$ si ca lipsa


de stoc este penalizata cu 3$ pe zi pentru o tona lipsa, sa se determine stocul optim.
Raspuns. Modelul matematic corespunzator este modelul de stocare a unui pro-
dus cu cerere aleatoare, cu cost de stocare si cost de penalizare pentru lipsa de stoc
(caz discret).
ANEXE
A. REPARTIT II CLASICE DE PROBABILITATE
Prezentam o serie de distribut ii clasice de probabilitate care modeleaza procesele
de defectare industriala. Aceste repartit ii se vor folosi si n procesele de testare
statistica din capitolul 9. Se vor prezenta modelele de defectare exponent ial, Gamma
si Beta.
Repartit ii clasice. Repartit iile se pot clasica n repartit ii discrete sau con-
tinue. Vom prezenta o serie de astfel de repartit ii consacrate mai ales datorita
caracterului aplicativ al acestora.
Repartit ia binomiala. Repartit ia binomiala este o generalizare a repartit iei Bernoulli
data de: Pr(X = 0) = p si Pr(X = 1) = 1 p. Deci:
Denit ia A.1. Spunem despre variabila aleatoare discreta B ca urmeaza o
repartit ie binomiala de parametri n si p daca aceasta are funct ia de frecvent e:
Pr(B = k) = C
k
n
p
k
(1 p)
nk
pentru orice k = 0, ..., n.
parametrul q este egal cu 1 p. Vom scrie acest lucru B B(n, p).
Teorema A.1. (Media si dispersia unei variabile aleatoare repartizate bino-
mial).Variabila B B(n, p) are media np si dispersia

npq.
Pentru calculul probabilitat ii unei variabile aleatoare Y B(n, p) putem folosi
aproximarea data de urmatoarea teorema.
Teorema A.2. Daca Y B(n, p) atunci:
P[Y j] (
j np
_
np(1 p)
),
unde este funct ia lui Laplace data de (z) =
1

2
z
_

t
2
2
dt.
Repartit ia Poisson. Distribut ia Poisson se obt ine ca un caz limita al distribut iei
binomiale. Acest lucru este pus n evident a n urmatoarea:
120
121
Teorema A.3. Fie Y
n
un sir de variabile aleatoare astfel ncat Y
n
B(n; p
n
)
si lim
n
np
n
= (0, ). Atunci:
lim
n
Pr[Y
n
= j] = Pr[W = j] =
e

j
j!
Vom spune ca variabila aleatoare W urmeaza o repartit ie Poissson de parametru .
Repartit ia normala. Forma repartit iei normale este data de urmatoarea:
Denit ia A.2. Spunem ca variabila aleatoare T urmeaza o repartit ie normala
de parametrii si
2
daca are densitatea de repartit ie:
n(t; ;
2
) =
1

2
exp[
1
2
2
(t )
2
], t R.
Teorema A.4. (Media si dispersia unei variabile aleatoare repartizate normal).
Variabila T n(;
2
) are media M(T) = si D
2
(T) =
2
.
Repartit ia exponent iala. Forma acestei repartit ii este data de urmatoarea:
Denit ia A.3. Spunem ca variabila aleatoare T urmeaza o repartit ie exponen-
t iala de parametru daca are densitatea de repartit ie:
f(t) =
_
e
t
, t 0
0, n rest.
Vom nota acest lucru prin T Exp().
Teorema A.5. (Media si dispersia variabilei exponent iale). Variabila T
Exp() are media M(T) =
1

si dispersia D
2
(T) =
1

2
.
Teorema A.6. (Funct ia generatoare). Daca T Exp() atunci funct ia genera-
toare a acestei variabile aleatoare este:
G() =
1
1

.
Repartit ia Gamma. Repartit ia Gamma are forma urmatoare:
Denit ia A.4. Vom spune ca variabila T urmeaza o repartit ie Gamma de para-
metri si daca are densitatea de repartit ie
f(t) =
1

()
t
1
e

, 0 t < ; , > 0.
Vom nota acest lucru cu T (; ).
122
Reamintim ca funct ia este denita ca:
() =

_
0
x
1
e
x
dx.
si au loc ( + 1) = () pentru > 0, (
1
2
) =

, (n + 1) = n! pentru
n N.
Teorema A.7. (Media si dispersia variabilei Gamma). Variabila aleatoare T
(, ) are media M(T) = si dispersia D
2
(T) =
2
.
Teorema A.8. (Funct ia generatoare). Variabila aleatoare T (, ) are
funct ia geneartoare data de
G() = (1 )

.
Repartit ia
2
. Un caz particular al repartit iei Gamma se obt ine pentru =
n
2
si
= 2
2
, > 0 si deci densitatea de repartit ie a unei variabile aleatoare repartizate

2
(n) este:
f(t) =
_
_
_
1
2
n
2
n
(
n
2
)
x
n
2
1
e

x
2
2
0 < x < , n = 1, 2, ..
0 n rest.
Teorema A.9. (Media si dispersia variabilei
2
(n)). Variabila aleatoare T

2
(n) are media M(T) = n
2
si dispersia D
2
(T) = 2n
4
.
Teorema A.10. (Funct ia generatoare). Variabila T
2
(n) are funct ia gener-
atoare
G() = (1 2
2
)

n
2
.
Teorema A.11. (Caracterizarea variabilelor
2
(n)). Daca variabilele aleatoare
X
1
, . . . , X
n
N(0;
2
) atunci variabila Y =
n

i=1
X
2
i
este repartizata
2
(n).
Observat ie: Variabila aleatoare cu densitatea
2
(2) este de fapt o variabila cu
densitate de tip exponent ial.
Repartit ia Beta. Este denita prin intermediul funct iei speciale Gamma.
Denit ia A.5. Vom spune ca variabila aleatoare T urmeaza o repartit ie Beta
de parametrii si daca are densitatea de repartit ie:
f(t) =
_
(+)
()()
t
1
(1 t)
1
t (0, 1)
0 n rest.
123
Repartit ia F. Are mai multe forme de exprimare: prin intermediul funct iei Beta
sau
2
.
Denit ia A.6. (F ca transformare a lui Beta). Spunem ca variabila aleatoare
T =
mV
n(1 V )
urmeaza o repartit ie F de parametri m si n daca V urmeaza o
repartit ie Beta de parametrii =
m
2
si =
n
2
.
Teorema A.12. (Caracterizarea prin intermediul lui
2
). Daca variabila aleatoare
X
2
(m) si Y
2
(n) atunci
X
m
/
Y
n
F(m, n).
Repartit ia t (Student).
Denit ia A.7. O variabila aleatoare T este repartizata t(n) daca are densitatea
de repartit ie:
f(t) =
(
n+1
2
)

n(
n
2
)
(1 +
t
2
n
)

n+1
2
, t R
Teorema A.13. (Caracterizare prin intermediul normalei si al lui
2
). Daca
X N(0; 1) si daca Y
2
(n) atunci:
t =
X
_
Y
n
t(n).
Teorema A.14. (Comportamentul asimptotic). Daca X t(n) atunci asimp-
totic pentru n , avem X N(0, 1).
Repartit ia Cauchy
Denit ia A.8. Vom spune ca variabila aleatoare T are o repartit ie Cauchy de
parametrii si daca densitatea sa de repartit ie este:
f(t) =

2
+ (x )
2
.
Observat ie. Pentru variabila aleatoare Cauchy nu exista valoarea medie.
Modele de defectare
Modelul exponent ial. Consideram evenimentul care consta n defectarea unui
mecanism. Daca defectarea este datorata unui fenomen aleator (unei avarii acciden-
tale) unde probabilitatea de realizare este proport ionala cu lungimea intervalului si
a carei rata de realizare este constanta n timp si daca nu exista o alta cauza de
defectare (cum ar deteriorarea mecanismului datorita varstei), atunci densitatea
defectarii este de tip exponent ial.
Modelul Gamma. Consideram evenimetul care consta n defectarea unui mecan-
ism. Daca defectarea este datorata acumularilor avariilor ntamplatoare, adica au
124
loc n avarii nainte ca defectul sa apara, ecare avarie ind aleatoare, atunci timpul
de defectare al mecanismului este:
T =
n

j=1
X
j
,
unde X
1
este timpul pana la prima avarie, X
2
este timpul pana la cea de a doua
avarie,..., iar X
j
Exp().
Modelul Beta. Presupunem ca un articol are timpul de defectare modelat de
variabila aleatoare T
1
Gamma(
1
;
1

) si un al doilea articol are timpul de defectare


modelat de variabila aleatoare T
2
Gamma(
2
;
1

). Atunci:
Y =
T
1
T
1
+T
2
Beta(
1
;
2
)
Aceasta este deci repartit ia timpului de defectare a primului articol n raport cu
timpul de defectare total al celor doua articole. O astfel de problema este importanta
daca se aloca resurse atat pentru fabricarea unor mecanisme cat si pentru ment inerea
acestora n activitate.
B. METODE CLASICE DE OPTIMIZARE
Metodele clasice de optimizare pot grupate n doua clase mari:
-metode iterative;
-metode neiterative.
Metodele neiterative folosesc anumite proprietat i ale funct iei obiectiv si ale spa-
t iului de cautare a problemei (de exemplu, metoda multiplicatorilor lui Lagrange).
Cele mai multe probleme de optimizare se rezolva numeric folosind tehnicile itera-
tive, acestea pornind de la o solut ie init iala care este actualizata la ecare pas al
algoritmului. Metodele iterative se clasica n metode de cautare directa (simplex)
si n metode de tip gradient (metoda de coborare, metoda lui Newton, metoda
direct iilor conjugate etc.). Acest curs abordeaza n principal tehnicile de cautare
directa, dar face apel si la metodele de tip gradient.
Puncte de extrem local. Prezentam pe scurt not iunile de puncte critice, minim
local si legatura dintre acestea.
Denit ia B.1. (Puncte critice). Fie f : U R, U mult ime deschisa, si x
0
U
se numeste punct critic pentru funct ia f daca f

(x
0
) = 0.
Denit ia B.2.(Minim local ). Fie f : U R, U mult ime deschisa, si x
0
U se
numeste punct de maxim (minim) local pentru funct ia f daca exista B bila astfel
125
ncat
f(x) ()f(x
0
)x B.
Teorema B.1. Fie f : U R, U mult ime deschisa. Daca punctul x
0
U este
punct de extrem local pentru funct ia f atunci x
0
este punct critic pentru funct ia f.
Metoda multiplicatorilor Lagrange.
Teorema B.2. (Metoda lui Lagrange). Fie funct ia f : R
n
R
m
o funct ie al
carei extrem dorim sa-l aam cu restrict ia g(x) = 0 unde funct ia g : R
n
R
m
. Se
construieste lagrangeanul:
L(x, ) = f (x)
T
g(x),
unde
T
= (
1
, ...,
m
). Atunci punctele de extrem local pentru funct ia f (x) cu res-
trict ia g(x) = 0 sunt printre punctele de extrem local ale lui L(x, ).
Cautarea directa. Este cea mai raspandita metoda de optimizare. Din aceasta
clasa de metode cele mai cunoscute sunt metodele cautarii exhaustive (se cauta
solut ia prin testarea ecarui element al spat iului solut iilor) si metodele de tip sim-
plex, care folosesc un simplex al solut iilor pentru a genera un nou simplex uti-
lizand anumite reguli ce depind de valorile funct iei obiectiv n punctele simplexului.
Folosind simplexul se genereaza o noua direct ie de cautare. Prin folosirea acestei
metode nu se gaseste optimul global.
Metode de coborare. Fie f : R
n
R o funct ie al carei minim dorim sa-l aam.
Se genereaza iterativ un sir de forma:
x
k+1
= x
k
+c
k
h
k
, k = 1, 2, ...
n care h
k
este un vector din R
n
ce indica direct ia lui x
k+1
fat a de x
k
, c
k
> 0
(constanta care determina marimea pasului de cautare n direct ia lui h
k
), iar x
1
este
punctul int ial. Direct ia h
k
se alege astfel ncat valoarea funct iei sa scada n aceasta
direct ie.
Metoda gradientului.

In cadrul acestei metode direct ia de coborare este data de
antigradientul funct iei n punctul x
k
:
h
k
= f(x
k
).
Deoarece antigradientul n x indica direct ia celei mai rapide descresteri n punctul
x procedura descrisa anterior se mai numeste si metoda celei mai rapide descresteri.
Minimizarea de-a lungul razei.

In acest caz parametrul c
k
se alege astfel ncat:
f(x
k
+c
k
h
k
) = min
t0
f(x
k
+th
k
).
126
Metoda lui Newton. Fie f : R
n
R o funct ie al carei minim dorim sa-l aam.
Se genereaza iterativ un sir de forma:
x
k+1
= x
k
[H(x)]
1
f(x
k
), k = 1, 2, ...
n care H(x) =
2
f(x) este hessiana funct iei f, ce este presupusa a o matrice
inversabila.
Metoda lui Newton converge rapid. Metoda necesita un volum mare de calcul
pentru calculul derivatelor de ordinul 1 si 2 precum si al inversei matricei hessiene.
Metode cvasi-Newton. Fie f : R
n
R o funct ie al carei minim dorim sa-l
aam. Inversa matricei hessiene se aproximeaza printr-o matrice simetrica si pozitiv
denita H
k
[
2
f(x
k
)]
1
. Se genereaza iterativ un sir de forma:
x
k+1
= x
k
+c
k
(H
k
f(x
k
)), k = 1, 2, . . .
n care c
k
de determina folosind principiul minimizarii de-a lungul razei.
Metoda nu cere calculul derivatei de ordinul doi. Algoritmul este stabil deoarece
H
k
f(x
k
) este mereu o direct ie de coborare.
Metoda direct iilor conjugate. Metoda direct iilor conjugate utilizeaza informat ia
despre precedenta direct ie de cautare pentru a accelera cautarea. Metoda porneste
cu un punct arbitrar x
1
R
n
si foloseste iterat ia:
x
k+1
= x
k
+c
k
h
k
, k = 1, 2, . . .
direct ia init iala h
1
= f(x
1
). La ecare pas, direct ia de cautare este o combinat ie
liniara a antigradientului n punctul respectiv si a direct iei precedente. Direct ia h
k
are expresia:
h
k
= f(x
k
) +b
k
h
k1
,
unde b
k
este un parametru.
Pentru metoda Fletchter-Reeves avem:
b
k
=
[[f(x
k
)[[
2
[[f(x
k1
)[[
2
.
Pentru metoda Polak-Ribiere avem:
b
k
=
[[f(x
k
)[[
2
(f(x
k
))
T
f(x
k1
)
[[f(x
k
)[[
2
.
Metoda direct iei conjugate poate genera o direct ie de cautare ce nu este direct ie
de coborare.

In acest caz, procesul trebuie reinit ializat prin alegerea direct iei celei
mai rapide coborari. Metoda este convergenta pentru funct ii patratice.
127
C. TEHNICI DE PROGRAMARE
Dupa cum s-a remarcat n acesta lucrare nu s-au prezentat excesiv demonstrat ii
matematice, ci s-a pus accent pe formularea (codicarea) algoritmului. Pentru ca
problema astfel formulata sa se poata rezolva ecient se va face apel la o serie de
tehnici de programare care vor prezentate pe scurt n cele ce urmeaza. Descrierea
completa a tehnicilor de programare amintite n cadrul acestui capitol face obiectul
cursurilor de tehnici de programare.
Structuri de date. Structurile de date cu ajutorul carora se implementeaza tehni-
cile de programare prezentate n cele ce urmeaza pot statice (de exemplu, vectorii
ori matricile: se aloca memorie n faza init iala) sau dinamice (se aloca memorie n
funct ie de necesitat i).
Dintre cele mai utilizate structuri de date dinamice amintim:
-lista: aceasta poate simplu sau dublu nlant uita;
-stiva (este un caz particular de lista dublu nlant uita): structura de date tip
LIFO (last in rst out);
-coada (este un caz particular de lista): structura de date tip FIFO (rst in rst
out);
-arborii: structura de date ce poate denita si ca un caz particular de graf;
Principalele operat ii ce se efectueaza asupra listelor sau arborilor sunt urmatoa-
rele:
-init ializare;
-insert ia unui nod dupa sau nainte de nodul k;
-stergera nodului k;
-combinarea a doua sau mai multe liste ntr-una singura;
-partit ionarea unei liste;
-copierea unei liste;
-determinarea numarului de noduri dintr-o lista;
-sortarea nodurilor unei liste (dupa un anume criteriu).
-cautarea n lista a nodului cu o valoare particulara ntr-un anumit camp.
Recursivitate. Tehnica recursivitat ii se aplica n problemele n care dispunem de
o formula recursiva de calcul. Tehnica ind des utilizata, nu vom insista asupra
ei amintind doar ca exista variante recursive ale metodelor backtracking, divide et
impera, greedy (acestea sunt prezentate n cele ce urmeaza).

Intreaga tehnica a
recursivitat ii se bazeaza pe not iunea de stiva.
Exemplu de probleme ce se rezolva cu ajutorul tehnicii recursive:
-calculul funct iei factorial, al celui mai mare divizor comun, al sirului Fibonacci
etc;
-generarea permutarilor;
128
-iesirea dintr-un labirint;
-analiza sintactica.
Metoda backtracking. Aceasta metoda evita, n general, generarea tuturor solut iilor
posibile. Elementele vectorului n dimensional x (solut ia problemei) primesc pe rand
valori. Astfel lui x
k
S
k
i se atribuie o valoare numai daca au fost deja atribuite
valori lui x
1
, . . . , x
k1
. Mai mult, odata stabilita o valoare pentru x
k
, nu se trece
direct la atribuirea de valori lui x
k+1
, ci se verica niste condit ii de continuare refer-
itoare la x
1
, . . . , x
k
. Aceste condit ii stabilesc situat iile n care are sens sa trecem
la determinarea lui x
k+1
. Nendeplinirea lor exprima faptul ca, oricum am alege
x
k+1
, . . . , x
n
nu vom putea ajunge la o solut ie rezultat, adica la o solut ie pentru care
condit iile interne (relat ii ntre componentele lui x) sunt satisfacute. Daca condit iile
de continuare nu sunt ndeplinite, se va alege un alt x
k
din S
k
, iar daca S
k
s-a epuizat
ne ntoarcem la S
k1
. Exista si o varianta recursiva a acestei metode.
Exemplu de probleme ce se rezolva cu ajutorul tehnicii backtracking:
-problema celor opt dame;
-generarea permutarilor, aranjametelor sau combinarilor;
-produsul cartezian a n mult imi;
-problema comis-voiajorului;
-problema colorarii hart ilor;
-problema plat ii unei sume s utilizand n tipuri de monede.
Tehnica backtracking are o complexitate exponent iala si este de folos atunci cand
nu avem la dispozit ie un algoritm mai performant.
Tehnica Divide et Impera. Este o tehnica (care se aplica n principal n forma
recursiva) ce consta n urmatoarele:
-daca problema este rezolvabila direct atunci ea se rezolva;
-altfel, se descompune n doua sau mai multe probleme mai simple, de aceeasi
natura cu problema init iala (numite subprobleme), care se rezolva prin aceeasi
metoda; solut ia problemei init iale se obt ine prin combinarea solut iilor subproblemei.
Exemplu de probleme ce se rezolva cu ajutorul tehnicii divide et impera:
-problema taieturilor;
-sortarea rapida (quick sort);
-sortarea prin interclasare.
Metoda divide et impera reduce o complexitate de ordinul O(n
2
) la un ordin de
complexitate de O(n
lg3
).
Tehnica branch and bound. Tehnica de optimizare care face parte din domeniul
Cercetarii Operat ionale si constan esent an rezolvarea unei probleme de optimizare
cu condit ii relaxate (problema continua) relativ la problema init iala (problema dis-
creta) si apoi spargerea problemei n doua probleme care se rezolva cu ajutorul
algoritmului continuu. Procedura de cautare optima a solut iei se aplica iterativ prin
129
generarea de alte doua noi probleme obt inute din problema curenta prin introduc-
erea unei restrict ii liniare. Algoritmul se ncheie cand procesul de ramicare a fost
stopat (problema nu are solut ii, problema are solut ie optima n mult imea init iala,
problema nu are solut ie n mult imea init iala, dar valoarea optima a funct iei obiec-
tiv este superioara celei atinse ntr-o solut ie din mult imea init iala generata la un
alt nod). Solut ia optima este atinsa n unul dintre nodurile stopate (dupa cele trei
situat ii).

In acest caz o solut ie optima a problemei init iale este data de orice nod
stopat dupa regula 2 care realizeaza minimul n clasa acestor noduri.
Programarea dinamica. Tehnica programarii dinamice (progresive, regresive sau
mixte) a fost expusa pe larg n lucrare.

In esent a metoda este aplicabila problemelor
n care rezultatul se obt ine ca urmare a unui sir de decizii D
1
, . . . , D
n
.

In urma de-
ciziei D
1
, sistemul evolueaza din starea S
0
n starea S
1
, n urma deciziei D
2
sistemul
evolueaza din starea S
1
n starea S
2
, . . . , n urma deciziei D
n
sistemul evolueaza din
starea S
n1
n starea S
n
.

In afara condit iilor aratate pana acum este necesar sa e
satisfacut principiul programarii dinamice pe care l enunt am n continuare.
Daca D
1
, . . . , D
n
este un sir optim de decizii care transforma sistemul din starea
init iala S
0
n starea nala S
n
atunci trebuie ndeplinita una dintre condit iile urma-
toare:
1) D
k
, . . . , D
n
este un sir optim de decizii care duce sistemul din starea S
k1
n
starea S
n
pentru orice k = 1, n (metoda progresiva);
2) D
1
, . . . , D
k
este un sir optim de decizii care duce sistemul din starea S
0
n
starea S
k
pentru orice k = 1, n (metoda regresiva);
3) D
k+1
, . . . , D
n
si D
1
, . . . , D
k
sunt siruri de decizii optime ce duc sistemul din
starea S
k
n starea S
n
, respectiv din starea S
0
n starea S
k
pentru orice k = 1, n
(metoda mixta).
Exemplu de probleme ce se rezolva cu ajutorul acestei tehnici:
-determinarea subsirului crescator de lungime maximala;
-determinarea drumurilor de cost minim ntr-un graf;
-nmult irea optima a unui sir de matrice;
-problemele de investit ii.
Tehnica greedy. Aceasta metoda se foloseste n problemele n care, data ind
o mult ime A cu n elemente se cere sa se determine o submult ime B a sa, care sa
ndeplineasca anumite condit ii (eventual un anumit criteriu de optim).
Metoda Greedy de rezolvare a unor probleme consta n urmatorii pasi:
-se init ializeaza mult imea B la mult imea vida;
-se alege un anumit element din A;
-se verica daca elementul ales poate adaugat mult imii B;
-procedeul continua astfel, repetitiv, pana ce au fost determinate toate elementele
din B.
130
Exemplu de probleme ce se rezolva cu ajutorul tehnicii Greedy:
-problema rucsacului;
-determinarea drumurilor de cost minim ntr-un graf (algoritmul lui Dijkstra);
-problema comis-voiajorului.
Complexitatea algoritmilor Greedy este de ordinul de complexitate O(n
2
).
Bibliograe
[1] Anand Paul, Foundations of Rational Choice Under Risk, Oxford: Oxford
University Press, 1993.
[2] Akerlof George A., Yellen Janet L., Rational Models of Irrational Behav-
ior, 1987.
[3] Aumann, Robert J., and Sergiu Hart, Handbook of Game Theory with
Economic Applications, 3 vols. Amsterdam: North-Holland, 2002.
[4] Aumann, Robert J., and Michael B. Maschler, Repeated Games with
Incomplete Information, Cambridge, Mass.: MIT Press, 1995.
[5] Baker Kenneth, Kropp Dean, Management Science: An Introduction to
the Use of Decision Models, 1985.
[6] Baase S., Van Gelder A., Computer Algorithms, Introduction to Design
and Analysis, Addison Wesley Longman, 2000.
[7] Bellman R. E., Teoria grafurilor, Editura Tehnica, Bucuresti, 1976.
[8] Bellman Richard, Dynamic Programming, Princeton University Press, 1957.
[9] Berge C., Theorie des graphes et ses applications, Dunod, 1967.
[10] Berger James, Statistical decision theory and Bayesian Analysis, 2nd ed.,
New York: Springer Verlag, 1985.
[11] Bertsekas D. P., Dynamic Programming and Optimal Control, 2nd ed.,
Athena Scientic, 2000.
[12] Bertsekos A., Linear Network Optimization, Algorithms and Codes, MIT
Press, 1991.
[13] Biggs N., Lloyd E., Wilson R., Graph Theory, Oxford University Press,
1986.
131
BIBLIOGRAFIE 132
[14] Bondy J.A., Murty, U.S.R., Graph Theory, Springer, 2008.
[15] Baird, Douglas, Robert H. Gertner, and Randal C. Picker, Game
Theory and the Law, Cambridge, Mass.: Harvard University Press, 1994.
[16] Browson R., Operational Research, 2nd edition, Prentice Hall, 1997.
[17] Budnick Frank, Richard Mojena and Thomas E. Vollmann, Principles
of Operations Research for Management, Homewood: Irwin, 1977.
[18] Chartrand Gary, Introductory Graph Theory, Dover, 1985.
[19] Clemen Robert, Making Hard Decisions: An Introduction to Decision
Analysis, 2nd ed., Belmont CA: Duxbury Press, 1996.
[20] Cormen T., Leiserson C., Rivest R. Introduction to Algorithms MIT
Press, 1990.
[21] Dantzig, George B., Linear Programming and Extensions, Princeton:
Princeton U P, 1963.
[22] De Groot Morris, Optimal Statistical Decisions, Wiley Classics Library,
2004.
[23] Denardo E.V., Dynamic Programming: Models and Applications, Mineola,
NY: Dover Publications, 2003.
[24] Dimand, Mary Ann, and Robert W. Dimand, The History of Game
Theory, Vol. 1: From the Beginnings to 1945, London and New York: Rout-
ledge, 1996.
[25] Dreyfus Stuart E., Law Averill M., The art and theory of dynamic pro-
gramming, Academic Press, 1977.
[26] Dugatkin, Lee Alan, and Hudson Kern Reeve, Game Theory and Ani-
mal Behavior, New York: Oxford University Press, 1998.
[27] Fryer K., Operational Reasearch, Operational Research Society.
[28] Goodwin Paul and Wright George Decision Analysis for Management
Judgment, 3rd ed., Chichester: Wiley 2004.
[29] Gibbons Alan, Algorithmic Graph Theory, Cambridge University
Press,1985.
BIBLIOGRAFIE 133
[30] Giegerich, R., Meyer C., Steen P., A Discipline of Dynamic Program-
ming over Sequence Data, Science of Computer Programming 51 (3), 2004.
[31] Golumbic Martin, Algorithmic Graph Theory and Perfect Graphs, Acad-
emic Press, 1980.
[32] Harary Frank, Graph Theory, Reading, MA: Addison-Wesley,1969
[33] Harary Frank, Palmer Edgar, Graphical Enumeration, New York, NY:
Academic Press,1973.
[34] Harsanyi, John C., and Reinhard Selten, A General Theory of Equilib-
rium Selection in Games, Cambridge, Mass.: MIT Press, 1988.
[35] Heims, Steve J., John Von Neumann and Norbert Wiener: From Mathe-
matics to the Technologies of Life and Death, Cambridge, Mass.: MIT Press,
1980.
[36] Heinze Charles David, Management Science: Introductory Concepts and
Applications, 1982.
[37] Hiller F., Introduction to Operational Research, Mc. Graw Hill, 1995.
[38] Kaufmann A., Metode si modele ale cercetarii operat ionale, Editura Tehnica,
Bucuresti, 1967.
[39] Kaufmann A., Desbazeile G., La methode du chemin critique, Paris, 1969.
[40] Kirby Maurice W., Operational Research in War and Peace, Imperial Col-
lege Press, London, 2003.
[41] Mahadev N.V.R., Peled Uri N., Threshold Graphs and Related Topics,
North-Holland, 1995.
[42] Mathur Kamlesh , Solow Daniel, Management Science: The Art of De-
cision Making, 1994.
[43] McKinsey, Introduction to the Theory of Games, McGraw-Hill Book Com-
pany, Inc., New York.
[44] Meyn Sean, Control Techniques for Complex Networks, Cambridge Univer-
sity Press, 2007.
[45] Nasar, Sylvia, A Beautiful Mind: A Biography of John Forbes Nash, Jr.,
Winner of the Nobel Prize in Economics, 1994. New York: Simon and Schus-
ter, 1998.
BIBLIOGRAFIE 134
[46] Nash, John F. Jr., Essays on Game Theory, Cheltenham, U.K., and Brook-
eld, Vt.: Edward Elgar, 1996.
[47] Owen G., Teoria Jocurilor, Editura Tehnica, Bucuresti, 1976.
[48] Pidd Michael, Tools for Thinking: Modelling in Management Science, J.
Wiley & Sons Ltd., Chichester; 2nd. Edition, 2003.
[49] Peterson Martin, An Introduction to Decision Theory, Cambridge Univer-
sity Press,2009.
[50] Popescu O. si al. Matematici pentru economisti, Editura Didactica si Ped-
agogica, Bucuresti, 1992.
[51] Preda V., Teoria deciziilor statistice, Editura Academiei, Bucuresti, 1991.
[52] Raia Howard Decision Analysis: Introductory Readings on Choices Under
Uncertainty, McGraw Hill, 1997.
[53] Rapoport, Anatol, and Albert M. Chammah, Prisoners Dilemma: A
Study in Conict and Cooperation, Ann Arbor: University of Michigan Press,
1965.
[54] Riker, William H., and Peter C. Ordeshook, An Introduction to Positive
Political Theory, Englewood Clis, N.J.: Prentice Hall, 1973.
[55] Robert Christian, The Bayesian Choice, 2nd ed., New York: Springer, 2007.
[56] Roth, A. E., and R. E. Verrecchia, The Shapley Value as Applied to Cost
Allocation: a Reinterpretation, Journal of Accounting Research 17 (1979):
295303.
[57] Rubinstein Ariel, Modeling Bounded Rationality, Cambridge, Mass.: MIT
Press, 1998.
[58] Rumelt Richard P., Dan E. Schendel, and David J. Teece, Fundamen-
tal Issues in Strategy: A Research Agenda, Boston: Harvard Business School
Press, 1994.
[59] Samuelson Larry, Evolution and Game Theory, Journal of Economic Per-
spectives 16, 2002.
[60] Schelling Thomas, The Strategy of Conict, Cambridge, Mass.: Harvard
University Press, 1960.
BIBLIOGRAFIE 135
[61] Schotter Andrew, The Economic Theory of Social Institutions, Cambridge,
U.K.: Cambridge University Press, 1981.
[62] Seiz Janet A., Game Theory and Bargaining Models, In The Elgar Compan-
ion to Feminist Economics, edited by Janice Peterson and Margaret Lewis.
Cheltenham, U.K., and Northampton, Mass.: Edward Elgar, 1999.
[63] Shafer Glenn and Pearl Judea, Readings in uncertain reasoning, San Ma-
teo, CA: Morgan Kaufmann,1990.
[64] Shapiro Carl, The Theory of Business Strategy, RAND Journal of Economics
20, 1989.
[65] Shapley Lloyd S., A Value for nPerson Games, In Harold Kuhn and Albert
W. Tucker, eds., Contributions to the Theory of Games, Vol. 2, Annals of
Mathematics Studies, no. 28. Princeton, N.J.: Princeton University Press,
1953.
[66] Shapley Lloyd S., and Martin Shubik, A Method for Evaluating the Dis-
tribution of Power in a Committee System, American Political Science Review
48, 1954.
[67] Shubik Martin, A Game-Theoretic Approach to Political Economy, Vol. 2
of Game Theory in the Social Sciences. Cambridge, Mass.: MIT Press, 1984.
[68] Sierksma Gerard, Linear and Integer Programming: Theory and Practice
2nd ed. New York: Marcel Dekker, 2002.
[69] Smith J.Q., Decision Analysis: A Bayesian Approach, Chapman and Hall,
1988.
[70] Sniedovich M., Dynamic Programming: Foundations and Principles, Taylor
& Francis, 2010.
[71] Stokey Nancy, Lucas Robert E, Prescott Edward Recursive Methods in
Economic Dynamics, Harvard Univ. Press, 1989.
[72] Taha H., Operational Research, Prentice Hall, 1994.
[73] Tomescu I., Introducere n combinatorica, Editura Tehnica, Bucuresti, 1970.
[74] Wald Abraham, Contributions to the Theory of Statistical Estimation and
Testing Hypotheses, Annals of Mathematical Statistics 10 (4), 1939.
BIBLIOGRAFIE 136
[75] Winston Wayne, Operations Research: Applications and Algorithms,
Duxbury Press; 4th. Edition, 2003.
[76] Zidaroiu C., Programare liniara, Editura Tehnica, Bucuresti, 1983.
[77] Zidaroiu C., Programare dinamica, Editura Tehnica, Bucuresti, 1980.

You might also like