Sunteți pe pagina 1din 53

UNIVERSITATEA SPIRU HARET

FACULTATEA DE MANAGEMENT FINANCIAR CONTABIL BUCURETI


Specializarea MANAGEMENT
Anul III anul universitar 2008-2009










M MO OD DE EL LA AR RE E I I S SI IM MU UL LA AR RE E E EC CO ON NO OM MI IC C

Sinteza cursului


Prof. univ. dr. Ctlina Lucia Cocianu





























BUCURETI
2009







TITULAR CURS: PROFESOR UNIVERSITAR
DOCTOR CTLINA-LUCIA COCIANU

ADRESA E-MAIL: ccocianu@ase.ro
CONSULTAII: n fiecare zi de luni, n intervalul 10.30-12.00








PARTEA I
PROGRAMARE LINIAR. APLICAII ECONOMICE

CAPITOLUL 1. PROBLEMA DE PROGRAMARE LINIAR

1.1. Introducere

Programarea liniar este un domeniu dezvoltat la sfritul anilor 1940, odat cu
necesitatea rezolvrii unor probleme de alocarea resurselor i a devenit un instrument esenial
al cercetrilor operaionale, aplicat unor probleme extrem de variate din lumea real.
n continuare vom prezenta problema de programare liniar prin intermediul ctorva
exemple. (Kolman, Beck, 1995)

Exemplul 1.1. Problem de transport
Un produs P este obinut n dou fabrici situate n dou locaii, Bucureti i Craiova i
este stocat pentru desfacere n trei depozite, unul situat n Ploieti, unul n Piteti i unul la
Cluj. Fabrica din Bucureti produce sptmnal 120 de tone din produsul P, iar fabrica din
Craiova produce P n cantitate de 140 tone pe sptmn. Pentru desfacerea produsului,
necesarul sptmnal este: pentru depozitul din Ploieti 100 de tone, pentru depozitul din
Piteti, 60 de tone, respectiv pentru depozitul din Cluj 80 de tone. n tabelul de mai jos sunt
prezentate costurile de transport per tona de produs.

Ploieti Piteti Cluj
Bucureti 50 70 90
Craiova 60 70 100

Problema de rezolvat: calculul numrului de tone din produsul P care trebuie furnizate
de cele dou fabrici fiecrui depozit astfel nct costul de transport s fie minim i astfel nct
s fie respectate condiiile enunate mai sus.

Modelul matematic.
Fie F1 i F2 fabricile din Bucureti, respectiv Craiova i D1, D2 i D3 depozitele din
Ploieti, Piteti i Cluj respectiv. Vom nota n continuare cu

ij
x - numrul de tone din produsul P aduse din Fi la Dj, 3 1 , 2 1 j i

ij
c - costul de transport al unei tone din produsul P aduse din Fi la Dj,
3 1 , 2 1 j i

Cantitatea total din produsul P care provine de la Fi este

=
3
1 j
ij
x , 2 1 i . Pe baza
enunului, rezult,
120
3
1
1

= j
j
x
140
3
1
2

= j
j
x
Cantitatea total din produsul P stocat de Dj, 3 1 j este

=
2
1 i
ij
x . Deoarece
solicitrile de produs la depozite este de 100, 60, respectiv 80 de tone, rezult,
100
2
1
1

= i
i
x
60
2
1
2

= i
i
x
80
2
1
3

= i
i
x
Evident, pentru 3 1 , 2 1 j i , 0
ij
x .
Costul de transport, care trebuie minimizat, este,

= =
=
2
1
3
1
cos
i j
ij ij
x c t .
Este obinut urmtorul model matematic,
Determin valorile
ij
x , 3 1 , 2 1 j i care minimizeaz

= =
=
2
1
3
1
cos
i j
ij ij
x c t
cu restriciile,
i
j
ij
s x

=
3
1
, 2 1 i
j
i
ij
d x

=
2
1
, 3 1 j
0
ij
x , 3 1 , 2 1 j i ,
unde cantitile maxime din produsul P care pot fi furnizate sunt
140 , 120
2 1
= = s s
i necesarul de aprovizionat este, la nivelul fiecrui depozit,
80 , 60 , 100
3 2 1
= = = d d d .

Exemplul 1.2. Problem financiar
Un investitor dorete s investeasc exact 100.000 lei n dou titluri de valoare: T1,
care pltete dividende de 7% i T2, din care rezult dividende de 9%. Condiiile de efectuare
a investiiei sunt:
1. suma investit n T1, x , trebuie s fie cel puin dublul sumei investite n T2;
2. suma investit n T2, y , este de maxim 30.000 lei.
Problema de rezolvat: determinarea sumelor de bani care vor fi investite n T1 i T2
astfel nct profitul obinut de investitor s fie maxim.

Modelul matematic.
Cu notaiile de mai sus, obinem,
100000 = + y x
y x 2
30000 y
0 x
0 y
Profitul este calculat prin,
y x profit 09 . 0 07 . 0 + = .
Rezult urmtorul model matematic: determin y x, care maximizeaz
y x profit 09 . 0 07 . 0 + =
cu restriciile,
100000 = + y x
y x 2
30000 y
0 x
0 y


1.2. Definirea problemei generice de programare liniar

Similar formelor utilizate n exemplele prezentate n prima seciune a capitolului,
problema general de programare liniar poate fi definit dup cum urmeaz. Determin
valorile
n
x x x ,..., ,
2 1
care optimizeaz (maximizeaz sau minimizeaz)
(1.1)
n n
x c x c x c z + + + = ...
2 2 1 1

cu restriciile
(1.2)
( )
( )
( )

= + + +
= + + +
= + + +
m n mn m m
n n
n n
b x a x a x a
b x a x a x a
b x a x a x a
, ...
...
, ...
, ...
2 2 1 1
2 2 2 22 1 21
1 1 2 12 1 11

unde, n fiecare inegalitate/egalitate din sistemul (1.2), apare numai unul din simbolurile
, , =.
Funcia liniar n variabilele
n
x x x ,..., ,
2 1
definit n (1.1) se numete funcie obiectiv.
Egalitile sau inegalitile care compun sistemul (1.2) sunt referite drept restricii.
( )
1 1 2 12 1 11
, ... b x a x a x a
n n
= + + + . Membrul stng al fiecrei restriciii din (1.2) este, la rndul
lui, funcie liniar n variabilele
n
x x x ,..., ,
2 1
. O problem n care fie funcia obiectiv, fie
membrul drept al unei constrngeri sunt funcii neliniare este problem de programare
neliniar.

Forma standard a unei probleme de programare liniar este definit astfel. Determin
valorile
n
x x x ,..., ,
2 1
care maximizeaz
(1.3)
n n
x c x c x c z + + + = ...
2 2 1 1

cu restriciile
(1.4)

+ + +
+ + +
+ + +
m n mn m m
n n
n n
b x a x a x a
b x a x a x a
b x a x a x a
...
...
...
...
2 2 1 1
2 2 2 22 1 21
1 1 2 12 1 11

(1.5) n j x
j
,..., 2 , 1 , 0 =

Forma canonic a unei probleme de programare liniar este definit astfel. Determin
valorile
n
x x x ,..., ,
2 1
care maximizeaz
n n
x c x c x c z + + + = ...
2 2 1 1

cu restriciile

= + + +
= + + +
= + + +
m n mn m m
n n
n n
b x a x a x a
b x a x a x a
b x a x a x a
...
...
...
...
2 2 1 1
2 2 2 22 1 21
1 1 2 12 1 11

n j x
j
,..., 2 , 1 , 0 =

n continuare sunt prezentate modalitile de exprimare a unei probleme de
programare liniar oarecare n forma standard.

Exprimarea unei probleme de programare liniar n forma standard
Orice problem de minimizare poate fi transformat ntr-o problem de maxim, pe
baza relaiei,
|

\
|
=

= =
n
i
i i
n
i
i i
x c x c
1 1
max min .
Prin nmulirea unei inegaliti mai mare sau egal cu -1,
b x k x k x k
n n
+ + + ...
2 2 1 1

este obinut inegalitatea corespunztoare mai mic sau egal,
b x k x k x k
n n
...
2 2 1 1
.
Orice restricie de tip egalitate poate fi transformat ntr-o pereche de inegaliti,
astfel. Relaia
i
n
j
j ij
b x a =

=1

este echivalent cu perechea de inegaliti,
i
n
j
j ij
b x a

=1

i
n
j
j ij
b x a

=1

deci cu inegalitile
i
n
j
j ij
b x a

=1

i
n
j
j ij
b x a

=1
.
Dac o variabil x
j
nu este supus constrngerii de a fi nenegativ, x
j
poate fi nlocuit
cu perechea de variabile
+
j j
x x , , unde
+
=
j j j
x x x ,
0
+
j
x
0

j
x .

Exemplul 1.3. Fie problema de programare liniar,
minimizeaz y x z 3 2 + =
cu restriciile
6 2 = + y x
8 5 2 + y x
0 x
Forma standard a problemei de mai sus este,
maximimeaz ( )
+
= y y x z 3 2
cu restriciile
( ) 6 2 +
+
y y x
( ) 6 2
+
y y x
( ) 8 8 2
+
y y x
0 x
0
+
y
0

y

n exprimarea matriceal, o problem de programare liniar n forma standard este
descris astfel. Determin vectorul x R
n
care maximizeaz
(1.6) x c
T
z =
cu restriciile
(1.7) b Ax
(1.8) 0 x

Un vector x R
n
care satisface restriciiile problemei de programare liniar este numit
soluie admisibil a problemei. O soluie admisibil care optimizeaz funcia obiectiv a unei
probleme de programare liniar se numete soluie optimal.

n continuare vom prezenta modalitatea de transformare a unei probleme de
programare liniar din forma standard n forma canonic

Exprimarea unei probleme de programare liniar standard n forma canonic
Orice problem de programare liniar standard poate fi exprimat n forma canonic
pe baza urmtoarelor consideraii.
Fie restricia
(1.9)
i
n
j
j ij
b x a

=1
.
Relaia (1.9) poate fi exprimat n termenii unei egaliti prin considerarea unei
variabile suplimentare nenegative,
i
u ,
(1.10)
i i
n
j
j ij
b u x a = +

=1
.
Variabila suplimentar
i
u desemneaz diferena dintre membrul drept i membrul
stng al restriciei definite de (1.9) i se numete variabil slack.

Forma canonic a problemei de programare liniar exprimat n forma standard prin
(1.3), (1.4) i (1.5) este,
Maximizeaz
(1.11)
n n
x c x c x c z + + + = ...
2 2 1 1

cu restriciile
(1.12)

= + + + +
= + + + +
= + + + +
+
+
+
m m n n mn m m
n n n
n n n
b x x a x a x a
b x x a x a x a
b x x a x a x a
...
...
...
...
2 2 1 1
2 2 2 2 22 1 21
1 1 1 2 12 1 11

(1.13) m n n n j x
j
+ + = ,..., 1 , ,..., 2 , 1 , 0
Noua problem obinut are un sistem cu m restricii i n+m necunoscute.
Fie ( )
T
n
y y y ,..., ,
2 1
= y o soluie admisibil a problemei de programare liniar definit
prin relaiile (1.3), (1.4) i (1.5). Pentru m i 1 este definit variabila,

=
+
=
n
j
j ij i i n
y a b y
1
.
Evident, pentru orice m i 1 , 0
+i n
y , deci vectorul ( )
T
m n
y y y
+
= ,..., ,
2 1
y satisface
(1.12) i (1.13), deci este o soluie admisibil a problemei exprimate prin relaiile (1.11),
(1.12) i (1.13).
Reciproc, fie ( )
T
m n
y y y
+
= ,..., ,
2 1
y o soluie admisibil a problemei exprimate prin
relaiile (1.11), (1.12) i (1.13). Rezult c n j y
j
,..., 2 , 1 , 0 = i, deoarece pentru orice
m i 1 , 0
+i n
y , obinem c
i
n
j
j ij
b y a

=1

i, n continuare, c ( )
T
n
y y y ,..., ,
2 1
= y este o soluie admisibil a problemei de programare
liniar definit prin relaiile (1.3), (1.4) i (1.5).

n exprimarea matriceal, o problem de programare liniar n forma canonic este
descris astfel. Determin vectorul x R
n
care maximizeaz
(1.14) x c
T
z =
cu restriciile
(1.15) b Ax =
(1.16) 0 x


1.3. Geometria problemelor de programare liniar

Considerm n continuare problema de programare liniar n forma standard definit
de (1.3), (1.4) i (1.5). Cea de-a i-a restricie a problemei,
(1.17)
i n in i i
b x a x a x a + + + ...
2 2 1 1

este exprimat n forma vectorial prin,

i
b x a
T
,
unde ( )
in i i
a a a ,..., ,
2 1
T
= a . Mulimea punctelor ( ) =
n
x x x ,..., ,
2 1
x R
n
care satisfac (1.17) este
semispaiu nchis al lui R
n
.
n cazul unei probleme de programare liniar n forma canonic, cea de-a i-a restricie
este definit de,
(1.18)
i n in i i
b x a x a x a = + + + ...
2 2 1 1

sau, echivalent,

i
b = x a
T

Mulimea punctelor ( ) =
n
x x x ,..., ,
2 1
x R
n
care satisfac (1.18) este un hiperplan al lui R
n
.

Observaii.
1. Hiperplanul definit de (1.18) este margine a semispaiului nchis (1.17).
2. Hiperplanul definit de (1.18), H

, mparte R
n
n dou semispaii nchise,
{ }
i
b H = x a R x
T n
1

{ }
i
b H = x a R x
T n
2

cu proprietile,
=
2 1
H H R
n

H H H

2 1
=
3. Pe baza definiiei soluiei admisibile a problemei de programare liniar, P, rezult
c mulimea soluiilor admisibile ale lui P este intersecia tuturor hiperplanelor nchise
definite de setul de restricii ale lui P.

Exemple.
1.4. Fie 3 = n ; restricia 15 5 3 5 + + z y x definete semispaiul nchis
( ) ( )( ) { } 15 , , 5 , 3 , 5 , , =
T T
z y x z y x H , prezentat n figura 1.1.

z


3

3y+5x=15
5x+5z=15 5 y

3 5x+3y=15

x
Figura 1.1


1.5. Fie setul de restricii ale unei probleme de programare liniar, exprimat n forma
standard,
0
0
0
20 5 4 10
15 5 3 5

+ +
+ +
z
y
x
z y x
z y x

Mulimea soluiilor admisibile ale problemei este figurat prin zona haurat din figura
1.2.

Funcia obiectiv a unei probleme de programare liniar este x c
T
z = . Fie k o
constant. Graficul ecuaiei
k
T
= x c
este un hiperplan. n ipoteza n care problema de optim este una de maxim, trebuie
determinate acele puncte ( ) =
n
x x x ,..., ,
2 1
x R
n
din mulimea soluiilor admisibile pentru care
valoarea lui k este cea mai mare posibil. Din punct de vedere geometric, acest lucru revine la
determinarea unui hiperplan care intersecteaz mulimea soluiilor admisibile i pentru care k
este maxim.




z


3

(1,0,2)
5 y

2


x
Figura 1.2


Exemplul 1.6. Fie problema de programare liniar
Maximizeaz y x z 3 4 + =
cu restriciile
4 + y x
15 3 5 + y x
0 x
0 y
n figura 1.3 sunt prezentate mulimea soluiilor admisibile (patrulaterul cu vrfurile
(0,0), (3,0), |

\
|
2
5
,
2
3
, (0,4)) i hiperplanele 15 ,
2
27
, 12 = = = z z z .
y



4
|

\
|
2
5
,
2
3

12 = z

2
27
= z
15 = z
3 x

Figura 1.3

Graficele prezentate n figura 1.3 sugereaz ca soluie punctul |

\
|
2
5
,
2
3
(Kolman, Beck,
1995).

Teorema 1.1. Fie
2 1
, x x soluii admisibile ale unei probleme de programare liniar P.
Elementele mulimii,
( ) { } 1 0 , 1
2 1
n
+ = x x x R x
sunt soluii admisibile ale lui P.

Observaii
1. Pe baza teoremei 1.1, rezult c mulimea soluiilor admisibile ale unei probleme de
programare liniar este mulime convex.
2. Un semispaiu nchis este mulime convex.
3. Un hiperplan este mulime convex.
4. Intersecia unui numr finit de mulimi convexe (dac nu este mulimea vid) este
mulime convex i se numete poliedru convex.
5. Fie P o problem de programare liniar. Deoarece mulimea soluiilor admisibile ale
lui P, F, este intersecia tuturor hiperplanelor nchise definite de setul de restricii ale lui P,
rezult c F este poliedru convex (dac nu este mulimea vid).
6. Mulimea soluiilor unui sistem liniar de m ecuaii cu n necunoscute este convex.

Definiia 1.1. O mulime convex se numete mrginit dac este inclus ntr-un
dreptunghi, adic o mulime de tipul
{ }
i i i
n
b x a R = R x ,
unde ( )
n
x x x ,..., ,
2 1
= x ,
i i
b a , R, n i 1 . n caz contrar, mulimea se numete nemrginit.

Definiia 1.2. Un punct
n
R x se numete combinaie convex a punctelor
n
2 1
,..., , R x x x
p
dac exist R
p
c c c ,..., ,
2 1
cu
1
1
=

=
p
i
i
c ,
p i c
i
1 , 0
astfel nct

=
=
p
i
i i
c
1
x x .

Teorema 1.2. Mulimea tuturor combinaiilor convexe definite pe un set finit de
puncte din R
n
este convex.

Definiia 1.3. Fie S o mulime convex. Un punct S u se numete punct extrem al lui
S dac, pentru orice pereche de puncte distincte S
2 1
, x x ,
( ) 1 0 , 1
2 1
< < + x x u

Exemplul 1.7. Punctele de extrem ale mulimii convexe din figura 1.4 sunt A, B, C i
D.

Teorema 1.3. Fie S o mulime convex n R
n
. Un element S u este punct extrem
dac i numai dac nu este combinaie convex a nici unui subset al lui S (care nu conine u).
Teorema 1.4 (Teorema de punct extrem) Fie S mulimea soluiilor admisibile ale
unei probleme de programare liniar P.
1. Dac S este nevid i mrginit, atunci exist o soluie optimal a problemei P i
aceasta este punct extrem al lui S.
2. Dac S este nevid i nemrginit i P are o soluie optimal a problemei, atunci
aceasta este punct extrem al lui S.
3. Dac P nu are soluie optimal, atunci S este fie vid, fie nemrginit.

y
A
B




C D
0 x

Figura 1.4

Exemple
1.8. Fie problema de optimizare liniar,
Maximizeaz ( ) y x y x f 4 12 , + =
cu restriciile
0
0
10 2 5
9 3 3

+
+
y
x
y x
y x


n figura 1.5 este prezentat mulimea soluiilor admisibile, S. S este mrginit i
punctele extrem sunt ( ) ( ) ( ) 3 , 0 ,
3
5
,
3
4
, 0 , 2 , 0 , 0 = |

\
|
= = = D C B A . Pe baza teoremei de punct
extrem, rezult c o soluie optimal este n mulimea { } D C B A , , , . Deoarece
( ) ( ) ( ) ( ) 12 ,
3
68
, 24 , 0 = = = = D f C f B f A f , rezult c valoarea maxim a lui f este 24 i o
soluie optimal este 0 , 2 = = y x .

1.9. Fie problema de optimizare liniar
Maximizeaz ( ) y x y x f 4 2 , + =
cu restriciile
0
0
12 4 3
12 3 2

+
+
y
x
y x
y x

n aceast situaie mulimea soluiilor admisibile este vid, restriciile fiind
conflictuale.

1.10 Fie problema de optimizare liniar,
Maximizeaz ( ) y x y x f 3 2 , + =
cu restriciile
0
0
12 3 2
9 3

+
+
y
x
y x
y x

y
5


5x+2y=10

3



|

\
|
3
5
,
3
4

S
3x+3y=9

0 2 3 x

Figura 1.5


n figura 1.6 este prezentat mulimea soluiilor admisibile, S. S este mrginit i
punctele extrem sunt ( ) ( ) ( ) ( ) 3 , 0 , 2 , 3 , 0 , 6 , 0 , 0 = = = = D C B A . Pe baza teoremei de punct
extrem, rezult c o soluie optimal este n mulimea { } D C B A , , , . Deoarece
( ) ( ) ( ) ( ) 9 , 12 , 12 , 0 = = = = D f C f B f A f , rezult c valoarea maxim a lui f este 12 i B i C
sunt soluii optimale.
Punctele de pe segmentul de dreapt [ ] BC , definite de,
(1.19) ( ) ( ) ( )( ) ( ) 1 0 , 2 2 , 3 3 2 , 3 1 0 , 6 , + = + = y x
sunt soluii optimale ale problemei. ntr-adevr, pentru ( ) y x, definit de (1.19), obinem,
( ) 12 6 6 6 6 , = + + = y x f .

y



4
2x+3y=12


3

S (3,2)
x+3y=9



0 6 9 x
Figura 1.6





1.4. Soluiile de baz ale problemelor de programare liniar

n 1.3 este prezentat o modalitate de calcul a unei soluii optimale a unei probleme
de programare liniar pe baza punctelor extrem. Metoda prezentat este n general util n
cazul problemelor cu maxim 3 variabile, soluiile problemelor cu mai mult de 3 variabile
neputnd fi calculate geometric n mod direct. Pentru uurarea calculului punctelor extrem,
este descris reprezentarea algebric, pe baza noiunii de soluie de baz a unei probleme de
programare liniar.
Considerm n continuare problema de programare liniar n forma canonic, definit
prin,
(1.20) Maximizeaz x c
T
z =
cu restriciile
(1.21) b Ax =
(1.22) 0 x
unde c x, R
s
, b R
m
, A este matrice s m . Fie A
1
, A
2
,..., A
s
vectorii care reprezint
coloanele matricei A. Relaia (1.21) poate fi exprimat prin,
(1.23) b A A A = + + +
s s
x x x ...
2 2 1 1
,
unde ( )
s
x x x ,..., ,
2 1
= x .
Dezvoltarea prezentat n continuare este realizat n ipotezele
1. s m
2. m coloane ale lui A sunt liniar independente (rangul lui A este m).

Observaie. Ipotezele de lucru mai sus menionate sunt ndeplinite n situia n care
problema de programare liniar n forma canonic provine dintr-o problem de programare
liniar n forma standard (vezi 1.2).

Mulimea celor m coloane liniar independente ale matricei A formeaz o baz n R
m
.
Vom considera n continuare o renumerotare a coloanelor lui A astfel nct ultimile m coloane
s fie liniar independente i fie S mulimea soluiilor admisibile ale problemei definite de
(1.20), (1.21) i (1.22).

Teorema 1.5. Dac
' '
2
'
1
,..., ,
m
A A A sunt ultimile m coloane ale lui A i sunt liniar
independente i dac
b A A A = + + +
' ' '
2
'
2
'
1
'
1
...
m m
x x x ,
unde m i x
i
1 , 0
'
, atunci ( )
' '
2
'
1
,..., , , 0 ,..., 0 , 0
m
x x x = x este punct extrem al lui S. (Kolman,
Beck, 1995)

Teorema 1.6. Dac ( )
s
x x x ,..., ,
2 1
= x este punct extrem al lui S, atunci coloanele
matricei A care corespund componentelor strict pozitive ale lui x formeaz un set de vectori
liniar independeni n R
m
. (Kolman, Beck, 1995)

Corolarul 1.1. Dac x este punct extrem al lui S i
r
i i i
x x x ,..., ,
2 1
sunt r componente
strict pozitive ale lui x, atunci m r i setul de coloane
r
i i i
A A A ,..., ,
2 1
care corespund
componentelor
r
i i i
x x x ,..., ,
2 1
pot fi extinse la un set de m vectori liniar independeni n R
m
prin
adugarea a m-r coloane corespunztor alese din matricea A. (Kolman, Beck, 1995)

Teorema 1.7. Cu notaiile de pn acum, rezult c orice punct extrem al mulimii S
are cel mult m componente strict pozitive, restul fiind nule. (Kolman, Beck, 1995)
Observaie. Dac rangul matricei A este m, rezult c vectorii care formeaz liniile lui
A sunt liniar independeni. Rezult c sistemul constrngerilor nu conine ecuaii redundante.

Fie sistemul cu m ecuaii i s necunoscute definit de (1.21), cu s m . Presupunem c
matricea A are m coloane vectori liniar independeni i fie { }
m
i i i
T A A A ,..., ,
2 1
= o mulime
de m coloane liniar independente ale lui A. Seteaz pe 0 cele s-m variabile ce corespund
coloanelor matricei A dar care nu aparin lui T. Pe baza reprezentrii (1.23) a sistemului
(1.21), rezult reprezentarea,
(1.24) b A A A = + + +
m m
i i i i i i
x x x ...
2 2 1 1

Relaia (1.24) definete un sistem de m ecuaii cu m necunoscute, cu soluie unic.

Definiia 1.4. Se numete soluie de baz vectorul format cu cele m valori obinute n
urma rezolvrii sistemului (1.24), numite variabile de baz, i cu s-m componente nule,
numite variabile non-baz.

Definiia 1.5. Se numete soluie de baz admisibil a problemei de programare
liniar definit de (1.20), (1.21) i (1.22) o soluie de baz cu proprietatea c este soluie
admisibil (o soluie de baz care ndeplinete i condiia de nenegativitate (1.22)).

Teorema 1.8. Fie P problema de programare liniar definit de (1.20), (1.21) i (1.22)
i S mulimea soluiilor admisibile ale lui P. Orice soluie de baz i admisibil a lui P este
punct extrem al lui S i, reciproc, orice punct exterm al lui S este soluie de baz i admisibil
a lui P. (Kolman, Beck, 1995)

Teorema 1.9. Fie P problema de programare liniar definit de (1.20), (1.21) i (1.22).
P are un numr finit de soluii de baz i admisibile, inferior lui
( )! !
!
m s m
s
C
m
s

= , care
reprezint numrul soluiilor de baz ale lui P.

Fie P problema de programare liniar n form standard definit de (1.6), (1.7) i (1.8),
S mulimea soluiilor admisibile ale lui P i S mulimea soluiilor admisibile ale variantei
canonice ale lui P. Urmtoarea teorem stabilete relaia dintre S i S.

Teorema 1.10. Orice punct extrem al lui S determin obinerea unui punct extrem al
lui S prin adugarea variabilelor slack. Reciproc, orice punct extrem al lui S determin, prin
trunchiere (eliminarea variabileleo slack), obinerea unui punct extrem al lui S.

Teorema 1.11. Mulimea convex a soluiilor admisibile ale unei probleme de
programare liniar n form standard are un numr finit de puncte extreme.

Prin utilizarea teoremelor 1.4 i 1.11 este obinut urmtoarea procedur de rezolvare
a unei probleme de programare liniar n forma standard, P.
Pas 1. Determin P, forma canonic a problemei P.
Pas 2. Calculeaz mulimea soluiilor de baz i selecteaz S, subsetul soluiilor
admisibile de baz ale lei P.
Pas 3. Selecteaz soluiile optimale din setul S i determin soluiile optimale ale lui
P prin trunchiere.


Exemplul 1.11. Fie problema de programare linir n forma standard,
Maximizeaz [ ]
(

=
y
x
z 100 120
cu restriciile
0
15
8
3 5
2 2

y
x
y
x


Forma canonic rezult prin introducerea a dou variabile slack, u,v,
Maximizeaz [ ]
(

=
y
x
z 100 120
cu restriciile
0 ,
15
8
1 0 3 5
0 1 2 2

(
(
(
(

=
(
(
(
(

v
u
y
x
v
u
y
x


Mulimea soluiilor de baz rezult prin considerarea tuturor variantelor de 2 coloane
liniar independente, astfel.
Primele dou coloane ale lui A sunt liniar independente;vom selecta ca
variabile primitve x i y, iar variabilele u i v sunt non-baz. Rezult
2
5
,
2
3
= = y x i soluia de baz |

\
|
0 0
2
5
2
3
. Soluia obinut este admisibil
(toate componentele sunt pozitive).
Coloanele 1 i 3 sunt liniar independente. Variabilele de baz sunt x i u, iar
variabilele non-baz sunt y i v. Rezult soluia de baz ( ) 0 2 0 3 , care este
admisibil.
Coloanele 1 i 4 sunt liniar independente. Variabilele de baz sunt x i v, iar
variabilele non-baz sunt y i u. Rezult soluia de baz ( ) 5 0 0 4 , care nu
este admisibil (ultima component este negativ).
Coloanele 2 i 3 sunt liniar independente. Variabilele de baz sunt y i u, iar
variabilele non-baz sunt x i v. Rezult soluia de baz ( ) 0 2 5 0 , care nu
este admisibil.
Coloanele 2 i 4 sunt liniar independente. Variabilele de baz sunt y i v, iar
variabilele non-baz sunt x i u. Rezult soluia de baz ( ) 3 0 4 0 , care este
admisibil.
Ultimile dou coloane ale lui A sunt liniar independente;vom selecta ca
variabile de baz u i v, iar variabilele x i y sunt non-baz. Rezult
15 , 8 = = v u i soluia de baz ( ) 15 8 0 0 , care este soluie admisibil.

Mulimea soluiilor baz admisibile, deci a punctelor extreme ale mulimii soluiilor
admisibile ale problemei de programare liniar n forma canonic este,
( ) ( ) ( )
)
`

\
|
15 8 0 0 , 3 0 4 0 , 0 2 0 3 , 0 0
2
5
2
3

maximul funciei obiectiv este 430 i se atinge pentru
|

\
|
0 0
2
5
2
3
, care este o soluie optimal
a problemei n forma canonic. Pentru problema iniial, rezult soluia optimal prin
trunchierea punctului
|

\
|
0 0
2
5
2
3
cu variabile de baz x i y,
|

\
|
2
5
2
3
.


CAPITOLUL 2. METODA SIMPLEX PENTRU REZOLVAREA
PROBLEMELOR DE PROGRAMARE LINIAR


2.1. Metoda simplex pentru probleme n forma standard. Studiu de
caz

n capitolul 1, seciunea 1.4 este prezentat o procedur de calcul a unei soluii
optimale pe baza mulimii punctelor extrem. Metoda simplex este o variant mai eficient de
calcul a unei soluii optimale i este bazat, de asemenea, pe calculul soluiilor admisibile de
baz.
Fie problema de programare liniar n forma standard,
(2.1) x c
T
z =
cu restriciile
(2.2) b Ax
(2.3) 0 x

unde A ( )
n j m i
ij
a

=
1 , 1
este o matrice n m , [ ]
T
n
x x x ,..., ,
2 1
= x , [ ]
T
n
c c c ,..., ,
2 1
= c i
[ ]
T
m
b b b ,..., ,
2 1
= b . n continuare vom presupune 0 b . Prin introducerea a m variabile slack,
notat
m n n
x x
+ +
,...,
1
, este obinut forma canonic a problemei de programare liniar definit
prin (2.1), (2.2) i (2.3),
(2.4) x c
T
z =
cu restriciile
(2.5) b Ax =
(2.6) 0 x

unde A este o matrice ( ) m n m +

|
|
|
|
|

\
|
=
1 ... 0 0 ...
0 ... 1 0 ...
0 ... 0 1 ...
2 1
2 22 21
1 12 11
mn m m
n
n
a a a
a a a
a a a
M M M M M M M M
A

[ ]
T
m n n n
x x x x x
+ +
= ,..., , ,..., ,
1 2 1
x , [ ]
T
n
c c c 0 ,..., 0 , ,..., ,
2 1
= c i [ ]
T
m
b b b ,..., ,
2 1
= b .

Definiia 2.1. Fie S mulimea soluiilor admisibile ale problemei de programare liniar
definit de (2.1), (2.2) i (2.3).. Dou puncte extrem ale lui S sunt adiacente dac au n comun,
ca soluii de baz i admisibile, una i numai una din variabilele de baz considerate.

Exemplul 2.1
Pentru prezentarea metodei simplex, vom considera n continuare urmtoarea
problem de tip analiza activitii de producie.
n procesul de prelucrare a butucilor, o fabric de cherestea furnizeaz scndur de
dou tipuri: finisat, notat cu Prod1, i pentru construcii, notat cu Prod2. Pentru obinerea
a 1000 de uniti de scndur finisat procedura de tiere dureaz 2 ore i procedura de
rindeluire dureaz 5 ore. Pentru furnizarea a 1000 uniti de scndur de construcii, procesul
de tiere dureaz 2 ore i cel de rindeluire necesit 3 ore. Fierstrul industrial cu care este
realizat tierea poate fi folosit 8 ore pe zi i rindeaua este disponibil 15 ore pe zi.
Dac profitul obinut din producerea a 1000 uniti de produs este de 120 lei n cazul
scndurii finisate, respectiv 100 de lei n cazul scndurii de construcii, se cere s se determine
cantitatea de scndur din fiecare tip, n mii de uniti, care trebuie produs zilnic pentru
maximizarea profitului fabricii.
Modelul matematic este urmtorul. Fie x cantitatea din Prod1 i y cantitatea din Prod2
fabricate zilnic. Procesul de tiere necesit zilnic y x 2 2 + ore, n timp ce rindeluirea dureaz
y x 3 5 + ore. Rezult,
15 3 5
8 2 2
+
+
y x
y x

Evident,
0 , 0 y x .
Profitul este calculat prin y x z 100 120 + = .
Este obinut problema de programare liniar n forma standard,
Maximizeaz y x z 100 120 + =
cu restriciile
15 3 5
8 2 2
+
+
y x
y x


0
0

y
x

n forma canonic, problema este formulat prin,
(2.7) Maximizeaz y x z 100 120 + =
cu restriciile
(2.8)
15 3 5
8 2 2
= + +
= + +
v y x
u y x

(2.9) 0 , 0 , 0 , 0 v u y x

Metoda simplex presupune parcurgerea urmtorilor pai.

Pas 1. Determinarea unei soluii de baz admisibile iniiale. Construcia tabelului
iniial
Deoarece 0 b , rezult c soluia de baz obinut prin considerarea celor m variabile
slack ca variabile de baz (corespund ultimilor m coloane ale matricei A, care sunt vectori
liniar independeni) i a variabilelor non-slack ca variabile non-baz,
0 ...
2 1
= = = =
n
x x x ,
1 1
b x
n
=
+
,...,
m m n
b x =
+

este admisibil.
Din (2.4) rezult,
(2.10) 0 0 ... 0 ...
1 2 2 1 1
= +
+ +
z x x x c x c x c
m n n n n

i vom considera z drept variabil.
Tabelul iniial, figurat mai jos, este construit astfel. n capul de tabel este trecut setul
de variabile (inclusiv z). Primele linii corespund setului de constrngeri (2.5). Ultima linie,
numit linia obiectiv, rezult din (2.10). n partea stng a tabelului sunt indicate variabilele
de baz, iar n partea dreapt soluia de baz iniial i admisibil i valoarea funciei obiectiv.

Pentru exemplul 2.1, rezult,
0 = = y x
8 = u , 15 = v
Soluia admisibil de baz la momentul iniial este (0,0).
Din (2.7) obinem,
0 100 120 = + z y x
i vom considera z drept variabil.

Tabelul iniial este descris prin tabelul 2.2.

1
x
2
x
...
n
x
1 + n
x
2 + n
x
...
m n
x
+
z
1 + n
x
11
a
12
a
...
n
a
1

1 0 ... 0 0
1
b
2 + n
x
21
a
22
a
...
n
a
2

0 1 ... ... ...
2
b
... ... ... ... ... ... ... ... 0 0 ...
m n
x
+

1 m
a
2 m
a
...
mn
a
0 0 ... 1 0
m
b

1
c
2
c
...
n
c
0 0 ... 0 1 0

Tabelul 2.1

x y u v z
u 2 2 1 0 0 8
v 5 3 0 1 0 15
-120 -100 0 0 1 0
Tabelul 2.2


Pas 2. Verificarea criteriului de optimalitate
Pe baza relaiei (2.10), funcia obiectiv este definit prin,
(2.11)

+ =
baz variabil baz non
0
i j
x
i
x
j j
x x d z
n relaia (2.11) un coeficient al primei sume este pozitiv dac elementul
corespunztor din linia funciei obiectiv a tabelului 2.1 i care corespunde unei variabile non-
baz este negativ. Valoarea lui z poate fi mrit prin creterea valorii oricrei variabile non-
baz al crui corespondent n linia obiectiv este negativ. Este obinut urmtorul criteriu de
optimalitate.
Criteriul de oprire. Dac linia obiectiv a tabelului conine n poziiile variabilelor
non-baz elemente nenegative, atunci este obinut maximul funciei obiectiv i calculul se
ncheie.

Pas 3. Selectarea coloanei pivotale (variabila de intrare)
Vom presupune n continuare c nu este ndeplinit criteriul de optimalitate, adic
exist cel puin un element strict negativ n linia obiectiv i care corespunde unei variabile
non-baz.
n aceast etap este determinat, pe baza punctului extrem dat, a unui punct extrem
adiacent care s determine obinerea unei valori mai mari a funciei obiectiv. Acest lucru
revine la selectarea unei variabile non-baz, VE, care va crete de la valoarea 0 i nlocuirea
unei alte variabile de baz, care va scdea la valoarea 0. Variabila VE este numit de intrare,
deoarece, la iteraia urmtoare, VE intr n setul variabilelor de baz. Coloana n care se
gsete VE este numit coloan pivotal.
Selectarea lui VE poate fi realizat n mai multe variante, dou dintre ele fiind
prezentate n continuare.
1. Deoarece cea mai mare mbuntire unitar este adus funciei obiectiv prin
selectarea acelei variabile cu proprietatea c elementul corespunztor din linia obiectiv este
negativ i cel mai mic cu aceast proprietate, selecteaz ca variabil de intrare n sistem acea
variabil. Dac exist mai multe cu aceast proprietate, selecteaz aleator una dintre ele.
2. Regula Bland. Alege drept coloan pivotal prima coloan (cea cu indicele minim)
cu element strict negativ n linia obiectiv.

Observaii.
1. Regula Bland este utilizat dac algoritmul implementat prin utilizarea primei
variante de alegere a coloanei pivotale cicleaz (numai dac este atins o soluie degenerat).
Se numete soluie degenerat o soluie n care cel puin o variabil de baz este nul.
2. n general obinerea unei soluii degenerate nu determin neaprat ciclarea
algoritmului simplex.

Pentru exemplul considerat, ca variabil de intrare poate fi aleas x, ambele reguli de
selecie fiind ndeplinite n acest caz particular.

Pas 4. Selectarea liniei pivotale (variabila de ieire)
Pentru explicarea procedurii de selectare a variabilei care iese din setul variabilelor de
baz, vom considera n continuare exemplul 2.1. Pe baza relaiilor (2.8), obinem,
y x v
y x u
3 5 15
2 2 8
=
=

Deoarece y rmne setat pe valoarea 0, rezult,
(2.12)
x v
x u
5 15
2 8
=
=

Din (2.12) obinem c x i u, respectiv x i v sunt invers proporionale, deci creterea
lui x determin descreterea valorilor lui u i v. Valoarea variabilei x poate fi mrit pn cnd
una din variabilele u, v devine negativ. Pe baza relaiilor (2.9) i (2.12) obinem,
x v
x u
5 15 0
2 8 0
=
=
, deci
3
5
15
4
2
8
=
=
x
x

Creterea maxim a lui x este deci la valoarea 3. Pentru 3 = x , obinem o nou soluie
admisibil,
0 , 2 , 0 , 3 = = = = v u y x
care este soluie de baz i adiacent cu punctul extrem precedent. Noul set de variabile
primitve este { } u x, . Variabila v devine non-baz i este variabil de ieire (ea prsete setul
variabilelor de baz). Linia variabilei de ieire se numete linie pivotal.

Creterea variabilei de intrare este dat de rapoartele dinte elementele de pe coloana
cea mai din dreapta (soluia admisibil de baz de la momentul curent) i valorile
corespunztoare de pe coloana pivotal (n cazul nostru,
)
`

5
15
,
2
8
), numite rapoarte. Cea
mai mic raie nenegativ (i nenul) este valoarea maxim posibil cu care poate crete
variabila de intrare; variabila de baz care eticheteaz linia pentru care este atins valoarea
minim a rapoartelor este variabila de ieire, linia respectiv fiind linia pivotal. Dac nu
exist nici un raport nenegativ i nenul, variabila de intrare poate crete orict i problema
de programare liniar nu are soluie optim finit, caz n care algoritmul se oprete.

Pas 5. Construcia noului tabel
n continuare este construit noul tabel pe exemplul considerat. Din a doua ecuaie a
sistemului (2.8), obinem,
v y x
5
1
5
3
3 = ,
3
5
1
5
3
= + + v y x
i, nlocuind n prima ecuaie a sistemului (2.8), rezult
2
5
2
5
4
= + v u y
Rezult,
360 24 28 = + + z v y
i, deoarece n noua soluie de baz admisibil 0 = = v y , obinem 360 = z .
Tabelul rezultat este,

x y u v z
u 0
5
4

1
5
2

0 2
x 1
5
3

0
5
1

0 3
0 -28 0 24 1 360
Tabelul 2.3

La acest pas este construit tabelul rezultat n urma modificrii setului soluiilor de baz
admisibile prin stabilirea variabilelor de intrare i de ieire. Procedura, numit de pivotare,
este descris astfel.
Pas 5.1. Determin pivotul, k, elementul situat n poziia (lp,cp), adic pe linia i
coloana pivotal i marcheaz variabilele de intrare i ieire.
Pas 5.2. Multiplic linia pivotal cu
k
1

Pas 5.3. Elementele coloanei pivotale mai puin pivotul sunt modificate n 0 prin,
efectuarea unei operaii primitive la nivel de linie: pentru fiecare linie i, lp i , adaug linia
pivotal nmulit cu o constant, astfel nct elementul din poziia (lp,cp) s fie 0. Constanta
este determinat innd cont de faptul c noul pivot este 1.
Pas 5.4. nlocuiete n tabelul rezultat eticheta liniei pivotale cu variabila de intrare.
Dup ncheierea procedurii de pivotare, reia algoritmul de la pasul 2.

Observaie. Tabelul 2.3 rezult n urma aplicrii procedurii de pivotare tabelului 2.2.

n continuare vom aplica algoritmul pentru exemplul considerat, pn la obinerea
soluiei optimale.
Valoarea negativ nenul minim din linia obiectiv este -28, deci variabila de intrare
este y. Deoarece
2
5
5 ,
2
5
min
5
3
3
,
5
4
2
min =
)
`

, variabila de ieire este u. Linia pivotal este 1,


coloana pivotal este 2 i pivotul este
5
4
. Aplicarea procedurii de pivotare revine n
continuare la efectuarea urmtoarelor operaii,
elementele din linia 1 sunt mprite la
5
4

din linia 2 este sczut linia 1 nmulit cu
5
3

din linia 3 este sczut linia 1 nmulit cu -28.

Rezult tabelul 2.4,

x y u v z
y 0 1
4
5

2
1

0
2
5

x 1 0
4
3

2
1

0
2
3

0 0 35 10 1 430
Tabelul 2.4

Deoarece nu exist elemente nenule i negative n linia obiectiv din tabelul 2.4, rezult
c a fost obinut soluia optimal 0 ,
2
5
,
2
3
= = = = v u y x i valoarea maxim a funciei
obiectiv, 430.


Exemplul 2.2. Fie problema de programare liniar,
Maximizeaz z y x t + + = 3 2
cu restriciile
0 , ,
10 2
2

+

z y x
z y x
z y x


Forma canonic este,
Maximizeaz z y x t + + = 3 2
cu restriciile
0 , , , ,
10 2
2

= + +
= +
v u z y x
v z y x
u z y x


Tabelul iniial este figurat n 2.5.



x y z u v t
u 1 -1 -1 1 0 0 2
v -2 1 -1 0 0 0 10
-2 -3 -1 0 0 1 0
Tabelul 2.5

Variabila de intrare este y i variabila de ieire este v. Linia pivotal este 2, coloana
pivotal este 2 i pivotul este 1. Aplicarea procedurii de pivotare revine n continuare la
efectuarea urmtoarelor operaii,
din linia 1 este sczut linia 2 nmulit cu -1
din linia 3 este sczut linia 2 nmulit cu -3.
Obinem tabelul 2.6

x y z u v t
u -1 0 -2 1 0 0 2
y -2 1 -1 0 0 0 10
-8 0 -4 0 0 1 0
Tabelul 2.6

Cea mai mic valoare negativ este -8, dar nici un element din coloana pivotal nu
este pozitiv, deci nici un raport nu este pozitiv. Rezult c problema nu are soluie optim
finit.

2.2. Variabile artificiale. Metoda n dou faze

n seciunea 2.1. este prezentat metoda simplex pentru rezolvarea problemei de
programare liniar dat de relaiile (2.1), (2.2) i (2.3) n ipoteza 0 b , care permite
determinarea unei soluii de baz admisibil la momentul iniial. n continuare este descris o
procedur de introducere a unor variabile care s poat fi considerate variabile de baz, n
cazul rezolvrii unei probleme de programare liniar general, n forma,
Maximizeaz
(2.9)
n n
x c x c x c z + + + = ...
2 2 1 1

cu restriciile
(2.10)
( )
( )
( )

= + + +
= + + +
= + + +
m n mn m m
n n
n n
b x a x a x a
b x a x a x a
b x a x a x a
, ...
...
, ...
, ...
2 2 1 1
2 2 2 22 1 21
1 1 2 12 1 11

(2.11) n i x
i
1 , 0
Fiecare inegalitate din sistemul de restricii (2.10) poate fi transformat astfel nct
membrul drept s fie nenegativ, prin eventuala nmulire a inegalitii cu -1. Inegalitile
sistemului (2.10) pot fi reordonate astfel nct (2.10) s fie echivalent cu,

( )
( )
( )
( )


= + + +
= + + +
= + + +


+ + +
+ + +
+ + +


+ + +
+ + +
+ + +
2
2 2 1 1
2 2 2 22 1 21
1 1 2 12 1 11
2
2 2 1 1
2 2 2 22 1 21
1 1 2 12 1 11
1
2 2 1 1
2 2 2 22 1 21
1 1 2 12 1 11
1 , 0 "
" " ... " "
...
" " ... " "
" " ... " "
12 . 2
1 , 0 '
' ' ... ' '
...
' ' ... ' '
' ' ... ' '
12 . 2
1 , 0
...
...
...
...
12 . 2
12 . 2
3 3 3 3
2 2 2 2
1 1 1 1
r i b
b x a x a x a
b x a x a x a
b x a x a x a
c
r i b
b x a x a x a
b x a x a x a
b x a x a x a
b
r i b
b x a x a x a
b x a x a x a
b x a x a x a
a
i
r n n r r r
n n
n n
i
r n n r r r
n n
n n
i
r n n r r r
n n
n n


n sistemele (2.12a) i (2.12b), inegalitile sunt transformate n egaliti prin
introducerea variabilelor slack nenegative
1
1 , r i x
i n

+
, respectiv
2
1 ,
1
r i x
i r n

+ +
, astfel,
pentru (2.12a):
(2.13a)
1
1
1 , 0 , r i b b x x a
i i i n
n
j
j ij
= +
+
=


pentru (2.12b)
(2.13b)
2
1
1 , 0 ' , ' '
1
r i b b x x a
i i i r n
n
j
j ij
=
+ +
=



Rezult o problem de programare liniar n forma canonic,
Maximizeaz (2.14)

=
=
s
j
j j
x c z
1

cu restriciile
(2.15) m i b x a
i
s
j
j ij
=

=
1 ,
1

(2.16) s j x
j
1 , 0
i astfel nct m i b
i
1 , 0 .

Determinarea unei soluii de baz admisibile poate fi realizat prin metoda n dou
faze, descris n continuare.
Pentru obinerea unei soluii de baz fezabile, n sistemul (2.15) sunt introduse m
variabile, numite artificiale i notate cu
i
y , obinndu-se problema,
Maximizeaz (2.17)

=
=
s
j
j j
x c z
1

cu restriciile
(2.18) m i b y x a
i i
s
j
j ij
= +

=
1 ,
1

(2.19)
m i y
s j x
i
j


1 , 0
1 , 0

i astfel nct m i b
i
1 , 0 .
Rezult prin calcul direct c un vector x R
s
este soluie admisibil a problemei
definite de (2.14), (2.15) i (2.16) dac i numai dac
(

0
x
R
s+m
este soluie admisibil a
problemei definite de (2.17), (2.18) i (2.19). Pentru problema dat prin (2.17), (2.18) i (2.19)
o soluie de baz admisibil care poate fi selectat iniial este b y 0 x = = , . n continuare este
dezvoltat o modalitate de utilizare a algoritmului simplex pentru obinerea unei soluii de
baz admisibil n care 0 y = i, n consecin a unei soluii de baz admisibil a problemei
definite de (2.14), (2.15) i (2.16). Aceast procedur este constiutit n faza 1 a metodei.


Faza 1. Deoarece n (2.19) fiecare
i
y este nenegativ, o modalitate de a ne asigura c
fiecare
i
y este nul este de a face suma variabilelor artificiale 0. Este considerat, astfel, o
problem auxiliar n care este minimizat suma variabilelor artificiale cu seturile de restricii
(2.18) i (2.19).
Dac minimul nu este nul, rezult c cel puin o variabil artificial este nenul, deci
strict pozitiv. n plus, nu toate valorile variabilelor artificiale pot fi 0, deoarece minimul
sumei lor este strict pozitiv. n acest caz, problema original nu are soluii admisibile.
n faza 1, sistemul problema de programare liniar n forma canonic definit prin
(2.14), (2.15) i (2.16) este transformat conform (2.17), (2.18) i (2.19) i este introdus noua
problem, definit prin,
(2.20) minimizeaz

=
=
m
i
i
y z
1
'
cu restriciile
(2.21) m i b y x a
i i
s
j
j ij
= +

=
1 ,
1

(2.22)
m i y
s j x
i
j


1 , 0
1 , 0

i astfel nct m i b
i
1 , 0 .
n problema de minim (2.20) cu restriciile (2.21) i (2.22), soluia de baz admisibil
iniial este selectat prin considerarea vectorului [ ]
T
m
b b b ,..., , , 0 ,..., 0 , 0
2 1
, obinut prin setrile,
m i b y
s j x
i i
j
=
=
1 ,
1 , 0
.
Justificarea selectrii vectorului [ ]
T
m
b b b ,..., , , 0 ,..., 0 , 0
2 1
ca soluie de baz admisibil
este urmtoarea. Scris n form matriceal, problema dat prin (2.20), (2.21) i (2.22)
genereaz pe post de coloane corespunztoare variabilelor artificial matricea unitate de ordin
m, deci variabilele artificiale sunt variabile de baz (ele corespund unui sistem liniar
independent din spaiul R
m
).
Pentru a aplica metoda simplex, problema de minim este transformat ntr-o problem
de maxim prin nmulirea cu -1 n relaia (2.20) i rezult,
(2.23) 0
1
= +

=
m
i
i
y z
unde ' z z = . Deoarece n metoda simplex variabilele de baz la momentul iniail sunt
variabilele slack, cu coeficieni 0 n funcia obiectiv, trebuie ca variabilele artificiale s fie
nlocuite n (2.23). Utiliznd (2.21), obinem,
pentru m i 1

=
=
s
j
j ij i i
x a b y
1
i
(2.24)

= = =
=
m
i
i
s
j
m
i
j ij
b x a z
1 1 1
.
n continuare este rezolvat problema de programare liniar dat prin (2.24), (2.21) i
(2.22) prin aplicarea metodei simplex.
Dac minimul obinut este 0, treci la faza 2. La finalul fazei 1 fie variabilele artificiale
sunt toate non-baz, fie exist variabile artificiale de baz, dar cu valoare 0. n continuare este
tratat prima situaie, cea de-a doua variant fiind rezolvat cu ajutorul noiunii de dualitate
prezentate n capitolul 3.

Faza 2. Deoarece n soluia optimal obinut n urma aplicrii fazei 1 variabilele
artificiale sunt toate non-baz, soluia poate fi utilizat ca soluie admisibil de baz n
problema original definit prin relaiile (2.14), (2.15) i (2.16). Tabelul final al fazei 1 devine
tabel iniial al fazei 2, cu urmtoarele modificri,
elimin coloanele etichetate cu variabilele artificiale;
calculeaz noua linie obiectiv astfel. Consider funcia obiectiv definit de
(2.14). Elementul liniei obiectiv ce corespunde unei variabile de baz este
anulat prin adugarea liniei variabilei de baz nmulit cu o constant aleas
corespunztor.

Exemplul 2.3. Fie problema de programare liniar n forma canonic,
Maximizeaz
6 5 4 3 2 1
2 3 2 x x x x x x z + =
cu restriciile


= + + + +
= + + + + +
= + + + +
6 1 , 0
24 3 2 6 3
18 2 2
12 2 2
5 4 3 2 1
6 5 4 3 2 1
5 4 3 2 1
i x
x x x x x
x x x x x x
x x x x x
i


Faza 1. Sunt introduse variabilele artificiale
3 2 1
, , y y y i rezult problema auxiliar,
(2.25) Minimizeaz
3 2 1
' y y y z + + =
cu restriciile
(2.26)



= + + + + +
= + + + + + +
= + + + + +
3 1 , 0
6 1 , 0
24 3 2 6 3
18 2 2
12 2 2
3 5 4 3 2 1
2 6 5 4 3 2 1
1 5 4 3 2 1
j y
i x
y x x x x x
y x x x x x x
y x x x x x
j
i


Pentru transformarea problemei dat prin relaiile (2.25) i (2.26) ntr-o problem de
maxim, prin ' z z = , rezult funcia obiectiv
0
3 2 1
= + + + y y y z
Pe baza relaiilor (2.26), rezult

=
=
=
5 4 3 2 1 3
6 5 4 3 2 1 2
5 4 3 2 1 1
3 2 6 3 24
2 2 18
2 2 12
x x x x x y
x x x x x x y
x x x x x y

i funcia obiectiv,
(2.27) 54 6 3 5 10 5
6 5 4 3 2 1
= x x x x x x z

Soluia de baz admisibil la momentul iniial este,
24 , 18 , 12
6 1 , 0
3 2 1
= = =
=
y y y
i x
i


Tabelul iniial este,

1
x
2
x
3
x
4
x
5
x
6
x
1
y
2
y
3
y

1
y

1 2 2 1 1 0 1 0 0 12
2
y

1 2 1 1 2 1 0 1 0 18
3
y

3 6 2 1 3 0 0 0 1 24
-5 -10 -5 -3 -6 -1 0 0 0 -54
Tabelul 2.7

Variabila de intrare este
2
x . Deoarece
6
24
6
24
,
2
18
,
2
12
min =
)
`

, rezult c variabila
care prsete sistemul este
3
y . Elementul pivotal este 6. Prin pivotare este obinut tabelul
2.8.

1
x
2
x
3
x
4
x
5
x
6
x
1
y
2
y
3
y

1
y

0 0
3
4

3
2

0 0 1 0
3
1

4
2
y

0 0
3
1

3
2

1 1 0 1
3
1

10
2
x

2
1

1
3
1

6
1

2
1

0 0 0
6
1

4
0 0
3
5

3
4

-1 -1 0 0
3
5

-14
Tabelul 2.8

Variabila de intrare este
3
x . Deoarece 3
3
4
4
3
1
4
,
3
1
10
,
3
4
4
min = =

, rezult c variabila
care de ieire este
1
y . Elementul pivotal este
3
4
. Prin pivotare rezult tabelul 2.9.

1
x
2
x
3
x
4
x
5
x
6
x
1
y
2
y
3
y

3
x

0 0 1
2
1

0 0
4
3

0
4
1

3
2
y

0 0 0
2
1

1 1
4
1

1
4
1

9
2
x

2
1

1 0 0
2
1

0
4
1

0
4
1

3
0 0 0
2
1

-1 -1
4
5

0
4
5

-9
Tabelul 2.9

Variabila de intrare este
6
x . Deoarece este un singur raport, rezult c variabila
care de ieire este
2
y . Pivotul este 1. Tabelul 2.10 este obinut prin pivotare.


1
x
2
x
3
x
4
x
5
x
6
x
1
y
2
y
3
y

3
x

0 0 1
2
1

0 0
4
3

0
4
1

3
6
x

0 0 0
2
1

1 1
4
1

1
4
1

9
2
x

2
1

1 0 0
2
1

0
4
1

0
4
1

3
0 0 0 0 0 0 1 1 1 0
Tabelul 2.10

Valoarea maxim a funciei obiectiv definit de relaia (2.27) este 0. Este obinut
soluia de baz i admisibil pentru problema de optimizare iniial,
(2.28) [ ]
T
9 , 0 , 0 , 3 , 3 , 0 = x

Faza a 2-a. Tabelul iniial al fazei a doua este obinut pe baza tabelului 2.10 astfel.
Sunt eliminate coloanele corespunztoare variabilelor artificiale. Funcia obiectiv este definit
prin,
(2.29) 0 2 3 2
6 5 4 3 2 1
= + + + + x x x x x x z
Deoarece soluia de baz admisibil la momentul iniial este definit de (2.28), rezult
c variabilele
6 3 2
, , x x x sunt baz i, n linia obiectiv, elementele de pe poziiile 2, 3 i 6
terbuie s fie nule. n acest scop, linia obiectiv a tabelului 2.10, notat LO, (considerat fr
coloanele etichetate cu variabilele artificiale) este prelucrat astfel:
a. LO=LO-2*linia 3 (etichetat cu
2
x )
b. LO=LO-3*linia 1 (etichetat cu
3
x )
c. LO=LO+2*linia 2 (etichetat cu
6
x ).
Rezult tabelul de la momentul iniial (pentru problema iniial),


1
x
2
x
3
x
4
x
5
x
6
x

3
x

0 0 1
2
1

0 0 3
6
x

0 0 0
2
1

1 1 9
2
x

2
1

1 0 0
2
1

0 3
-2 0 0
2
1

2 0 3
Tabelul 2.11

Variabila de intrare este
1
x . Deoarece este un singur raport, rezult c variabila
care de ieire este
2
x . Pivotul este
2
1
. Tabelul 2.12 este obinut prin pivotare.


1
x
2
x
3
x
4
x
5
x
6
x

3
x

0 0 1
2
1

0 0 3
6
x

0 0 0
2
1

1 1 9
1
x

1 2 0 0 1 0 6
0 4 0
2
1

4 0 15

Deoarece linia obiectiv are toate elementele nenegative, rezult c valoarea maxim a
funciei obiectiv (2.29) este 15 i o soluie optimal este,
[ ]
T
9 , 0 , 0 , 3 , 0 , 6 = x .

Observaie. Dac pentru problema iniial exist variabile ce pot fi utilizate ca
variabile de baz, atunci numrul variabilelor artificiale scade. O variabil poate fi considerat
de baz dac apare ntr-o singur constrngere a sistemului de restricii al problemei de
programare liniar iniiale, coeficientul su fiind 1. De exemplu, n problema rezolvat n 2.3,
variabila
6
x poate fi considerat de baz i sunt introduse doar dou variabile artificiale.
CAPITOLUL 3. DUALITATEA N PROBLEMELE DE
PROGRAMARE LINIAR


3.1. Dualitate. Problemele de programare liniar primal i dual

n cadrul acestei seciuni vom trata modalitatea de a asocia o problem de minim unei
probleme de programare liniar exprimat n forma standard. n general, o problem n forma
standard este de tipul planificarea produciei, n care un numr redus de resurse trebuie alocate
astfel nct profitul obinut s fie maxim. Problema asociat este cea de minimizare a
costurilor.

Definiia 3.1. Fie perechea de probleme de programare liniar,
(3.1) maximizeaz x c
T
z =
cu restriciile,
0 x
b Ax


i
(3.2) minimizeaz w b
T
z = '
cu restriciile,
0 w
c w A

T

unde A este o matrice n m , x c, sunt vectori cu n componente i w b, sunt vectori cu m
componente. Problemele (3.1) i (3.2) se numesc duale. Problema (3.1) se numete problema
primal, iar problema dat prin (3.2) se numete problema dual.

Teorema 3.1. Fie (3.1) problema primal. Problema dual asociat problemei (3.2)
este problema (3.1).

Teorema 3.2. Fie problema de programare liniar n forma canonic,
maximizeaz x c
T
z =
cu restriciile,
0 x
b Ax

=

Forma dual este problema de programare liniar,
minimizeaz w b
T
z = '
cu restriciile,
c w A
T

w nerestricionat.

Teorema 3.3. Fie problema de programare liniar,
maximizeaz x c
T
z =
cu restriciile,
b Ax
x nerestricionat
Forma dual este problema de programare liniar,
minimizeaz w b
T
z = '
cu restriciile,
0
=
w
c w A
T


Exemplul 3.1. Fie problema primal,
Maximizeaz [ ]
(

=
2
1
3 2
x
x
z
cu restriciile
(
(
(

(
(
(

1
5
2
1 4
2 1
2 3
2
1
x
x

0 ,
2 1
x x

Problema dual asociat este,
Minimizeaz [ ]
(
(
(

=
3
2
1
1 5 2 '
w
w
w
z
cu restriciile

(

(
(
(


3
2
1 2 2
4 1 3
3
2
1
w
w
w

0 , ,
3 2 1
w w w

n urmtorul tabel sunt prezentate relaiile dintre problema primal i problema dual.

Tabelul 3.1

Problema primal Problema dual
Maximizare Minimizare
Coeficienii funciei obiectiv Membrii din partea dreapt a sistemului de restricii
Coeficienii celei de-a i-a restricii Coeficienii celei de-a i-a variabile, cte unul per
restricie
Cea de-a i-a restricie este Cea de-a i-a variabil este 0
Cea de-a i-a restricie este = Cea de-a i-a variabil este nerestricionat
Cea de-a j-a variabil este
nerestricionat
Cea de-a j-a restricie este =
Cea de-a j-a variabil este 0 Cea de-a j-a restricie este
Numrul de variabile Numrul de constrngeri


3.2. Interpretarea economic a problemei duale

n funcie de punctul de vedere abordat, problema dual a unei probleme de
programare liniar poate avea o serie de interpretri economice, n continuare fiind prezentat
unele dintre cele mai uzuale dintre acestea.

Exemplul 3.2. Vom considera n continuare problema de tip analiza produciei
prezentat n Exemplul 2.1, capitolul 2, seciunea 2.1. Modelul matematic este problema de
programare liniar n forma standard,
Maximizeaz
2 1
100 120 x x z + =
cu restriciile
15 3 5
8 2 2
2 1
2 1
+
+
x x
x x

0 ,
2 1
x x
Prima restricie a sistemului se refer la numrul de ore pe zi n care fierstrul este
disponibil. Cea de-a doua constrngere este relativ la numrul de ore din zi n care poate fi
utilizat rindeaua industrial.

n general, n cea de-a i-a restricie din (3.1),
i
n
j
j ij
b x a

=1
,
i
b este interpretat ca stocul maxim disponibil din cea de-a i-a resurs (material sau, generic,
intrare). Coeficientul
ij
a reprezint cantitatea din cea de-a i-a intrare necesar unei uniti din
cel de-al j-lea produs (sau, generic, ieire).

n exemplul 3.2, 5
21
= a are semnificaia de numr de ore de utilizare a rindelei
industriale necesare producerii a 1000 de metri de scnduri finisate.

Variabila
j
x este cantitatea (necunoscut) din cea de-a j-a ieire care trebuie produs.
Coeficientul
j
c din funcia obiectiv reprezint profitul sau valoarea derivat n urma
producerii unei uniti din cea de-a j-a ieire.

n exemplul 3.2 soluia optimal
2
5
,
2
3
2 1
= = x x maximizeaz valoarea total a tuturor
ieirilor,

=
=
n
j
j j
x c z
1
.

Problema dual a problemei de programare liniar din exemplul 3.2 rezult,
Minimizeaz
2 1
15 8 ' w w z + =
cu restriciile
100 3 2
120 5 2
2 1
2 1
+
+
w w
w w

0 ,
2 1
w w .
Coeficienii primei restricii reprezint cantitile necesare din fiecare intrare pentru a
produce o unitate din primul produs (ieire).

Pe exemplul considerat, pentru a produce 1000 de metri de scndur finisat, sunt
necesare 2 ore de tiere i 5 ore de rindeluire. Membrul drept al primei constrngeri este
profitul sau valoarea generat per unitate din prima ieire. Prin rezolvarea problemei duale,
obinem 10 , 35
2 1
= = w w .

Problema dual a unei probleme de programare liniar n forma standard (3.1) este,
minimizeaz w b
T
z = '
cu restriciile,
0 w
c w A

T

Cea de-a j-a constrngere a problemei duale este,
j
m
i
i ij
c w a

=1

Similar interpretrii din problema primal,
ij
a reprezint cantitatea din cea de-a i-a
intrare necesar producerii unei uniti din cea de-a j-a ieire, iar membrul drept al inegalitii
este valoarea generat per unitate de ieire j. Cu alte cuvinte, unitile din variabila dual
i
w
au semnificaia de valoare per unitate de intrare i. Variabilele problemei duale, numite n
continuare variabile duale au semnificaia de preuri, costuri, respectiv valori ale fiecrei
uniti din fiecare intrare (resurs) i i sunt referite, funcie de context, prin preuri contabile,
preuri fictive, preuri ascunse sau valori imputate.
n cazul unei soluii optimale a problemei primale, profitul, egal cu x c
T
, este dat i
prin w b
T
(din teorema dualitii, prezentat n seciunea 3.3). Astfel, creterea cu o unitate a
celei de-a i-a intrri
i
b determin creterea cantitii w b
T
(i deci a profitului) cu
i
w uniti.
Rezult c cea de-a i-a component a unei soluii optimal a problemei duale,
i
w , reprezint
contribuia adus profitului de o unitate din cea de-a i-a intrare. Valorile variabilelor duale
nu sunt direct legate de costurile reale ale resurselor (intrrilor).

Pe exemplul considerat, 3.2, faptul c soluia optim a problemei duale,
10 , 35
2 1
= = w w , nu implic un cost de rindeluire de 35 lei per or i un cost de tiere de 10
lei per or. Costurile reale sunt nglobate n modalitatea n care a fost stabilit faptul c profitul
obinut din producerea a 1000 uniti de produs este de 120 lei n cazul scndurii finisate,
respectiv 100 de lei n cazul scndurii de construcii (o ipotez de lucru a problemei). n acest
sens, rezult c variabilele duale nu reprezint costuri reale, ci fictive.

Membrul stng al celei de-a j-a constrngeri a problemei duale semnific valoarea
total a intrrilor utilizate pentru producerea unei uniti din cea de-a j-a ieire, notat n
continuare cu VT. Aceast restricie semnific faptul c VT trebuie s fie cel puin la fel de
mare ca i profitul adus de o unitate din cea de-a j-a ieire. n cazul unei soluii optimale,
valoarea membrului stng al celei de-a j-a constrngeri a problemei duale reprezint
contribuia total adus profitului de o unitate din cea de-a j-a ieire, deci este de ateptat s
fie utilizat soluia optimal n cazul n care contribuia la profit este cel puin la fel de mare
ca profitul actual (real). n caz contrar, decizia corect pe care trebuie s o ia productorul este
de a utiliza intrrile disponibile ntr-o alt manier.

n concluzie, n problema dual sunt calculate preurile ascunse ale fiecrei resurse
(intrri) astfel nct costul total s fie minim, cu constrngerea ca aceste preuri s determine
obinerea unor valori corespunztoare pentru fiecare unitate de ieire produs mai mari sau
egale cu profiturile fiecrei uniti de produs.

O alt variant de interpretare a variabilelor duale este bazat pe ideea c, pentru w
soluie optimal a problemei duale, profitul este dat de w b
T
(pe baza teoremei dualitii,
prezentat n seciunea urmtoare). Pentru a crete profitul, productorul trebuie s mreasc
disponibilitatea a cel puin uneia din resurse. Dac pentru o intrare dat, i,
i
b crete cu o
unitate, profitul este mrit cu
i
w . Rezult c
i
w reprezint valoarea marginal a celei de-a i-
a intrri. Pe baza aceluiai tip de raionament,
i
w este pierderea suportat n cazul n care o
unitate din cea de-a i-a resurs rmne neutilizat, deci
i
w semnific, de asemenea, valoarea
de nlocuire corespunztoare resursei i, n scopuri asiguratorii. Spre exemplu, o companie de
asigurri va folosi problema dual n cazul preteniilor reclamate n cazul pierderii unor
resurse asigurate, n sensul n care va ncerca s plteasc ct mai puin posibil pentru a
rezolva solicitarea.


3.3. Teorema dualitii. Relaiile dintre soluiile problemei primale i
soluiile problemei duale

Fie P1 o problem general de programare liniar i P varianta canonic a lui P1,
rezultat prin eventuala introducere a variabilelor slack i a variabilelor artificiale. P este dat
prin,
(3.3) maximizeaz x c
T
z =
cu restriciile,
0 x
b Ax

=

unde A este o matrice s m care conine o submatrice unitate m m , c este matrice 1 s
0 b este matrice 1 m . Dac
j
x este variabil slack, atunci 0 =
j
c . De asemenea, este
utilizat metoda n dou faze pentru variabilele artificiale, deci dac
j
x este variabil
artificial, atunci 0 =
j
c .
Considerm n continuare tabelul simplex pentru rezolvarea problemei (3.3) la un
moment al aplicrii metodei simplex, prin intermediul cruia este reprezentat o soluie de
baz admisibil, S. Obiectivul este acela de a deriva o variant alternativ a criteriului de
optimalitate a soluiei S.
Fie { }
m
i i i ,..., ,
2 1
mulimea indicilor variabilelor de baz, componente ale lui S. Fie N
mulimea indicilor variabilelor non-baz i
j
A cea de-a j-a coloan a matricei A, s j 1 .
Sistemul de restricii din (3.3) este exprimat prin,
(3.4) b A A = +

= N j
j j
m
r
i i
x x
r r
1

Variabilele non-baz sunt setate pe valoarea 0, deci din (3.4) obinem,
(3.5) b A =

=
m
r
i i
r r
x
1


Fie B matricea ptratic de ordin m cu coloanele [ ]
m
i i i
A A A ,..., ,
2 1
i
(
(
(
(
(

=
(
(
(
(
(

=
m m
i
i
i
i
i
i
c
c
c
x
x
x
...
,
...
2
1
2
1
B B
c x . Din relaia (3.5) rezult,

(3.6) b Bx
B
=

Deoarece coloanele matricei B sunt liniar independente, rezult c B este inversabil,
deci, pe baza relaiei (3.6) obinem,
(3.7) b B x
B
1
=

Relaia (3.7) semnific faptul c m-tuplul variabilelor de baz are valoarea b B
1
n
tabelul simplex.
Deoarece cei m vectori coloane ale lui B sunt liniar independeni, rezult c formeaz
o baz a spaiului R
m
i, pentru fiecare s j ,..., 2 , 1 = , vectorul
j
A este exprimat n termenii
vectorilor baz prin,
(3.8)

=
=
m
k
i kj j
k
t
1
A A
Vectorul coeficienilor dezvoltrii (3.8),
(
(
(
(
(

=
mj
j
j
j
t
t
t
...
2
1
t , este cea de-a j-a coloan a
tabelului simplex curent.

Relaia (3.8) este exprimat n termenii matricei B prin,
(3.9)
j j
A Bt = ,
deci
(3.10)
j j
A B t
1
= .

Relaia (3.10) exprim faptul c fiecare coloan a tabelului simplex curent rezult prin
nmulirea la stnga cu
1
B a coloanei corespunztoare din tabelul simplex iniial.
Prin utilizarea notaiilor folosite, definim,
(3.11)
j
T
j
z t c
B
=

Pe baza relaiei (3.10), rezult,
(3.12)
j
T
j
z A B c
B
1
=
i, n continuare, pentru orice m r r 1 , ,
r r
i i
c z = .

Funcia obiectiv este,
(3.13)

= =
+ = = =
N j
j j
m
r
i i
s
j
j j
T
x c x c x c z
r r
1 1
x c

n vederea testrii criteriului de optimalitate tabelului simplex de la momentul curent,
relaia (3.13) este modificat astfel nct coeficienii variabilelor baz s devin nuli, prin
aplicarea urmtorului procedeu. Relaiei (3.13) i sunt adugate ( ) r linia c
r
i
, pentru orice
m r r 1 , i este obinut (3.14); cea de-a r-a linie a tabelului curent este exprimat prin,
r
s
j
j rj
x t
B
x =

=1
,
unde
r
B
x este cea de-a r-a component a vectorului
B
x .
(3.14)

= = =
=
m
r
s
j
j rj i
N j
j j
m
r
i
x t c x c c z
r r r
1 1 1
B
x .

Din (3.14) obinem,
( )

=
N j
j j
T
j
T
x c z t c x c
B B B

i, din (3.11),
(3.15) ( ) z x c z
N j
j j j
T
+ =

B B
x c .

Deoarece, pentru orice m r r 1 , ,
r r
i i
c z = , (3.15) este echivalent cu,
( )
B B
x c
T
s
j
j j j
z x c z = +

=1
,
deci elementele liniei obiectiv a tabelului curent sunt,
(3.16)
j j
T
j j
c c z = t c
B
.

n concluzie, criteriul de optim al metodei simplex poate fi reformulat astfel: tabelul
curent reprezint o soluie optimal dac i numai dac, pentru orice
0 , 1 ,
j j
c z s j j .

Relaiile dintre soluiile problemelor primal i dual
Aa cum a rezultat n capitolul 2, tentativa de rezolvare a unei probleme de
programare liniar are urmtoarele rezultate alternative:
1. Nu exist soluii admisibile
2. Exist o soluie optimal finit
3. Exist soluii admisibile, dar funcia obiectiv este nemrginit.

Teorema 3.4. Teorema dualitii n sens slab
Dac
0
x este soluie admisibil a problemei primale definite de (3.1) i
0
w este soluie
admisibil a problemei duale (3.2), atunci,
0 0
w b x c
T T




Teorema 3.5
1. Dac problema primal are soluii admisibile, dar funcia obiectiv este nemrginit,
atunci problema dual nu are soluii fezabile.
2. Dac problema dual are soluii fezabile, dar funcia obiectiv este nemrginit,
atunci problema primal nu are soluii admisibile.

Teorema 3.6 Dac
0
x este soluie admisibil a problemei primale (3.1) i
0
w este
soluie admisibil a problemei duale (3.2) i dac
0 0
w b x c
T T
= , atunci
0
x i
0
w sunt soluii
optimale ale problemei (3.1), respectiv (3.2).

Teorema 3.7 Teorema dualitii
1. Dac fie problema primal/dual are o soluie admisibil i funcia obiectiv are o
valoare optim finit, atunci problema dual/primal are o soluie admisibil cu aceeai
valoare obiectiv.
2. Dac problema primal (3.1) are soluii admisibile i dac problema dual (3.2) are
soluii admisibile, atunci
(i) problema primal are o soluie optimal,
0
x
(ii) problema dual (3.2) are o soluie optimal,
0
w i
(iii)
0 0
w b x c
T T
= .

PARTEA a II-a
OPTIMIZARE NELINIAR CU APLICAII
FINANCIARE

CAPITOLUL 4. PROBLEMA OPTIMIZRII
PORTOFOLIILOR DE ACIUNI


4.1. Introducere. Optimizare neliniar

Vom prezenta pentru nceput un exemplu de problem de investiii ntr-un portofoliu
de aciuni, exprimat n forma liniar i varianta acesteia n care este introdus o component
de tip penalitate. (Bartholomeu-Biggs, 2005)

Exemplul 4.1 Fie M o sum de bani care trebuie investit n trei fonduri care prezint
procentele de randament de r
1
, r
2
i r
3
. Fondul este investit prin intermediul unei firme
specilaizate. Dac sumele investite sunt
3 2 1
, , y y y , randamentul total, exprimat n procente,
este,
M
y r y r y r
R
3 3 2 2 1 1
+ +
=
Dac taxa perceput de firma care gestioneaz investiia este
i i
y c pentru fiecare fond
i, atunci costul total este,
3 3 2 2 1 1
y c y c y c C + + =
Problema este de a atinge un randament de Rp procente din suma investit i astfel
nct taxa pltit gestinarului fondului s fie minim. Obinem problema de programare
liniar,
(4.1) Minimizeaz
3 3 2 2 1 1
y c y c y c C + + =
cu restriciile
(4.2)
M y y y
MRp y r y r y r
= + +
= + +
3 2 1
3 3 2 2 1 1

(4.3) 0 , ,
3 2 1
y y y

Problema definit prin (4.1), (4.2) i (4.3) este o problem de programare liniar, care
modeleaz una din cele mai simple probleme de tip decizie de investiie. O variant a
problemei prezentat n exemplu 4.1 mai apropiat de situaiile reale este cea n care tentativa
de efectuare de investiii negative este penalizat printr-o tax de management foarte ridicat.
Rezult problema de optimizare neliniar,
(4.4) Minimizeaz ( )

=
+ + + =
3
1
3 3 2 2 1 1
i
i
y K y c y c y c C
cu restriciile
(4.5)
M y y y
MRp y r y r y r
= + +
= + +
3 2 1
3 3 2 2 1 1


unde 0 > K constant (de obicei cu valoare foarte mare) i funcia este definit
prin,
( )

<

=
0 ,
0 , 0
2
x x
x
x
Funcia obiectiv este neliniar (pentru anumite valori ale variabilelor
i
y este liniar,
pentru alte valori este ptratic).

n unele situaii, restriciile de tip egalitate pot fi utilizate pentru eliminarea
variabilelor unei probleme de optimizare. De exemplu, din relaia (4.5) rezult
2 1 3
y y M y = i obinem,
(4.6) Minimizeaz
( ) ( ) ( )
2 1
2
1
2 1 3 2 2 1 1
y y M K y K y y M c y c y c C
i
i
+ + + + =

=

cu restriciile
(4.7) ( ) MRp y y M r y r y r = + +
2 1 3 2 2 1 1
-

Evident, prin utilizarea relaiei (4.7), poate fi eliminat nc o variabil astfel nct
problema de optimizare este redus la o problem de minimizare a unei funcii de o singur
variabil, fr constrngeri.


4.2. Randamentul/ riscul unui portofoliu. Definirea problemelor de
optimizare

n cele ce urmeaz este prezentat calculul randamentului ateptat, respectiv al riscului
asociat unui portofoliu de aciuni. (Bartholomeu-Biggs, 2005)
Considerm disponibil istoricul randamentelor procentuale pe m perioade de timp
pentru fiecare aciune dintr-un grup de n aciuni i notm cu

ij
r , randamentul aciunii i n perioada j;

i
y , fraciunea investit n aciunea i, astfel nct 1
1
= =

=
n
i
i
y S

2
i
, variana aciunii i;

ik
, covariana dintre aciunile i i k.
Portofoliul este definit de fraciunile de investiii
n
y y y ,..., ,
2 1
.

Randamentul mediu al fiecrei aciuni n i i 1 , , notat cu
i
r , este calculat prin,
(4.8)
m
r
r
m
j
ij
i

=
=
1

Randamentul ateptat al portofoliului este dat prin,
(4.9)

=
=
n
i
i i
y r R
1

Variana fiecrei aciuni n i i 1 , , respectiv covariana dintre oricare dou aciuni
n k i k i , 1 , , , sunt calculate prin,
(4.10)
( )
m
r r
m
j
i ij
i

=
1
2
2

(4.11)
( )( )
m
r r r r
m
j
k kj i ij
ik

=

=
1


Variana portofoliuluieste definit prin,
(4.12)


= + = =
+ =
1
1 1 1
2 2
2
n
i
n
i j
j i ij
n
i
i i
y y y V
i este utilizat ca msur a riscului portofoliului.

Funciile randament, respectiv risc, definite prin relaiile (4.9), respectiv (4.12) sunt
reprezentate matriceal prin,
(4.13) y r
T
R =
(4.14) Qy y
T
V = ,
unde
( )
T
n
r r r ,..., ,
2 1
= r
( )
n
y y y ,..., ,
2 1
= y
( )
n j
n i
ij

=
1
1 Q , n i
i ii
= 1 ,
2

De asemenea, n reprezentare matriceal, relaia 1
1
= =

=
n
i
i
y S devine,
(4.15) y e
T
S = ,
unde ( )
T
1 ,..., 1 , 1 = e este vectorul unitar n-dimensional.

Problema primar de minimizare a riscului, RISCMIN0, este formulat prin,
(Bartholomeu-Biggs, 2005)
RISCMIN0:
Minimizeaz Qy y
T
V =
cu restricia
1
1
=

=
n
i
i
y .

Observaie. RISCMIN0 poate fi modificat prin eliminarea restriciei i a variabilei
n
y
|

\
|
=

=
1
1
1
n
i
i n
y y .

n multe situaii practice, investitorul este interesat att n minimizarea riscului, ct i
n optimizarea randamentului portofoliului ales. n general, un portofoliu este considerat
optim dac el furnizeaz cel mai mare randament cu cel mai mic risc.

O modalitate de a determina un astfel de portofoliu este prin considerarea funciei de
tip compozit,
(4.16) Qy y y r
T T
V R F + = + =
Constanta pozitiv controleaz raportul dintre randament i risc.
Este obinut problema de optimizare RISC-RANDAMENT1, (Bartholomeu-Biggs,
2005)
RISC-RANDAMENT1:
Minimizeaz Qy y y r
T T
F + =
cu restricia
1
1
=

=
n
i
i
y .

Observaie. RISC-RANDAMENT1 poate fi modificat prin eliminarea restriciei i a
variabilei
n
y
|

\
|
=

=
1
1
1
n
i
i n
y y .

O variant alternativ pentru a determina portofoliul optim este de a fixa o valoare
int pentru randament, de exemplu de Rp procente, i de a considera problema de optimizare
RISCMIN1, (Bartholomeu-Biggs, 2005)
RISCMIN1:
Minimizeaz Qy y
T
V =
cu restriciile
Rp y r
n
i
i i
=

=1

1
1
=

=
n
i
i
y .
sau, alternativ, problema modificat RISCMIN1M,
RISCMIN1M:
Minimizeaz
( )
2
1
2
|

\
|
+ =

=
Rp y r
Rp
F
n
i
i i
T

Qy y
cu restricia
1
1
=

=
n
i
i
y
Constanta pozitiv semnific raportul dintre randament i risc.

O problem des ntlnit n practic este aceea n care este selectat un nivel acceptabil
de risc,
ac
V i este maximizat randamentul ateptat. Modelul matematic revine la problema de
minimizare cu constrngeri RANDAMENTMAX1,
RANDAMENTMAX1:
Minimizeaz y r
T
R =
cu restriciile
ac
T
V V = = Qy y
1
1
=

=
n
i
i
y
sau, alternativ, problema modificat RANDAMENTMAX1M, (Bartholomeu-Biggs, 2005)
RANDAMENTMAX1M:
Minimizeaz ( )
2
2
ac
T
ac
T
V
V
F + = Qy y y r


cu restricia
1
1
=

=
n
i
i
y
Constanta pozitiv semnific relaia existent ntre randamentul i riscul
portofoliului.

Observaie. RISCMIN1M i respectiv RANDAMENTMAX1M pot fi modificate prin
eliminarea restriciei i a variabilei
n
y
|

\
|
=

=
1
1
1
n
i
i n
y y .


CAPITOLUL 5. METODE DE OPTIMIZARE A FUNCIILOR
DE O VARIABIL


5.1. Introducere. Condiii de optimalitate

Definiia 5.1. Fie F o funcie continu i difereniabil n variabila scalar x i, pentru
*
x x = au loc relaiile,
(5.1) 0 =
dx
dF
i 0
2
2
>
dx
F d
.
Atunci funcia F are ca minim local punctul
*
x .

Definiia 5.2 Fie F o funcie continu i difereniabil n variabila scalar x. Dac
relaiile (5.1) au loc pentru
*
x x = i dac ( ) ( ) x F x F
*
pentru orice x, atunci
*
x este punct de
minim global al lui F.

Relaiile (5.1) sunt numite condiii de optimalitate. n problemele de interes practic,
determinarea unui minim global este n general foarte dificil; n majoritatea situaiilor este
aplicat o procedur de determinare a unui set de puncte minim local.
Abordarea analitic n rezolvarea problemelor de minimizare este util cnd forma F
poate fi calculat uor i, de asemenea, cnd problema ( ) 0 ' = x F poate fi rezolvat ntr-o
manier relativ simpl. n multe situaii practice, spre exemplu n problema
RANDAMENTMAX1M, problema de optim nu poate fi tratat de maniera prezentat mai
sus. n general, tehnicile de rezolvare a problemelor de optim sunt iterative i sunt
tehnici de cutare direct, care utilizeaz comparaii ale valorilor funciei de
optimizat n puncte de test, sau
metode gradient, care utilizeaz derivatele funciei obiectiv i rezolv iterativ
ecuaia neliniar ( ) 0 ' = x F
Metodele de tip gradient au n general o convergen mai rapid comparativ cu
metodele de cutare direct. De asemenea, metodele gradient au avantajul c permit definirea
unui test de convergen evident, i anume algoritmul este ncheiat cnd gradientul este
apropiat de 0, dar nu pot fi aplicate n orice situaie (de exemplu cnd F(x) are derivate
discontinue, cum este cazul funciilor liniare pe poriuni).


5.2. Metoda biseciei

Metoda biseciei pentru determinarea minimului lui F(x) pe intervalul [ ] b a, este
descris astfel. (Bartholomeu-Biggs, 2005)
Seteaz ( ) b a x b x a x
m b a
+ = = =
2
1
, , , 0 >
Calculeaz ( ) ( ) ( )
m m b b a a
x F F x F F x F F = = = , ,
Repeat
( )
m a l
x x x + =
2
1
, ( )
m b r
x x x + =
2
1

Calculeaz ( )
l l
x F F = , ( )
r r
x F F =
Calculeaz { }
l r m b a
F F F F F F , , , , min
min
=
If
a
F F =
min
sau
l
F F =
min
, seteaz
l m m b
x x x x = = , ,
l m m b
F F F F = = ,
Else If
m
F F =
min
seteaz
r b l a
x x x x = = , ,
r b l a
F F F F = = ,
Else If
r
F F =
min
sau
b
F F =
min
seteaz
r m m a
x x x x = = , ,
r m m a
F F F F = = ,
Until <
a b
x x

Procedur urmtoare este aplicat pentru calculul unui interval [ ] b a, care s conin
un punct de minim al funciei F.

Este selectat un punct iniial
0
x i un pas 0 >
( ) ( )
0
' * x F sign =
Repeat for k=0,1,2,
+ =
+ k k
x x
1

2 =
Unitl ( ) ( )
k k
x F x F >
+1

If k=0,
1 0
, x b x a = =
If k>0,
1 1
,
+
= =
k k
x b x a

5.3. Metoda secantei

Este prezentat n continuare o metod iterativ pentru rezolvarea ( ) 0 ' = x F . Aceast
metod permite n continuare calculul unui minim local al lui ( ) x F pentru a fi utilizat ntr-o
regiune n care ( ) x F" este pozitiv. Abordarea are la baz interpolarea liniar. Dac F este
evaluat n punctele
2 1
, x x , atunci
(5.2)
( )
( ) ( )
( )
1 2
1 2
1
1
' '
'
x x
x F x F
x F
x x

=
este o estimaie a punctului n care F se anuleaz.
n situaia n care F este funcie polinomial de gradul 2 (ptratic), relaia (5.2) este
aplicat o singur dat pentru calculul exact al punctului n care F se anuleaz. n caz contrar,
formula de interpolare (5.2) este aplicat iterativ. Algoritmul este descris astfel.
(Bartholomeu-Biggs, 2005)

Selecteaz
1 0
, x x estimri iniiale ale minimului funciei F(x) i 0 >
Repeat for k=0,1,2,...

( )
( ) ( )
( )
k k
k k
k
k k
x x
x F x F
x F
x x

=
+
+
+ 1
1
2
' '
'

Unitl ( ) <
+2
'
k
x F

5.4. Metoda Newton

Metoda determin minimul funciei F(x) prin utilizarea primelor dou derivate ale
funciei F. Algoritmul este derivat prin dezvoltarea lui F(x) n serie Taylor n jurul unui punct
k
x ,
(5.3) ( ) ( ) ( ) ( ) ( )
3
2
"
2
' h O x F
h
x hF x F h x F
k k k k
+ + + = +
Prin derivarea (5.3) n raport cu h este obinut seria Taylor pentru F(x),
(5.4) ( ) ( ) ( ) ( )
2
" ' ' h O x hF x F h x F
k k k
+ + = +

Dac presupunem c valoarea lui h este suficient de mic pentru ca termenul ( )
2
h O
din (5.4) s poat fi neglijat, atunci pasul
( )
( )
k
k
x F
h x F
h
"
' +
= determin ( ) 0 ' + h x F
k
.
Algoritmul pentru implementarea metodei Newton este descris astfel. (Bartholomeu-
Biggs, 2005)

Selecteaz
0
x estimare iniial a minimului funciei F(x) i 0 >
Repeat for k=0,1,2,...

( )
( )
k
k
k k
x F
x F
x x
"
'
1
=
+

Unitl ( ) <
+1
'
k
x F


5.5. Rezolvarea problemei RANDAMENTMAX1M pentru portofolii
cu 2 aciuni prin metodele biseciei, secantei i Newton

n seciunea aceast seciune vom exemplifica aplicarea metodelor descrise n 5.2,
5.3 i 5.4 pe problema RANDAMENTMAX1M n urmtorul caz particular.

Exemplul 5.1. STUDIU DE CAZ
n tabelul 5.1 este prezentat istoricul randamentelor corespunztoare aciunilor A1 i
A2 pe primele 6 luni ale anului.

Ianuarie Februarie Martie Aprilie Mai Iunie
A1 1.2 1.3 1.4 1.5 1.1 1.2
A2 1.3 1.0 0.8 0.9 1.4 1.3

Tabelul 5.1

Problema RANDAMENTMAX1M este descris prin
Minimizeaz ( )
2
2
ac
T
ac
T
V
V
F + = Qy y y r


cu restricia
1
1
=

=
n
i
i
y

n sitaia din tabelul 5.1, rezult
Minimizeaz [ ]
2
2
1
1
1
|
|

\
|

+
(

=
ac
ac
T
V
x
x
x x
V x
x
F Q r

, unde
[ ] 1167 . 1 2833 . 1 =
T
r
(

=
0514 . 0 0281 . 0
0281 . 0 0181 . 0
Q

Pentru stabilirea unei valori acceptabile a riscului,
ac
V , rezolvm problema primar
RISCMIN0, cu obinerea valorii riscului minim,
min
V .
Procedura RISCMIN0 este echivalent cu,

Minimizeaz [ ]
(

=
x
x
x x V
1
1 Q
Funcia obiectiv este,
[ ] =
(

=
x
x
x x V
1 0514 . 0 0281 . 0
0281 . 0 0181 . 0
1
[ ] =
(

+ =
x
x
1
0.0514 x * 0.0795 - 0.0281 - x * 0.0462
0514 . 0 x * 0.1590 x * 0.1257
2
+ =
Obinem,
0514 . 0 x * 0.1590 x * 0.1257 ) (
2
+ = x V ,
0.1590 - x * 0.2514 ) ( ' = x V i
( ) 0 2514 . 0 " > = x V
Deoarece pentru 0.6324
2514 . 0
1590 . 0
= = =

x x relaiile (5.1) sunt ndeplinite, rezult c
funcia V are un minim local (deoarece V este ptratic, ( )
*
x V este minimul global),
( ) 0832 0.00111957 6324 . 0
min
= = V V . Valoarea acceptabil a riscului poate fi considerat
6248 0.00167935 * 5 . 1
min
= V V
ac
. Vom considera n continuare 0.00168 =
ac
V .

Pentru rezolvarea problemei RANDAMENTMAX1M, funcia de minimizat este,
[ ]
2
2
1
1
1
|
|

\
|

+
(

=
ac
ac
T
V
x
x
x x
V x
x
F Q r

, unde

[ ] 1167 . 1 2833 . 1 =
T
r
0.00168 =
ac
V

Considerm n continuare c parametrul care semnific relaia randament-risc este 1
( 1 = ).
354308.39
24 0.00000282
1
2
= =
ac
V


[ ] 0.0497 x * 0.1590 x * 0.1257
1
1
2
+ =
(

ac
V
x
x
x x Q 2
[ ] 1.1167 x * 0.1666
1
1167 . 1 2833 . 1
1
=
(

=
(

x
x
x
x
T
r

Obinem,
( )
2
2
0.04972 x * 0.1590 x * 0.1257 * 354308.39 1.1167 x * 0.1666 + + = F

n continuare prezentm sursa C pentru minimizarea lui F prin metoda biseciei,
nsoit de procedura de determinare a intervalului n care se gsete minimul, aa cum au fost
prezentate n seciunea 5.2.

#include <stdio.h>
#include<math.h>

float f(float);
void genereaza(float (*)(float),float,float,float *,float *);
float bisectiemin(float,float,float, float (*)(float), float *);

void main()
{
float eps,x0,x1,x2;
float alpha=0.1;
genereaza(f,0,alpha,&x0,&x1);
printf("eps= ");
scanf("%f",&eps);
float min=bisectiemin(x0,x1,eps,f,&x2);
printf("Solutia optimala aproximativa: %7.4f\n",x2);
printf("Valoarea minima a functiei obiectiv %7.4f",min);
}

float f(float x)
{
return (-0.1666*x-1.1167+(354308.39)*pow(0.1257*x*x-0.159*x+0.04972,2));
}

void genereaza(float (*f)(float),float x,float alpha,float *a,float *b)
{
float t=alpha;
float x0,x1,x2;
x0=x1=x;
int gata=0;
while(!gata)
{
x2=x1+t;
t=2*t;
if((*f)(x2)>(*f)(x1))gata=1;
else{
x0=x1;
x1=x2;
}
}
*a=x0;*b=x2;
}

float bisectiemin(float x0,float x1,float eps, float (* f)(float), float *x2)
{
int gata=0;
float xa,xb,xm,xl,xr,Fa,Fb,Fm,Fl,Fr;
xa=x0;xb=x1;xm=0.5*(xa+xb);
Fa=(*f)(xa);Fb=(*f)(xb);Fm=(*f)(xm);
while (!gata)
{
xl=0.5*(xa+xm);xr=0.5*(xm+xb);
Fl=(*f)(xl);Fr=(*f)(xr);
float ff[5]={Fa,Fb,Fm,Fl,Fr};
float minim=Fa;
for(int i=1;i<5;i++)
if(minim>ff[i])minim=ff[i];
if((minim==Fa)||(minim==Fl)){
xb=xm;xm=xl;Fb=Fm;Fm=Fl;
}
else if(minim==Fm){
xa=xl;xb=xr;Fa=Fl;Fb=Fr;
}
else if((minim==Fr)||(minim==Fb)){
xa=xm;xm=xr;Fa=Fm;Fm=Fr;
}
if(fabs(xa-xb)<eps){
*x2=0.5*(xa+xb);gata=1;
}
}
return (*f)(*x2);
}

Au fost folosite constantele: 0
0
= x (punctul de la care se pleac n determinarea
intervalului, F(0)<0), 1 . 0 = ,
5
10

= .
Soluia optim obinut este 7 . 0 = x , valoarea minim a funciei obiectiv 2333 . 1 .
Interpretarea datelor este urmtoarea.

7 . 0
1
= y
3 . 0
2
= y
Randamentul ateptat, n procente, este
= R 1.23332 1.1167 x * 0.1666
1
= + =
(

x
x
T
r
Riscul este 0.001693 0.0514 x * 0.1590 x * 0.1257
2
= + = = Qy y
T
V

Prin utilizarea metodelor secantei i Newton sunt obinute rezultate similare metodei
biseciei.



CAPITOLUL 6. OPTIMIZAREA PORTOFOLIILOR CU N
ACIUNI

6.1. Prezentarea problemei

Similar celor prezentate n capitolul 4, considerm disponibil istoricul randamentelor
procentuale pe m perioade de timp pentru fiecare aciune dintr-un grup de n aciuni. Notaiile
utilizate n continuare sunt cele prezentate n capitolul 4.

Funciile randament, respectiv risc, sunt reprezentate matriceal prin,
(6.1) y r
T
R =
(6.2) Qy y
T
V = ,
unde
( )
T
n
r r r ,..., ,
2 1
= r
( )
n
y y y ,..., ,
2 1
= y
( )
n j
n i
ij

=
1
1 Q , n i
i ii
= 1 ,
2

De asemenea, n reprezentare matriceal, relaia 1
1
= =

=
n
i
i
y S devine,
(6.3) y e
T
S = ,
unde ( )
T
1 ,..., 1 , 1 = e este vectorul unitar n-dimensional.

Prin utilizarea relaiei (6.3), variabila
n
y este eliminat
|

\
|
=

=
1
1
1
n
i
i n
y y i funciile
randament i risc sunt exprimate n termenii
1 2 1
,..., ,
n
y y y . Fie ( )
T
n
y y y
1 2 1
,..., ,

= x , vector de
dimensiune n-1, ( )
T
1 , 0 ,..., 0 , 0 = vector n-dimensional i B matrice de dimensiune ( ) 1 n n ,
cu primele n-1 linii liniile corespunztoare matricei unitate
1 n
I i ultima linie format cu
elementul -1,
|
|
|
|
|
|

\
|

=
1 ... 1 1
1 ... 0 0
... ... ... ...
0 ... 1 0
0 ... 0 1
B .
Cu aceste notaii, obinem,
(6.4) Bx y + = .


6.2. Definirea problemelor de oprimizarea portofoliilor cu n aciuni n
termenii problemelor de optimizare fr constrngeri

Similar celor prezentate n capitolul 4, procedura MINRISC0 definete problema
primar de minimizare a riscului n cazul unui portofoliu definit de fraciunile de investiii
n
y y y ,..., ,
2 1
. Prin utilizarea relaiei (6.4), rezult, (Bartholomeu-Biggs, 2005)
MINRISC0:
(6.5) Minimizeaz ( ) ( ) Bx Q Bx + + =
T
V

Relaia (6.5) definete o problem de optimizare fr constrngeri, n n-1 variabile.
Dac ( )
T
n
x x x
*
1
*
2
*
1
*
,..., ,

= x este o soluie a problemei (6.5), atunci portofoliul de risc minim,
notat
*
y , este definit prin,
(6.6) 1 1 ,
* *
= n i x y
i i
i

=
=
1
1
* *
1
n
i
i n
x y .

O serie de metode care rezolv problema minimizrii unei funcii de mai multe
variabile utilizeaz vectorul derivatelor pariale de ordinul I, numit gradient. Dac V este
funcie de m variabile, atunci gradientul lui V, notat V sau
x
V , este definit prin,
T
m
x
V
x
V
x
V
V
|
|

\
|

= ,..., ,
2 1
.
Gradientul funciei obiectiv din relaia (6.5) este,
(6.7) ( ) Bx Q B QBx B Q B + = + =
T T T
V 2 2 2

Pentru rezolvarea problemelor de optim, unele metode necesit i calculul derivatelor
pariale de ordinul II, adic a matricei Hessian. Dac V este funcie de m variabile, atunci
matricea Hessian, notat V
2
sau
xx
V , este definit prin,
m j
m i
j i
x x
V
V


|
|

\
|

=
1
1
2
2

Hessianul funciei obiectiv din relaia (6.5) este,
(6.8) QB B
T
V 2
2
=

Problema RISCMIN1M, definit n capitolul 4, poate fi exprimat n termenii unei
probleme de optimizare fr restricii prin utilizarea relaiei (6.4), astfel, (Bartholomeu-Biggs,
2005)
(6.9) Minimizeaz ( ) ( )
( )
( )
2
2
Bx r r Bx Q Bx
T T T
Rp
Rp
F + + + + =


Pentru calculul vectorului gradient i al matricei Hessian pentru funcia F definit n
(6.9), considerm reprezentarea,
( )
2
Rp R V F + = ,
unde
( ) ( ) Bx Q Bx + + =
T
V
( )
2
Rp

= i
( ) Bx r + =
T
R
Sunt obinute relaiile,
( )
x x x
R V F Rp R + = 2
unde
( ) Bx Q B V
x
+ =
T
2 i
r B R
x
T
= .
Similar, este obinut matriea Hessian, prin,
( )
T
x x xx xx
R R V F 2 + =
unde
QB B V
xx
T
2 = i
( )
T
x x
R R este o matrice cu rangul 1, pentru orice i,j, 1 , 1 n j i ,
( ) ( )
j i
j i
T
x
R
x
R

=
, x x
R R

Problema RANDAMENTMAX1 este reformulat n termenii
RANDAMENTMAX1M (vezi capitolul 4) i, prin utilizarea relaiei (6.4) rezult problema de
optimizare fr restricii, (Bartholomeu-Biggs, 2005)
(6.10) Minimizeaz ( ) ( ) ( ) ( )
2
2
ac
T
ac
T
V
V
F + + + + = Bx Q Bx Bx r


Expresiile care definesc gradientul i Hessianul funciei definite n (7.10) sunt obinute
prin reprezentarea,
( )
2
ac
V V R F + = ,
unde
( ) Bx r + =
T
R
( ) ( ) Bx Q Bx + + =
T
V i
( )
2
acc
V

= .
Rezult,
( )
x x
V r B F
a
T
V V + = 2
( ) ( ) ( )
xx x x xx
V V V F
a
T
V V + = 2
unde ( )
T
x x
V V este matrice de rangul I; pentru orice i,j, 1 , 1 n j i ,
( ) ( )
j i
j i
T
x
V
x
V

=
, x x
V V .
CAPITOLUL 7. METODE DE OPTIMIZARE A FUNCIILOR
DE N VARIABILE

7.1. Condiii de optimalitate

Fie ( )
n
x x x F ,..., ,
2 1
funcie de n variabile, continu i difereniabil. Caracterizarea
punctului de minim atins de F este realizat n termenii vectorului gradient i a matricei
Hessian,
T
n
x
F
x
F
x
F
F
|
|

\
|

= ,..., ,
2 1
, notat n continuare cu g sau cu
x
F , respectiv
n j
n i
j i
x x
F
F


|
|

\
|

=
1
1
2
2
, matrice notat n continuare cu G sau
xx
F

Observaie. n cazul n care F este dublu difereniabil, matricea Hessian G este
simetric.

Definiia 7.1. Matricea simetric A este pozitiv definit dac i numai dac, pentru
orice 0 x , are loc relaia,
0 > Ax x
T
.

Definiia 7.2.Fie ( ) ( )
n
x x x F ,..., , ,
2 1
= x x funcie de n variabile i
*
x cu proprietile,
(7.1) ( ) 0 x g =
*
i ( )
*
x G este pozitiv definit.
Atunci
*
x este punct de minim local al lui F.

Dac o funcie F are mai multe minime locale (puncte ce ndeplinesc (7.1)), atunci
minimul global este acel minim local pentru care este obinut cea mai mic valoare a lui F.

Observaie. Problema RISCMIN0 poate fi rezolvat prin abordare analitic, astfel.
Deoarece funcia gradient este,
QBx B Q B
T T
V 2 2 + = ,
valoarea optimal a lui x este obinut prin rezolvarea sistemului liniar,
Q B QBx B
T T
=


7.2. Metode directe de cutare a optimului

n general, n problemele de optimizare a portofoliilor, vectorul gradient i matricea
Hessian pot fi n general calculate, funciile obiectiv fiind n general dublu difereniabile.
Pentru situaiile de acest gen sunt folosite metode de tip gradient. n cazul n care optimizarea
nu poate fi realizat prin utilizarea relaiilor (7.1), o variant de rezolvare a problemelor de
optimizare o constituie metodele de cutare direct, bazate exclusiv pe analizarea valorile
funciei obiectiv.
Cutarea direct a valorii minime a unei funcii obiectiv F este realizat prin evaluarea
lui F n punctele unei reele de valori posibile ale vectorului variabil a funciei. Dei
metodele de acest tip nu sunt n general eficiente, exist situaii n care valoarea minim poate
fi aproximat prin considerarea unei variante a lui F discretizat pe un set de puncte
aleatoare i utilizarea unor argumente de natur statistic pentru estimarea probabilitii de
determinare a minimului ntr-n anumit numr de ncercri.

Cutarea univariant
Metoda implic utilizarea unei metode directe de cutare (ca, de exemplu, metoda
biseciei) pentru generarea unei secvene de tip minimizarea unidimensional a lui F astfel
nct, la fiecare etap i, n i 1 , F este minimazat n raport cu
i
x . Cu alte cuvinte, punctul
optim este cutat de-a lungul direciilor date de fiecare coordonat pe rnd. Dei uneori
metoda funcioneaz eficient, ea nu poate fi general aplicabil deoarece nu este convergent.

Metoda Hooke i Jeeves
Tehnica Hooke&Jeeves utilizeaz metoda cutrii univariante i pe baza urmtorului
raionament. Dac x x
~
, sunt estimri ale punctelor de minim ale lui ( ) x F la momentul iniial,
respectiv la momentul final al ciclului de cutare, atunci minimizarea unidimensional a alui
F este realizat pe direcia x x
~
printr-o estimare de tipul,
(7.2) ( ) x x x x
~

~
+ = ,
unde este o constant scalar. Metoda continu prin efectuarea ciclurilor de cutare
univariant urmate de estimri de forma (7.2).

Metode de aproximare a derivatelor
Una dintre cele mai uzuale metode de minimizarea a lui ( ) x F exclusiv pe baza
valorilor funciei F este prin adaptarea metodelor de tip gradient la estimrile de tip diferen
finit ale derivatelor funciei. De exemplu, pentru derivatele de ordinul I poate fi utilizat
estimarea diferen centrat,
( ) ( ) ( )
h
x x h x F x x h x F
x
x x x F
n n n
2
,..., , ,..., , ,..., ,
2 1 2 1
1
2 1
+


Abordrile care implic estimarea derivatelor funciei obiectiv sunt dezvoltate pe baza
presupunerii c F este difereniabil. n plus, metodele din aceast clas nu sunt n general
aplicate problemelor pentru care derivatele funciei F nu sunt funcii continue.


7.3. Metode de tip gradient

Aa cum a fost menionat n seciunea 7.1, n problemele de optimizare a portofoliilor
funciile obiectiv sunt dublu difereniabile i relaiile (7.1) pot fi verificate. Optimizarea
funciilor n n variabile i care ndeplinesc proprietile din definiia 7.2 poate fi realizat prin
metode de tip gradient. Sunt prezentate n continuare metoda celei mai rapide (abrupte)
descreteri i metoda Newton. Ambele metode presupun construcia cte unui ir care, n
anumite condiii de regularitate impuse funciei obiectiv, converge ctre soluia optimal a
problemei de optimizare.

Metoda celei mai rapide descreteri
Tehnica celei mai rapide descreteri este justificat geometric astfel. Presupunem c
( ) x F este funcia de minimizat i
k
x este punctul construit la momentul curent. Un punct
mai bun (n sensul c valoare funciei obiectiv descrete n acel punct fa de punctul
curent) poate fi determinat prin deplasarea pe direcia de cutare care determin descreterea
cea mai rapid a lui F, adic pe direcia gradientului negativ.

Metoda celei mai rapide descreteri de tip perfect line search este descris astfel.
(Bartholomeu-Biggs, 2005)

Selecteaz
0
x , estimare iniiale a punctului de minim al lui ( ) x F i 0 >
Repeat for ,... 2 , 1 , 0 = k
( )
k k
F x p =
calculeaz
*
s care minimizeaz ( ) ( )
k k
s F s p x + =
aplic regula de actualizare
k k k
s p x x *
1
+ =
+

Until ( ) <
+1 k
F x

Observaie. O serie de metode de optimizare utilizeaz n construcia irului tipare
similare celui prezentat n algoritmul de mai sus, i anume fiecare iteraie const n dou
etape: alegerea direciei de cutare (calculul lui
k
p ) i respectiv procedura de determinare a
demarcaiei (line search) n scopul stabilirii unei valori adecvate a pasului
*
s .

Definiia 7.3. Procedura de determinare a demarcaiei
*
s care minimizeaz
( ) ( )
k k
s F s p x + = se numete perfect sau exact.

Definiia 7.4. O procedur de determinare a demarcaiei prin care este acceptat orice
valoare a pasului s care ndeplinete,
( ) ( ) 0 < +
k k k
F s F x p x i este mrginit
se numete inexact sau slab.

n continuare este prezentat teorema de convergen a metodei.

Propoziia 7.1. Fie ( ) x F o funcie dublu difereniabil, cu derivatele continue i
mrginit inferior i pentru care este ndeplinit proprietatea
( )
2
2
z z x z M F
T

pentru orice vector z , unde 0 > M este constant scalar. Atunci irul definit prin,
( )
k k k
F
M
x x x =
+
1
1
(
1
= M s )
este cu proprietatea
( ) 0
k
F x cnd k .

Metoda Newton
Tehnica celei mai abrupt descreteri are inconvenientul c nu folosete informaia dat
de cea de-a doua derivat. Pot fi obinute metode mai eficiente pe baza proprietii funciilor
ptratice, ( ) x Q , de a avea matricea Hessian constant. Fie
(7.3) ( ) c Q
T T
+ + = x b Ax x x
2
1
.
Gradientul este,
( ) b Ax x + = Q .
Punctul staionar rezult prin rezolvarea sistemului de ecuaii liniare,
(7.4) b Ax = .

Soluia sistemului (7.4) este punct de minim dac matricea Hessian, A, este pozitiv
definit. Dac A este negativ definit, soluia sistemului (7.4) este punct de maxim. Dac A
este oarecare, soluia lui (7.4) este punct ea. Dac A este nesingular, atunci (7.3) are un unic
punct staionar.
Principiile expuse mai sus pot fi aplicate pentru minimizarea unei funcii generale,
( ) x F . Fie
k
x estimaia punctului de minim al lui F la momentul curent i ( )
k k
F x g = ,
( )
k k
F x G
2
= . Utiliznd dezvoltarea Taylor n jurul lui
k
x obinem,
(7.5) ( ) ( ) ( ) ( ) p G p g p x p p x
k
T
k
T
k k
F Q F
2
1
+ + = + i
(7.6) ( ) ( ) p G g p p x
k k k
Q F + = +
Rezult c, dac
k
G este pozitiv definit,
(7.7)
k
T
k
g G p =
Este obinut astfel urmtorul algoritm.

Metoda Newton
Selecteaz
0
x , estimare iniiale a punctului de minim al lui ( ) x F i 0 >
Repeat for ,... 2 , 1 , 0 = k
( )
k k
F x g = , ( )
k k
F x G
2
=
If
k
G este pozitiv definit, atunci calculeaz
k
T
k k
g G p =
Else
k k
g p =
calculeaz
*
s astfel nct ( )
k k
s F p x + ndeplinete condiiile Wolfe 2 i 3
(Bartholomeu-Biggs, 2005)
aplic regula de actualizare
k k k
s p x x *
1
+ =
+

Until ( ) <
+1 k
F x


Exemplul 7.1 STUDIU DE CAZ
n tabelul 7.1 este prezentat istoricul randamentelor corespunztoare aciunilor A1,
A2,A3,A4,A5 pe o perioad de 10 sptmni. (Bartholomeu-Biggs, 2005)

S1 S2 S3 S4 S5 S6 S7 S8 S9 S10
A1 1.2 1.3 1.4 1.5 1.1 1.2 1.1 1.0 1.0 1.1
A2 1.3 1.0 0.8 0.9 1.4 1.3 1.2 1.1 1.2 1.1
A3 0.9 1.1 1.0 1.1 1.1 1.3 1.2 1.1 1.0 1.1
A4 1.1 1.1 1.2 1.3 1.2 1.2 1.1 1.0 1.1 1.2
A5 0.8 0.75 0.65 0.75 0.8 0.9 1.0 1.1 1.1 1.2

Tabelul 7.1

Problema de rezolvat: determinarea portofoliului de risc minim pentru un randament
dat % 15 . 1 = Rp .
Randamentul mediu al portofoliului rezulta,
( )
T
905 . 0 15 . 1 09 . 1 13 . 1 19 . 1 r
i matricea de covarian este,
|
|
|
|
|
|

\
|

0307 . 0 0058 . 0 0035 . 0 0099 . 0 0219 . 0


0058 . 0 0065 . 0 0015 . 0 0035 . 0 0085 . 0
0035 . 0 0015 . 0 0109 . 0 0033 . 0 0011 . 0
0099 . 0 0035 . 0 0033 . 0 0321 . 0 0187 . 0
0219 . 0 0085 . 0 0011 . 0 0187 . 0 0249 . 0
Q

Problema poate fi modelat n termenii RISCMIN1M,
Minimizeaz ( ) ( )
( )
( )
2
2
Bx r r Bx Q Bx
T T T
Rp
Rp
F + + + + =

.
Prin aplicarea metodelor de tip gradient prezentate, pentru eroarea permis n
5
10

i
100 = , rezult
portofoliul ( ) 04 . 0 2 . 0 01 . 0 34 . 0 42 . 0 = y
riscul minim
3
10 44 . 3

= V
randamentul Rp , randamentul dat.
De asemenea, pentru aceeai eroarea permis, n
5
10

, testele indic faptul c


numrul de iteraii ale metodei celei mai rapide descreteri este de ordinul sutelor, n timp ce
metoda Newton necesit cteva zeci de iteraii.

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