Sunteți pe pagina 1din 90

CURSUL 1

Mulţimi şi funcţii convexe în <n.


Leme de tip Farkas-Minkowski
a spaţiul liniar <n , înzestrat cu topologia uzual¼
Se consider¼ a. Numim seg-
ment determinat de punctele x1 ; x2 2 <n mulţimea

x1 ; x2 = x 2 <n =x = x1 + (1 )x2 ; 2 [0; 1] :

O submulţime C <n este mulţime convex¼a dac¼ a odat¼


a cu oricare dou¼
a puncte
ale sale, C conţine întregul segment determinat de aceste puncte adic¼
a
(x1 ; x2 2 C ) x1 ; x2 C).
Intersecţia oric¼
arei familii de mulţimi convexe este o mulţime convex¼
a. (Reuni-
unea unor mulţimi convexe nu este în general convex¼ a).
Se numeşte combinaţie liniar¼a convex¼a a punctelor x1 ; x2 ; :::; xk 2 <n , orice
punct x 2 <n de forma x = 1 x1 + 2 x2 + ::: + k xk , unde i 2 <; i > 0; i =
Pk
1; k; i = 1:
i=1
Dac¼
a toţi scalarii i sunt strict pozitivi, x se numeşte combinaţie liniar¼a strict
convex¼a a punctelor x1 ; x2 ; :::; xk :
Teorema 1.
Fie C <n o mulţime nevid¼a. A…rmaţiile urm¼atoare sunt echivalente:
(1) C este mulţime convex¼a;
(2) C conţine orice combinaţie liniar¼a convex¼a de puncte din C;
(3) Pentru …ecare x 2 C şi y 2 <n ; mulţimea
T (x; y) = ft 2 <=x + ty 2 Cg este convex¼a.

Un punct x 2 C cu proprietatea c¼ a orice vecin¼atate a sa conţine atât puncte din


C cât şi puncte care nu aparţin lui C se numeşte punct frontier¼a al mulţimii
convexe C.
Un punct x 2 C este punct extrem sau vârf, dac¼ a nu exist¼
a în C doi vectori
diferiţi, x1 şi x2 astfel încât x = x1 + (1 ) x2 cu 0 < < 1; adic¼ a x nu se
poate reprezenta ca o combinaţie strict convex¼ a a dou¼a puncte distincte din C.
De exemplu, pentru mulţimea închis¼ a dintr-un plan, m¼ arginit¼a de laturile unui
triunghi, care este evident convex¼ a, vârfurile triunghiului sunt punctele extreme
ale mulţimii respective.
T
Mulţimea vectorilor x 2 <n ; x = (x1 ; x2 ; :::; xn ) care satisfac o relaţie de
tipul:
a1 x1 + a2 x2 + ::: + an xn =
unde este un num¼ ar real constant, formeaz¼ a un hiperplan.
T
Dac¼
a not¼
am a = (a1 ; a2 ; :::; an ) , ecuaţia hiperplanului este

(1) aT x = :

În cazul planului <2 , hiperplanul a1 x1 + a2 x2 = este o dreapt¼


a.

1
Mulţimea vectorilor x care veri…c¼ a relaţia aT x sau aT x formeaz¼a
2
un semispaţiu. În < semispaţiile sunt semiplanele de…nite de inecuaţiile:
a1 x1 + a2 x2 respectiv a1 x1 + a2 x2 :

a mulţimea vectorilor x 2 <n care satisfac sis-


Intersecţia a m semispaţii, adic¼
temul de relaţii 8 T
>
> a1 x 1
>
< T
a2 x 2
>
> ::::::::::::::::::::::
>
: m T
(a ) x m
T
cu ai = (ai1 ; ai2 ; :::; ain ) , i = 1; m , se numeşte tronson convex. Un tronson
m¼arginit se numeşte poliedru convex.
Hiperplanul, semispaţiul şi tronsonul sunt mulţimi convexe.
O mulţime X <n este situat¼ a de o singur¼a parte a hiperplanului (1) dac¼ a
avem aT x > (sau aT x 6 ) pentru orice x 2 X; adic¼ a X este conţinut¼a …e în
semispaţiul aT x > , …e în semispaţiul aT x 6 ; semispaţiul care-l include pe
X se numeşte suportul lui X. Dac¼a în plus inf (aT x) = (sau sup (aT x) = )
x2X x2X
atunci (1) se numeşte hiperplan de sprijin pentru X. Hiperplanul (1) separ¼a
mulţimile X şi Y din <n dac¼ a aceste mulţimi sunt de o parte şi de alta a lui.
Dac¼a, de exemplu, suportul lui X este semispaţiul aT x atunci vom avea
aT x aT y pentru orice x 2 X şi orice y 2 Y , de unde rezult¼
a de asemenea
a inf (aT x) > sup (aT y):Pentru orice dou¼
c¼ a mulţimi convexe nevide şi disjuncte,
x2X y2Y
exist¼
a un hiperplan care le separ¼
a.
Teorema de separare a mulţimilor convexe
Dac¼a X; Y <n sunt mulţimi convexe nevide şi X \ Y = ;; atunci exist¼a
n
a 2 < cu kak = 1; astfel încât

inf (aT x) > sup (aT y):


x2X y2Y

Funcţii convexe
Fie X <n o mulţime convex¼ a. Funcţia f : X ! <m este convex¼a
a şi nevid¼
1 2
pe X dac¼
a pentru 8x ; x 2 X şi 8t 2 [0; 1] are loc inegalitatea

(2) f (tx1 + (1 t)x2 ) 6 tf (x1 ) + (1 t)f (x2 ):

Funcţia f este strict convex¼a pe X dac¼ a pentru 8x1 ; x2 2 X (x1 6= x2 ) şi


8t 2 (0; 1); inegalitatea (2) este strict¼
a.
Funcţia f este cvasiconvex¼a pe X dac¼ a pentru 8x1 ; x2 2 X şi 8t 2 [0; 1] are
loc inegalitatea

(3) f (tx1 + (1 t)x2 ) 6 max(f (x1 ); f (x2 )):

2
Funcţia f este explicit cvasiconvex¼a pe X dac¼ a pentru 8x1 ; x2 2 X (f (x1 ) 6=
2
f (x )) şi 8t 2 (0; 1) inegalitatea (3) este strict¼ a.
Orice funcţie convex¼ a este cvasiconvex¼ a şi explicit cvasiconvex¼
a. Funcţia f
se numeşte concav¼a, strict concav¼a, explicit cvasiconcav¼a pe X, dac¼ a ( f ) este
respectiv convex¼ a, strict convex¼ a, explicit cvasiconvex¼ a pe X.
Funcţia f este liniar¼a dac¼ a este atât convex¼ a cât şi concav¼
a. Mulţimea
funcţiilor convexe este închis¼ a faţ¼
a de adunarea şi înmulţirea cu scalari pozitivi.

Propoziţia 1. (De…niţii echivalente pentru funcţii convexe).


Fie X <n o mulţime convex¼a şi f : X ! <: Urm¼atoarele a…rmaţii sunt
echivalente:
1) f este convex¼a pe X .
2) Pentru orice x 2 X şi orice y 2 <n ; funcţia gx;y (t) = f (x + ty) este
convex¼a pe mulţimea convex¼a T (x ; y) = ft=t 2 <; x + ty 2 Xg :
3) Pentru orice x1 ; x2 2 X; funcţia hx1 ;x2 ( ) = f ( x1 + (1 )x2 ) este
convex¼a pe [0; 1] :
4) Mulţimea (X ; f ) = f(x; z)=(x; z) 2 X <; f (x) 6 zg, numit¼a epigraful lui
f, este convex¼a.

Fie X <n o mulţime deschis¼ am cu C m (X) clasa funcţiilor continue care


a. Not¼
admit derivate parţiale pân¼
a la ordinul m; continue. Dac¼a f este diferenţiabil¼
a
în punctul x0 2 X, atunci
T
@f (x0 ) @f (x0 )
rf (x0 ) = ; :::;
@x1 @xn

este gradientul funcţiei f în punctul x0 : Se foloseşte şi notaţia rx f (x0 ); dac¼


af
a de x = (x1 ; :::; xn )T :
depinde şi de alte variabile în afar¼
Gradientul unei funcţii în punctul x0 , arat¼
a tendinţa de creştere sau descreştere
atatea punctului x0 :
a funcţiei în vecin¼
Exemplu.
Fie funcţia de trei variabile:
f (x1 ; x2 ; x3 ) = x31
2x1 x2 + x2 x3 6x2 + 4x3 şi
0 T
x = (2; 3; 7)
Derivatele parţiale de ordinul întâi ale funcţiei, într-un punct oarecare x 2 <3
sunt:
@f
@x1 (x) = 3x21 2x2 ;
@f
@x2 (x) = 2x1 + x3 6;
@f
@x3 (x) = x2 + 4
Gradientul funcţiei f în x0 este:
rf (x0 ) = (18; 3; 1)T

3
Rezult¼
a c¼
a funcţia f este cresc¼
atoare în raport cu x1 şi x3 şi descresc¼
atoare în
atatea punctului x0 :
raport cu x2 ; în vecin¼

a f 2 C 2 (X); atunci:
Dac¼

@ 2 f (x0 )
Hf (x0 ) = r2 f (x0 ) = ; i; j = 1; :::; n;
@xi @xj

este matricea hessian¼a a funcţiei f în x0 : Aceasta furnizeaz¼


a informaţii despre
convexitatea funcţiei f:

Propoziţia 2. (De…niţii echivalente pentru funcţii convexe şi diferenţiabile).


Fie X <n o mulţime convex¼a şi deschis¼a şi …e f 2 C 1 (X): Urm¼atoarele
a…rmaţii sunt echivalente:
1) f este convex¼a pe X .
2) Pentru orice x 2 X şi orice y 2 <n , funcţia gx;y 0
(t) = y T rf (x + ty) este
cresc¼atoare pe mulţimea T (x ; y).
3) Oricare ar … x1 ; x2 2 X; funcţia hx0 1 ;x2 ( ) = (x1 x2 )T rf ( x1 +(1 )x2 )
este cresc¼atoare pe [0; 1] :
4) Oricare ar … x1 ; x2 2 X
f (x ) f (x ) > (x x 2 ) rf (x ):
1 2 1 T 2
1 2
5) Oricare ar … x ; x 2 X
f (x ) f (x ) 6 (x x 2 ) rf (x ):
1 2 1 T 1
1 2
6) Oricare ar … x ; x 2 X
(x x 2 ) (rf (x ) rf (x )) > 0 :
1 T 1 2

7) Dac¼a f 2 C 2 (X); matricea hessian¼a Hf (x ) este pozitiv de…nit¼a pentru


orice x 2 X:
Propoziţia 3
Fie X <n o mulţime convex¼a f : X ! < explicit cvasiconvex¼a pe X ,
atunci orice minim local al funcţiei f este şi minim global al s¼au pe X .

Demonstraţie.
Fie x 2 X un punct de minim local al funcţiei f . Rezult¼ a c¼
a exist¼
a">0
astfel încât 8x 2 X \ S(x ; ") s¼ a avem f (x ) 6 f (x), unde S(x ; ") este sfera
deschis¼a de centru x şi raz¼
a ": Presupunem prin absurd c¼ a ar exista x 2 X punct
de minim global al lui f deci f (x) < f (x ): Pentru orice 2 (0; 1); deoarece X
este convex¼ a rezult¼a x = x + (1 )x 2 X: Dac¼ a alegem < "= kx x k ;
avem x x = k x + (1 )x x k = j j kx x k < ", adic¼ ax 2X\
S(x ; ") şi deci f (x ) > f (x ): Pe de alt¼
a parte, din faptul c¼ a f este explicit
cvasiconvex¼ a pe X rezult¼ a f (x ) < max(f (x); f (x )) = f (x ): Contradicţie.
Conform acestei propoziţii, determinarea minimului global al unei funcţii
(cvasi) convexe pe o mulţime convex¼a se reduce la determinarea unui minim
local.

4
Propoziţia 4
Fie X <n o mulţime convex¼a, f : X ! <m o funcţie convex¼a, iar g :
k
X ! < o funcţie liniar¼a. Dac¼a sistemul
8
< f (x) < 0
g(x) = 0
:
x2X

nu are soluţii, atunci exist¼a u 2 <m k


+ şi v 2 < ; (u; v) 6= 0; astfel încât

u T f (x) + v T g(x) > 0; (8)x 2 X:


Demonstraţie. Consider¼
am mulţimea Y <m+k de…nit¼
a astfel:

Y = [ (y; z)=y 2 <m ; z 2 <k ; y > f (x); z = g(x) :


x2X

Y este convex¼ a şi 0 2


= Y: Din teorema de separare a mulţimilor convexe rezult¼a

a exist¼a u 2 <m şi v 2 <k cu (u; v) 6= 0 astfel încât s¼ a avem:
uT y + v T z > 0 pentru orice (y; z) 2 Y:
Dac¼ a u 0; adic¼ a ar exista ui < 0; atunci alegând yi su…cient de mare inegali-
tatea de mai sus nu se mai veri…c¼ a.
Rezult¼ a u > 0: A…rmaţia din propoziţie rezult¼ a scriind inegalitatea pentru
(f (x) + "e; g(x)) 2 Y; unde " > 0 şi e = (1; 1; :::; 1)T :
Toate de…niţiile privind diversele tipuri de convexitate pentru o funcţie, pe
o mulţime, pot … date şi pentru un punct. De exemplu, o funcţie f : X ! < se
numeşte convex¼a într-un punct x0 2 X dac¼ a
f ( x0 + (1 )x) 6 f (x0 ) + (1 )f (x); pentru orice x 2 X şi orice 2 (0; 1);
pentru care x0 + (1 )x 2 X:
Este evident c¼
a toate rezultatele demonstrate pentru funcţii convexe pe o mulţime

amân adev¼ arate şi într-un punct.
Un sistem de m inecuaţii liniare cu n necunoscute x1 ; x2 ; :::; xn are forma:
8
>
> a11 x1 + a12 x2 + ::: + a1n xn 6 b1
>
>
>
> a21 x1 + a22 x2 + ::: + a2n xn 6 b2
>
>
< :::::::::::::::::::::::::::::::::::::::::::::::::::::::
ae1 x1 + ae2 x2 + ::: + aen xn 6 be
>
>
>
> a e+1;1 x1 + ae+1;2 x2 + ::: + ae+1;n xn > be+1
>
>
>
> ::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:
am1 x1 + am2 x2 + ::: + amn xn > bm
Sistemul este compatibil, dac¼ a exist¼
a n numere reale x1 ; x2 ; :::; xn care s¼
a
satisfac¼a simultan cele m relaţii; n-upla ordonat¼ a (x1 ; :::xn ) se numeste soluţia
sistemului dat.
Un sistem de inecuaţii liniare poate … adus la forma în care toate inecuaţiile
sunt de acelaşi sens, prin ampli…carea cu (-1) a inecuaţiilor de sens contrar.
Dac¼ a toate inecuţiile sunt de exemplu, cu 00 6 00 ; sistemul se scrie Ax 6 b unde
am notat:

5
0 1 0 1 0 1
a11 a12 :::a1n x1 b1
B a21 a22 :::a2n C B x2 C B b2 C
A=B C; x = B
B ..
C B
C; b = B ..
C
C
@ :::::::::::::::::::::: A @ A @ A
. .
am1 am2 :::amn xn bm
Mulţimea soluţiilor unui sistem de inecuaţii liniare este o submulţime convex¼
a
din <n .
Rezultatul fundamental în problema existenţei soluţiilor pentru sistemele de
inegalit¼
aţi liniare este cunoscut sub numele de Lema Farkas-Minkowski.
Lema 1 (Farkas-Minkowski)
Dintre sistemele liniare
Ax = b
(4)
x>0
şi
AT u > 0
(5) ;
bT u < 0

unul şi numai unul are soluţii.

Observaţii
1. În enunţul lemei Farkas-Minkowski sistemul (5) poate … înlocuit cu sistemul

AT u 6 0
bT u > 0

2. O formulare echivalent¼
a: o condiţie necesar¼
a şi su…cient¼
a ca sistemul
Ax = b; x > 0

a …e compatibil este ca
AT u > 0 ) bT u > 0:
Exist¼
a de asemenea cel puţin 30 de leme de tip Farkas-Minkowski .

Forma general¼
a a unei probleme de programare liniar¼
a
O problem¼
a de programare liniar¼ a const¼ a în optimizarea (minimizarea sau
maximizarea) unei funcţii liniare cu condiţii liniare (egalit¼
aţi sau inegalit¼
aţi). Se
caut¼
a extremul unei funcţii liniare de n variabile

z = c1 x1 + c2 x2 ::: + cn xn

numit¼a funcţie obiectiv (de e…cienţ¼a), cu condiţia ca variabilele xi ; i = 1; 2; :::n;



a satisfac¼
a un sistem de m inecuaţii sau ecuaţii liniare de forma:

6
8
> a11 x1 + a12 x2 + ::: + a1n xn b1
>
> >
>
< a21 x1 + a22 x2 + ::: + a2n xn b2
>
>
> :::::::::::::::::::::::::::::::::::::::::::::::::::::
>
>
: am1 x1 + am2 x2 + ::: + amn xn bm
>

Variabilele xi ; i = 1; n pot … nenegative, nepozitive sau oarecare.

7
CURSUL 2
Teorema fundamental¼
a a program¼
arii liniare
Algoritmul simplex primal
Programarea liniar¼
a este un instrument puternic de rezolvare a unor prob-
leme reale din cele mai diverse domenii. Creşterea puterii de calcul şi a capac-
it¼aţii de memorare a calculatoarelor i-a încurajat pe analişti s¼
a descrie cât mai
detaliat fenomenele studiate, obţinând modele matematice de dimensiuni foarte
mari.
Metoda simplex, propus¼ a de Dantzig a constituit metoda de baz¼ a pentru
rezolvarea problemelor de programare liniar¼ a, pân¼
a în 1984 când a ap¼ arut o nou¼
a
direcţie de cercetare: metodele de punct interior s-au dovedit a … mai e…ciente
pentru rezolvarea problemelor de mari dimensiuni şi au fost aplicate cu succes
şi în rezolvarea problemelor de optimizare neliniar¼ a.. Algoritmul lui Narendra
Karmarkar a determinat o ”revoluţie” în domeniul program¼ arii matematice.
Consider¼
am forma standard a problemei de programare liniar¼
a:
8
< inf(cT x)
(1) Ax = b
:
x 0

Mulţimea
P = fx 2 <n =Ax = b; x 0g
se numeşte mulţimea programelor sau soluţiilor admisibile. P este o mulţime
convex¼ a. Intr-adev¼ ar dac¼ a P = ; sau card(P ) = 1 este evident. Altfel, …e
x1 ; x2 2 P; x1 6= x2 :Atunci
x = x1 + (1 ) x2 2 P; unde 2 [0; 1] ; deoarece x 0 şi
1
Ax = Ax + (1 ) Ax2 = b + (1 ) b = b.
O soluţie admisibil¼
a x 2 P este soluţie optim¼a a problemei (1) dac¼a este
punct de minim global al funcţiei obiectiv z = cT x pe mulţimea programelor P
adic¼
a
cT x cT x; (8) x 2 P:
Fie sistemul de m ecuaţii liniare cu n necunoscute

(2) Ax = b

unde A 2 Mm n ; b 2 <m ; x 2 <n :


Presupunem rang(A) = m n: Dac¼ a m = n sistemul (2) are soluţia unic¼
a
x = A 1 b;
iar dac¼a m < n sistemul are o in…nitate de soluţii.
Fie B o matrice p¼ atrat¼ a format¼
a cu m coloane liniar-independente ale ma-
a baz¼a : B = aj1 :::ajm :
tricii A, numit¼
Not¼am B = fj1 ; :::; jm g şi xB = (xj1 :::xjm ) :

1
Matricea format¼ a cu coloanele lui A care nu sunt în B va … notat¼
a cu R iar
R = f1; :::; ng n B:
Not¼am cu xR vectorul format cu componentele lui x care nu se a‡a¼ în xB :
Componentele lui xB se numesc variabile de baz¼a iar componentele lui xR vari-
abile secundare. Sistemul (2) devine BxB + RxR = b de unde se obţine forma
explicit¼a :
(3) xB = B 1
b B 1
RxR :

O soluţie x 2 <n a sistemului (2) se numeşte soluţie de baz¼a, dac¼a pentru


componentele sale diferite de zero corespund coloane liniar independente ale lui
A. Deoarece rang (A) = m < n;cel mult m componente ale unei soluţii de
baz¼
a pot … nenule. Dac¼ a soluţia de baz¼
a are exact m componente nenule, ea se
numeşte nedegenerat¼a, în caz contrar - degenerat¼a.
O soluţie de baz¼
a se poate obţine din (3) dac¼
a anul¼
am variabilele secundare:

xB = B 1
b
(4)
xR = 0 :

Aceast¼
a soluţie de baz¼
a corespunde bazei B format¼ a cu m coloane linear inde-
pendente ale lui A.
Se asociaz¼
a în acest mod la …ecare baz¼
a o soluţie de baz¼a.
Teorema fundamental¼
a a program¼
arii liniare (Kantorovici).
a) Dac¼a problema de programare liniar¼a (1) are o soluţie, atunci are o soluţie
de baz¼a.
b) Dac¼a problema de programare (1) are o soluţie optim¼a, atunci are o soluţie
de baz¼a optim¼a.
Demonstraţie.
a) Fie x un program al problemei (1). Not¼ am cu p num¼ arul componentelor
nenule ale vectorului x. F¼
ar¼
a a restrânge generalitatea putem presupune c¼
a cele
p componente diferite de zero sunt chiar pe primele p poziţii, adic¼
a

T
x = (x1 :::xp 0:::0) :

Dac¼a p = 0; atunci x = 0; care este soluţie de baz¼


a. Dac¼
a p > 0 avem dou¼
a
situaţii:
(i). Coloanele a1 ; :::; ap ale matricii A, care corespund celor p componente
diferite de zero, ale vectorului x sunt liniar independente. Rezult¼ a c¼
a x este o
soluţie de baz¼
a.
(ii). Vectorii a1 ; :::; ap sunt liniar dependenţi. Atunci exist¼
a y1 ; :::; yp reali,
nu toţi nuli, astfel încât:

(5) y1 a1 + ::: + yp ap = 0:

2
Not¼
am cu
y = (y1 :::yp 0:::0) ; y 6= 0:
Atunci din (5) rezult¼
a Ay = 0.
Pentru orice num¼ ar real ; x + y este soluţie a sistemului de ecuaţii (2):

A (x + y) = Ax + Ay = b:

Putem determina valori ale lui pentru care x + y s¼


a …e chiar program, adic¼
a
x + y 0; rezolvând sistemul de p inecuaţii

xi + yi 0; i = 1; p:

Not¼
am
I1 = fi =1 i n; yi > 0g
şi
I2 = fi =1 i n; yi < 0g :
De…nim (
xi
max yi ; daca I1 6= ;
1 = i2I1
1 ; daca I1 = ;
(
xi
min yi ; daca I2 6= ;
2 = i2I2
+1 ; daca I2 = ;:
Pentru 2 [ 1 ; 2 ] avem x + y 0: Putem alege acum 0 2 [ 1 ; 2 ]
astfel încât vectorul x + 0 y s¼ a aib¼
a cel mult p 1 componente nenule. Intr-
adev¼ar, putem lua 0 = 1 dac¼ a 2 = +1 sau 0 = 2 dac¼ a 1= 1
( 1 şi 2 nu pot … ambele in…nite).
Coloanele corespunz¼ atoare componentelor diferite de zero (în num¼ ar de cel
mult p 1) ale programului x + 0 y pot … sau liniar independente (cazul (i)
studiat mai sus), sau liniar dependente. In ultima situaţie se reia raţionamentul
de la cazul (ii); într-un num¼ar …nit de paşi vom ajunge la cazul (i) şi vom obţine
deci un program de baz¼ a.
b) Fie x un program optim care are primele p componente diferite de zero.
Pentru p = 0 rezultatul se obţine imediat. Dac¼
a p > 0 avem dou¼
a cazuri:
i) Vectorii a1 ; :::; ap sunt liniar independenţi. Rezult¼
a c¼
a x este soluţie optim¼
a
de baz¼a.
ii) Vectorii a1 ; :::; ap sunt liniar dependenţi. Rezult¼a c¼
a exist¼
a un vector

T
y = (y1 ; :::; yp 0; :::; 0)

astfel încât Ay = 0 cu y 6= 0 şi deci x + y este soluţie a sistemului de ecuaţii


pentru orice 2 <: Dac¼ a în plus alegem 2 [ 1 ; 2 ] ; atunci x + y este chiar
program.
Deoarece x este program optim şi x + y, 2 [ 1 ; 2 ] este program avem

3
cT x cT (x + y) = cT x + cT y =) cT y 0; (8) 2[ 1; 2] :

Observ¼ am c¼ a intervalul [ 1 ; 2 ] conţine originea (pentru = 0 se obţine x care


este program). Nu putem avea cT y 6= 0 deoarece, în caz contrar, alegând de
semn contrar lui cT y; am obţine cT y < 0; ceea ce este absurd. Deci cT y = 0;
adic¼a valoarea funcţiei obiectiv în x + y este cT x şi prin urmare x + y cu
2 [ 1 ; 2 ] este de asemenea program optim. Ca şi în demonstraţia de la
punctul a) putem reduce cu cel puţin o unitate num¼ arul componentelor diferite
de zero ale programului optim x + y alegând în mod convenabil valoarea lui .
Dup¼ a un num¼ ar …nit de paşi ajungem la cazul i), adic¼ a obţinem un program de
baz¼a optim.
Teorema ne permite s¼a c¼aut¼am soluţia optim¼a numai printre soluţiile de baz¼a
care sunt în num¼ar …nit. Cu cele n coloane ale matricii A se pot forma Cnm
matrici de ordin m, deci putem avea cel mult Cnm soluţii de baz¼a.

Teorema 1.
Soluţiile admisibile de baz¼a ale unei probleme de programare
liniar¼a - şi numai acestea - reprezint¼a vârfurile mulţimii convexe a tuturor
soluţiilor admisibile.

In concluzie, dac¼a mulţimea soluţiilor admisibile nu este vid¼a, ea este con-


vex¼a şi poate … m¼arginit¼a sau nem¼arginit¼a.
Dac¼a mulţimea soluţiilor admisibile nu este vid¼a atunci valoarea optim¼a a funcţiei
obiectiv poate … …nit¼a sau in…nit¼a. Dac¼a este …nit¼a, atunci o soluţie optim¼a ex-
ist¼a într-un punct de extrem.

Algoritmul simplex primal


Pentru rezolvarea problemelor de programare liniar¼ a s-a impus algoritmul
simplex datorat lui G.B. Dantzig (1951). Metoda permite explorarea sistematic¼ a
a mulţimii programelor (soluţiilor admisibile) prin trecerea de la o soluţie de
baz¼a la o alt¼a soluţie de baz¼
a ”vecin¼
a” care este ”cel puţin la fel de bun¼
a” ca
soluţia precedent¼a. Metoda furnizeaz¼ a de asemenea criterii pentru punerea în
evidenţ¼a a faptului c¼ a problema are optim in…nit precum şi a cazului în care
mulţimea soluţiilor este vid¼a.
Fie B = (aj1 :::ajm ) o baz¼
a Consider¼
am forma explicit¼
a a sistemului Ax = b :

(6) xB = B 1
b B 1
RxR :

unde R este matricea format¼


a cu coloanele lui A care nu sunt în B:

4
Fie B = fj1 ; :::; jm g şi R = f1; :::; ng n B:
Dac¼ am B 1 b = xB şi B 1 aj = yjB ; 1
a not¼ j n; (6) devine:

X
(7) xB = xB yjB xj ;
j2R

iar pe componente:
X
(8) xB B
i = xi
B
yij xj ; i 2 B:
j2R

Soluţia de baz¼
a corespunz¼
atoare bazei B este dat¼
a de:

xB = xB
(9)
xR = 0:

Aceast¼
a soluţie de baz¼
a este un program dac¼
a

1
(10) B b 0:

O baz¼a B care veri…c¼a (10) se numeşte baz¼a primal admisibil¼a.


Funcţia obiectiv se poate scrie ţinând seama de (6):

z = cTB xB + cTR xR = cTB B 1


b cTB B 1
R cTR xR

unde cB şi cR sunt vectori coloan¼ a având componentele ci ; i 2 B


şi respectiv ci ; i 2 R:
Not¼am cu
z B = cTB xB ; zjB = cTB yjB ; 1 j n:

Observ¼ a z B reprezint¼
am c¼ a valoarea funcţiei obiectiv pentru soluţia de baz¼
a

xB = xB ; xR = 0:

Cu notaţiile de mai sus funcţia z devine:


X
(11) z = zB zjB cj xj
j2R

La …ecare baz¼ a utilizat¼


a B corespunde un tabel simplex care are în prima coloan¼ a
variabilele de baz¼a (vectorul xB ); în a doua coloan¼a valorile variabilelor de baz¼
a
(vectorul xB ), iar în urm¼ atoarele n coloane, vectorii yjB ; 1 j n: Pe o linie
suplimentar¼ a se trec funcţia obiectiv z = cT x; valoarea sa în baza B (adic¼ a
B
z ), precum şi cantit¼ aţile zjB cj ; 1 j n; necesare în aplicarea algoritmului

5
simplex. Este util s¼ aturi de coloana xB vectorul cB ; iar al¼
a scriem al¼ aturi de
lista variabilelor xj ; 1 j n; coe…cienţii cj ; 1 j n; din funcţia obiectiv.

c1 cj cn
V:B: V:V:B: x1 ... xj ... xn
cB xB x = B 1b y1B ::: yjB = B 1 aj ... ynB
zjB cj =
z z = cTB xB z1B c1 ::: ... znB cn
cTB yjB cj

In cele ce urmeaz¼
a consider¼
am problema de minim sub forma standard:
8
< inf (cT x)
(12) Ax = b :
:
x 0:

Teorema 2.
Fie B o baz¼a primal admisibil¼a. Dac¼a

(13) zjB cj 0; (8) j 2 R;

atunci programul de baz¼a (9) este o soluţie optim¼a a problemei de programare


liniar¼a (12).
Demonstraţie. Fie x un program arbitrar al problemei (12). Valoarea funcţiei
obiectiv z = cT x pentru acest program este exprimat¼
a de relaţia (11). Ţinând
a z > zB :
seama de (13) rezult¼

Relaţiile (13) reprezint¼


a testul de optimalitate.

Teorema 3.
Fie B o baz¼a primal admisibil¼a. Dac¼a exist¼a k 2 R astfel încât s¼a avem:

zkB ck > 0
şi
ykB 0;

atunci problema (12) are optim in…nit.

Teorema 4.
Fie B o baz¼a primal admisibil¼a. Dac¼a exist¼a k 2 R astfel încât s¼a avem :

zkB ck > 0
şi
ykB 0

6
şi dac¼a r 2 B se determin¼a din condiţia :

xB
i xB
r
(14) min B
= B
;
B >0
i=yik yik yrk

atunci matricea B e obţinut¼a din B prin înlocuirea coloanei a r cu coloana ak


e
este o baz¼a primal admisibil¼a, iar programul xB este cel puţin la fel de bun ca
e
programul xB adic¼a z B z B .

Relaţia (14) este criteriul de ieşire din baz¼a.

Algoritmul simplex.
Pasul 0. Se determin¼ a o baz¼
a primal admisibil¼a B, se calculeaz¼
a
xB ,z B ; yjB ; zjB cj ; 1 j n şi se trece la pasul 1.
a zjB cj
Pasul 1. Dac¼ 0 pentru orice j2 R; STOP: xB = xB ; xR = 0
este program optim. Dac¼ a j2 R pentru care zjB cj > 0; se determin¼
a exist¼ a
B
mulţimea R+ = j 2 R=zj cj > 0 şi se trece la pasul 2.
Pasul 2. Dac¼ a exist¼ a avem yB
a j2 R+ astfel încât s¼ j 0; STOP:
problema are optim in…nit.
Dac¼a pentru orice j2 R+ avem yB j 0; determin¼am k 2 R+ folosind criteriul
de intrare în baz¼a :

(15) max zjB cj = zkB ck


j2R+

şi apoi indicele r 2 B cu criteriul de ieşire din baz¼


a (14) şi se trece la pasul 3.
Pasul 3. Se consider¼a baza B e obţinut¼ a din B prin înlocuirea coloanei ar cu
e e e e
a xB ; z B ; yjB ; zjB cj ; 1
coloana ak ; se calculeaz¼ j n şi se trece la pasul 1,
înlocuind B cu B:e

In cazul unei probleme de maximizare, numai paşii 1 şi 2 ai algoritmului


trebuie modi…caţi:
Pasul 1 0 : Dac¼
a zjB cj 0 pentru orice j 2 R (criteriul de optimalitate
pentru problema de maxim), STOP; xB = xB ; xR = 0 este program optim.
Altfel se determin¼ a mulţimea R = z 2 R=zjB cj < 0 şi se trece la pasul
20 .
Pasul 2 0 : Dac¼ a j 2 R astfel încât yjB
a exist¼ 0; STOP; problema are
optim in…nit. Altfel, se determin¼
a indicele k 2 R folosind criteriul de intrare
în baz¼
a:
(16) min zjB cj = zkB ck
j2R

şi r 2 B folosind criteriul de ieşire din baz¼


a (14) şi se trece la pasul 3.

7
Observaţii
1. Criteriile de intrare în baz¼ a (15) respectiv (16) asigur¼a o convergenţ¼ a mai
rapid¼
a a algoritmului. Intr-adev¼ ar din (11) se vede c¼
a valoarea funcţiei obiectiv
scade , respectiv creşte cu o cantitate cât mai mare în valoare absolut¼ a.
2. Pentru j2 B avem
j
yjB = B 1 j
a = ej = (0:::1:::0)T :

Aceasta rezult¼ a B = (:::aj ...) şi B


a din faptul c¼ 1
B = (e1 :::ej :::em ):
3. Pentru j 2 B;
zjB = cTB yjB = cTB ej = cj
Rezult¼
a
zjB cj = 0; (8) j 2 B:

8
CURSUL 3
Dualitatea în programarea liniar¼ a Rezolvarea
simultan¼ a a unui cuplu de probleme duale.Analiza
sensibilit¼
aţii
Dualitatea ocup¼ a în programarea liniar¼ a un loc important, atât din punct de
vedere teoretic, cât şi din punct de vedere practic. Oric¼
arei probleme de progra-
mare liniar¼
a îi corespunde o alt¼a problem¼a de progamare liniar¼a numit¼
a duala sa.


a consider¼
am o problem¼
a de programare liniar¼
a în forma general¼
a:
8
>
> inf c1T x1 + c2T x2 + c3T x3
>
>
< A11 x1 + A12 x2 + A13 x3 b1
(1) A21 x1 + A22 x2 + A23 x3 = b2
>
>
> A31 x1 + A32 x2 + A33 x3 b3
>
: 1
x 0; x2 oarecare, x3 0

Duala problemei (1) este:


8
>
> sup b1T u1 + b2T u2 + b3T u3
>
>
< AT11 u1 + AT21 u2 + AT31 u3 c1
(2) AT12 u1 + AT22 u2 + AT32 u3 = c2
>
>
>
> AT u1 + AT23 u2 + AT33 u3 c3
: 131
u 0; u2 oarecare,u3 0
Problemele (1) şi (2) formeaz¼
a un cuplu de probleme duale.

Problema iniţial¼
a se va numi problem¼a primal¼a. Duala se obţine din primal¼
a în
modul urm¼ator:
a) Termenii liberi din problema primal¼ a devin coe…cienţi ai funcţiei obiectiv
în problema dual¼ a.
b) Coe…cienţii funcţiei obiectiv din problema primal¼ a devin termeni liberi în
problema dual¼ a.
c) O problem¼ a de maximizare (minimizare) se transform¼ a într-o problem¼ a
de minimizare (maximizare).
d) Matricea coe…cienţilor sistemului de restricţii este transpusa matricei co-
e…cienţilor sistemului de restricţii primare.
e) Variabilele duale (primale) asociate unor restricţii primale (duale) con-
cordante sunt supuse condiţiei de nenegativitate.
f) Variabilele duale (primale) asociate unor restricţii primale (duale) necon-
cordante sunt supuse condiţiei de nepozitivitate.
g) Variabilele duale (primale) asociate unor restricţii primale (duale) care
sunt ecuaţii nu sunt supuse nici unei condiţii privind semnul.
Duala unei probleme de programare liniar¼
a în forma standard

1
8
< inf cT x
(3) Ax = b
:
x 0

este problema de programare liniar¼


a:
8
< sup bT u
(4) AT u c
:
u oarecare

Duala problemei în form¼


a canonic¼
a
8
< inf cT x
(5) Ax b
:
x 0

este tot sub form¼


a canonic¼
a
8
< sup bT u
(6) AT u c :
:
u 0

Cuplul de probleme (5) şi (6) este numit şi cuplul dual simetric. Studiul propri-
et¼ aţilor de dualitate se face pe acest cuplu datorit¼
a simetriei sale.
Fie
P = fx 2 <n =Ax b; x 0g
mulţimea programelor problemei primale (1:7:5)
şi
D = u 2 <m =AT u c; u 0
mulţimea programelor problemei duale (1:7:6).
Lema 1
Dac¼a x 2 P şi u 2 D atunci c T x bT u:

Demonstraţie. Deoarece
Ax b şi u 0
rezult¼
a
uT Ax uT b:
Analog, deoarece
AT u c şi x 0
rezult¼
a
xT AT u xT c:
Dar
uT Ax = xT AT u; uT b = bT u
şi
xT c = cT x:

2
Lema 2
Dac¼a x 2 P; u 2 D şi c T x = bT u atunci x este soluţie optim¼a a proble-
mei primale (5) iar u este soluţie optim¼a a problemei duale (6).

Demonstraţie
Presupunem prin absurd c¼ a x nu este soluţie optim¼a a problemei primale
(5). Rezult¼
a c¼ a x 2 P astfel încât cT x < cT x = bT u ,ceea ce contrazice
a exist¼
lema 1.
Analog se arat¼
a c¼
a u 2 D este soluţie optim¼ a a problemei duale.
Teorema 2
Dac¼a L este o matrice antisimetric¼a (LT = L); atunci sistemul de inegal-
it¼aţi liniare
Lx > 0
x>0
are cel puţin o soluţie x astfel încât

Lx + x > 0:

Teorema fundamental¼
a a dualit¼
aţii
Fiind dat cuplul de probleme dual
simetrice (5) şi (6) una şi numai una din a…rmaţiile urm¼atoare este adev¼arat¼a:
a) Ambele probleme au soluţii admisibile. În acest caz, ambele probleme au
soluţii optime şi valorile optime ale funcţiilor obiectiv în cele dou¼a probleme sunt
egale.
b) Una dintre probleme are soluţii admisibile, iar cealalt¼a nu are . În acest
caz,
problema care are soluţii admisibile are optim in…nit.
c) Nici una dintre probleme nu are soluţii admisibile.
Demonstraţie

a consider¼
am matricea de ordinul m + n + 1
0 1
0 AT c
L=@ A 0 b A:
cT bT 0

a LT =
L este antisimetric¼ L :Sistemul

Lz 0
z 0

3
are o soluţie z 2 <m+n+1 pentru care avem în plus Lz + z > 0: Cu alte cuvinte
a x 2 <n ; u 2 <m şi y 2 < astfel încât sunt satisf¼
exist¼ acute condiţiile:
8
>
> AT u + cy 0
<
Ax by 0
(7)
>
> cT x + bT u 0
:
x 0; u 0; y 0
şi
8
< x AT u + cy > 0
(8) Ax + u by > 0 :
:
cT x + bT u + y > 0
Deoarece y 0; sunt posibile dou¼
a cazuri: y > 0 şi y = 0:
Dac¼
a y > 0; s¼
a not¼
am
1 1
x = x; u = u:
y y
Atunci, din primele dou¼
a condiţii din (7) şi din condiţiile de nenegativitate,
1 1
Ax = Ax by = b
y y
şi rezult¼
a c¼
a x 2 P: De asemenea
1 T 1
AT u = A u cy = c
y y
şi deci u 2 D:
Ca urmare P 6= ; şi D 6= ;, adic¼
a situaţia a) din enunţul teoremei.
Vom ar¼ ata c¼
a x este o soluţie optim¼
a pentru problema primal¼ a, iar u este
soluţie optim¼
a pentru problema dual¼ a. Într-adev¼
ar, din a treia relaţie din (7)
rezult¼a imediat c¼
a
cT x bT u :
Conform lemei 1 este adev¼
arat¼
a şi inegalitatea contrar¼
a

cT x bT u :

Rezult¼
a atunci
cT x = bT u
şi deci, conform lemei 2; x şi u sunt soluţii optime în cele dou¼
a probleme duale.
Dac¼ a y = 0, vom ar¼ ata mai întâi c¼a nu putem avea în acest caz P 6= ; şi
D 6= ;: Intr-adev¼ ar dac¼a ar exista x0 2 P şi u0 2 D; şi dac¼ a ţinem seam¼ a de
condiţiile de nenegativitate şi de prima relaţie din (7); am obţine pe de o parte

T T
(9) bT u Ax0 u = x0 AT u 0;

4
iar pe de alt¼
a parte, dac¼
a se ţine seam¼
a şi de a doua condiţie din (7), rezult¼
a

T T
(10) cT x AT u0 x = u0 (Ax) 0:

a bT u cT x; ceea ce contrazice ultima inegalitate din (8).


Din (9) şi (10) rezult¼
Deci putem avea …e P = ; şi D = ; (situaţia c) din enunţul teoremei), …e una
dintre mulţimi e vid¼a şi cealalt¼
a nevid¼
a (situaţia b) din enunţ).
S¼a presupunem P 6= ; şi D = ;: Fie x0 2 P: Evident inegalit¼
aţile (9) se

astreaz¼
a. Folosind ultima inegalitate din (8) se obţine

cT x < 0 cT x < bT u 0 :

Dac¼ am cu x ( ) = x0 + x; se veri…c¼
a not¼ a uşor c¼
a
x ( ) 2 P pentru orice 0:
Deoarece
lim cT x ( ) = lim cT x0 + cT x = 1;
!1 !1

a inf cT x=x 2 P =
rezult¼ 1; adic¼
a problema primal¼
a are optim in…nit.
Teorema slab¼
a a ecarturilor complementare
Condiţia necesar¼a şi su…cient¼a ca x 2 P şi u 2 D s¼a …e soluţii optime în
cele dou¼a probleme duale (5) şi (6) este s¼a …e îndeplinite condiţiile:

T
(11) (u ) (Ax b) = 0
T
(12) (x ) c AT u = 0:

Demonstraţie
Pentru necesitate, presupunem x 2 P şi u 2 D programe optime.
Din teorema fundamental¼ a a dualit¼ a cT x = bT u şi deci obţinem :
aţii rezult¼

T T
(u ) (Ax b) + (x ) c AT u =0

Cum cei doi termeni ai sumei din membrul stâng al egalit¼ aţii obţinute sunt
nenegativi, …ecare termen este nul şi rezult¼ a (11) şi (12). Pentru su…cienţ¼ a, dac¼
a
se adun¼ a cele dou¼ aţi (11) şi (12) se obţine cT x = bT u şi deci x este
a egalit¼
soluţie optim¼ a a problemei primale,iar u este soluţie optim¼ a a problemei duale,
conform lemei 2:
Semni…caţia relaţiei (12) este urm¼ atoarea: dac¼ a variabila primal¼ a xi este strict
mai mare ca zero, atunci variabila ecart corespunz¼ atoare din modelul dual tre-
buie s¼a …e nul¼ a astfel încât produsul s¼ a …e nul. Relaţia (11) are o semni…caţie
analog¼ a.

5
Rezolvarea simultan¼
a a unui cuplu de probleme duale
Fie cuplul de probleme duale (3) şi (4) şi presupunem rang(A) = m < n.
O baz¼a B format¼ a cu m coloane liniar independente ale lui A se numeşte primal
admisibil¼a dac¼a B 1b 0; adic¼
a dac¼ a soluţia de baz¼a corespunz¼ atoare xB =
1
B b este un program al problemei primale (3). Epitetul “primal” cap¼ at¼
a un
sens clar în acest moment.
Baza B format¼ a cu m coloane liniar independente ale matricii A se numeşte
dual admisibil¼a pentru problema (3) dac¼ a sunt satisf¼
acute condiţiile:

zjB cj 0; 1 j n:

Dac¼
a B este dual admisibil¼ a atunci uTB = cTB :B 1
este o soluţie a problemei
duale (4). Intr-adev¼
ar, pentru orice j, 1 j n;

uTB aj = cTB B 1 j
a = zjB cj :

Dac¼a B este o baz¼a primal şi dual admisibil¼


a, atunci programul primal asociat
xB = B 1 b este un program optim al problemei (3). De asemenea, dac¼ a B este
a atunci şi programul dual asociat uTB = cTB :B 1 este un
primal şi dual admisibil¼
program optim al problemei duale (4). Într-adev¼ ar, valorile funcţiilor obiectiv
în problemele duale (3) şi (4) sunt egale pentru aceste programe:

z B = cTB xB = cTB B 1
b = uTB b:

Componentele lui uB nu apar explicit în tabelul simplex. Dac¼ a îns¼


a baza in-
iţial¼
a B0 este matricea unitate (ceea ce este întotdeauna adev¼
arat când aplic¼
am
metoda bazei arti…ciale), atunci:

(uTB )i = cTB :B 1
i
= cTB :B 1 i
e = ziB = ziB ci + ci = 4i + ci ;

unde am notat cu 4i num¼ arul de pe ultima linie din dreptul vectorului unitar
ei din baza iniţial¼
a. Rezolvând una din cele dou¼ a probleme ale unui cuplu de
probleme duale se obţine o soluţie optim¼ a şi pentru cealalt¼
a. Se alege pentru
rezolvare problema cu mai puţine restricţii sau care are o baz¼ a iniţial¼
a unitate.
Observaţie
Din tabelul simplex corespunz¼ ator bazei B se pot extrage coloanele inversei
B 1 ; din dreptul variabilelor de baz¼a iniţiale (când baza iniţial¼
a este matricea
unitate). Într-adev¼ ar
yiB = B 1 i
a =B 1 i
e:
Analiza sensibilit¼
aţii
Analiza sensibilit¼aţii înseamn¼
a determinarea unui interval de variaţie pentru
una dintre datele problemei sau pentru o variabil¼
a a problemei care s¼
a aib¼a pro-
prietatea c¼
a baza optim¼ a r¼
amâne neschimbat¼
a. Este important s¼ a cunoaştem

6
dac¼a o soluţie optim¼
a este stabil¼a. Dac¼ a o mic¼a modi…care a datelor numerice
ale
problemei implic¼ a modi…c¼ari importante ale soluţiei optime, atunci datele nu-
merice trebuie determinate cât mai exact.
Se pune problema determin¼ arii unui interval de variaţie pentru una din datele
problemei cu proprietatea c¼ a baza optim¼ a r¼
amâne aceeaşi. S¼ a stabilim sensibil-
itatea programului optim corespunz¼ ator unei baze optime B, faţ¼ a de h i
0 00
modi…c¼arile componentei bi a vectorului b. Vom determina un interval bi ; bi
de variaţie pentru bi pentru care B r¼ amâne optim¼ a.
Presupunem c¼ a b devine

T
i
b + ei ; 2 <; ei = 0; :::; 1; :::; 0 :

Atunci
1 i
B b + ei = B 1
b+ B 1 i
e = xB + ;
i 1
unde este coloana de rang i a lui B : Se rezolv¼
a sistemul de m inecuaţii:

i
xB + 0:
h 0 00
i 0 0 00 00
Se obţine un interval ; : Atunci bi = bi + şi bi = bi + :
00 00
Not¼am cu hb0 = bi + 0 ei şi b = b + ei :Valoarea funcţiei obiectiv variaz¼
a în
0 00
intervalul z ; z unde:

0 0 0
i
z = cTB B 1
b = zB + cTB

00 00 00
b = z B + cTB i :
z = cTB B 1

h 0 00 i

a determin¼ am acum un interval ck ; ck pentru componenta ck ; pentru care
baza B r¼ amâne optim¼ a.
Presupunem c¼ a c devine c + ek ; 2 <:
Dac¼ a, deci k 2 R; diferenţa zkB ck devine zkB ck
a variabila xk este secundar¼ :
B
Punând condiţia zk ck 0; rezult¼
a zkB ck şi deci valoarea minim¼ a
a lui pentru care B r¼ amâne optim¼ a este 0 = zkB ck deci intervalul c¼ autat
B
de variaţie a lui ck este zk ; +1 : Valoarea funcţiei obiectiv r¼amâne constant¼ a
zB :
T
Pentru k 2 B, diferenţele zjB cj devin zjB cj + ekB yjB unde ekB este
format cu componentele lui ek corespunz¼ atoare variabilelor de baz¼a. Se rezolv¼
a
sistemul de inecuaţii:
T
zjB cj + ekB yjB 0:

7
h 0 00
i h 0 00 i
Se obţine 2 ; şi atunci intervalul de variaţie pentru ck este ck ; ck;
0 0 00 00
unde ck = ck +
h şiick = ck + : Domeniul de variaţie pentru valoarea funcţiei
0 00
obiectiv este z ; z cu

0 0 00 00
z = zB + xB B
k şi z = z + xB
k:

8
Cursul 4
MATLAB. Optimization Toolbox
Optimization Toolbox este o colecţie de rutine (funcţii) de optimizare care
extind mediul MATLAB:
fminunc, fminsearch - minimizarea neliniar¼ a f¼
ar¼
a restricţii;
fmincon,fminimax, fseminf - minimizarea neliniar¼ a cu restricţii,
probleme minimax şi probleme de minimizare semi…nit¼ a;
linprog, quadprog - programarea liniar¼ a şi p¼
atratic¼
a;
lsqlin, , lsqnonneg - problema în sensul celor mai mici p¼ atrate
liniar¼
a, cu restricţii;
lsqnonlin - problema în sensul celor mai mici p¼ atrate neliniar¼ a;
fsolve, fzero - rezolvarea sistemelor de ecuaţii neliniare;
-probleme cu matrice rare şi de dimensiuni mari.
Rutinele sunt …şiere MATLAB M-…les şi implementeaz¼ a diverşi algoritmi de
optimizare specializaţi. Codul MATLAB al acestora este furnizat de comand
type function_name

linprog
Rezolv¼
a probleme de programare liniar¼
a de forma:

min x f ’*x
cu restricţiile
A*x <= b
Aeq*x = beq
lb <= x <= ub,
unde f, x, b, beq, lb şi ub sunt vectori şi A şi Aeq sunt matrice.
Sintaxa
x = linprog(f,A,b,Aeq,beq)
x = linprog(f,A,b,Aeq,beq,lb,ub)
x = linprog(f,A,b,Aeq,beq,lb,ub,x0)
x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options)
[x,fval] = linprog(...)
[x,fval,exit‡ag] = linprog(...)
[x,fval,exit‡ag,output] = linprog(...)
[x,fval,exit‡ag,output,lambda] = linprog(...)
Descriere linprog
x = linprog(f,A,b)
rezolv¼
a problema:
min x f ’*x
cu restricţiile
A*x <= b.
x = linprog(f,A,b,Aeq,beq)

1
rezolv¼
a problema de mai sus, cu restrcţii suplimentare ecuaţii liniare de
forma:
Aeq*x = beq.
Dac¼a nu exist¼
a inecuaţii se ia A=[] şi b=[] .
x = linprog(f,A,b,Aeq,beq,lb,ub)
Componentele soluţiei x trebuie s¼ a veri…ce lb <= x <= ub. Dac¼
a nu exist¼
a
restricţii ecuaţii se ia Aeq=[] and beq=[] .
x = linprog(f,A,b,Aeq,beq,lb,ub,x0)
se precizeaz¼a aproximaţia iniţial¼
a x0 atunci când algoritmul folosit este
medium-scale (opţiunea LargeScale este setat¼ a pe ’o¤ ’ folosind optimset). Al-
goritmul large-scale (care se alege implicit) şi algoritmul simplex ignor¼
a orice
punct iniţial.
x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options)
minimizeaz¼a cu opţiunile de optimizare speci…cate în structura options care
se seteaz¼
a cu optimset.
[x,fval] = linprog(...)
returneaz¼ a valoarea minim¼
a a funcţiei obiectiv în soluţia optim¼
a x:
fval = f ’*x.
[x,lambda,exit‡ag] = linprog(...)
returneaz¼ a o valoare exit‡ag care arat¼ a condiţiile în care se termin¼
a exe-
cuţia programului ( exit‡ag =1 algoritmul converge la o soluţie x ; exit‡ag =0
- num¼ arul de iteraţii dep¼
aşeşte parametrul implicit MaxIter ; exit‡ag = -2 - nu
a fost g¼asit nici un punct admisibil; exit‡ag = -3 -problema este nem¼ arginit¼
a;
exit‡ag = -5 -problemele primal¼ a şi dual¼a nu au soluţii admisibile; exit‡ag =
-7- direcţia de c¼
autare devine prea mic¼ a..).
[x,lambda,exit‡ag,output] = linprog(...)
returneaz¼a o structur¼ a output care conţine informaţii despre optimizare:
num¼
arul de iteraţii, algoritmul folosit..
[x,fval,exit‡ag,output,lambda] = linprog(...)
returneaz¼ a o structur¼
a lambda care conţine multiplicatorii Lagrange în soluţia
x (separat pe tipuri de restricţii).

quadprog
Rezolv¼
a probleme de programare p¼
atratic¼
a de forma:
minx (1/2*x’*H*x + f ’*x)
cu restricţiile
A*x <= b
Aeq*x = beq
unde H, A şi Aeq sunt matrice şi f, b, beq, lb, ub şi x sunt vectori.
Syntaxa
x = quadprog(H,f,A,b)

2
x = quadprog(H,f,A,b,Aeq,beq)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options)
[x,fval] = quadprog(...)
[x,fval,exit‡ag] = quadprog(...)
[x,fval,exit‡ag,output] = quadprog(...)
[x,fval,exit‡ag,output,lambda] = quadprog(...)
Descriere
x = quadprog(H,f,A,b)
returneaz¼ a un vector x care minimizeaz¼
a 1/2*x’*H*x + f ’*x cu restricţiile
inegalit¼
aţi liniare A*x <= b.
x = quadprog(H,f,A,b,Aeq,beq)
rezolv¼
a problema precedent¼
a cu restricţiile suplimentare ecuaţii liniare Aeq*x
= beq.
x = quadprog(H,f,A,b,Aeq,beq,lb,ub)
Componentele soluţiei optime x, trebuie s¼
a satisfac¼
a restricţiile de tip interval
lb <= x <= ub.
x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)
precizeaz¼
a aproximaţia iniţial¼
a x0.
x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options)
minimizare cu opţiuni de optimizare speci…cate în structura options.
Pentru a seta aceste opţiuni se foloseşte comanda optimset .
[x,fval] = quadprog(...)
returneaz¼ a valoarea funcţiei obiectiv în x :
fval = 0.5*x’*H*x + f ’*x.
[x,fval,exit‡ag] = quadprog(...)
returneaz¼ a o valoare exit‡ag care arat¼ a condiţiile în care se termin¼
a execuţia
programului quadprog ( exit‡ag =1 algoritmul converge la o soluţie x ; exit‡ag
=3 - modi…c¼ arile valorii funcţiei obiectiv mai mici decât toleranţa speci…cat¼ a,
exit‡ag =4 - a fost g¼ asit un minim local, exit‡ag =0 - num¼ arul de iteraţii
dep¼aşeşte parametrul implicit MaxIter ; exit‡ag = -2 - nu a fost g¼ asit nici un
punct admisibil; exit‡ag = -3 -problema este nem¼ arginit¼ a; exit‡ag = -4 - direcţia
de c¼autare curent¼ a nu a fost descendent¼ a, exit‡ag = -5 -problemele primal¼ a şi
dual¼a nu au soluţii admisibile; exit‡ag = -7- direcţia de c¼ autare devine prea
mic¼a..).
[x,fval,exit‡ag,output] = quadprog(...)
returneaz¼ a o structur¼ a output care conţine informaţii despre optimizare:
num¼
arul de iteraţii, algoritmul folosit..
[x,fval,exit‡ag,output,lambda] = quadprog(...)

3
returneaz¼
a o structur¼a lambda care conţine multiplicatorii Lagrange în soluţia
x (separat pe tipuri de restricţii).

fmincon
se caut¼ a minimumul unei funcţii scalare cu mai multe variabile şi mai multe
restricţii, plecând de la o estimare iniţial¼
a x0 :

minx f(x)
cu restricţiile:
A x <= b
Aeq x = beq
lb <= x <= ub
c(x) <= 0
ceq(x)= 0,
unde x, b, beq, lb şi ub sunt vectori, A şi Aeq sunt matrice, c(x) şi ceq(x)
sunt funcţii vectoriale şi f(x) este o funcţie scalar¼a. f(x), c(x) şi ceq(x) pot …
neliniare.
Sintaxa
x = fmincon(fun,x0,A,b)
x = fmincon(fun,x0,A,b,Aeq,beq)
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
[x,fval] = fmincon(...)
[x,fval,exit‡ag] = fmincon(...)
[x,fval,exit‡ag,output] = fmincon(...)
[x,fval,exit‡ag,output,lambda] = fmincon(...)
[x,fval,exit‡ag,output,lambda,grad] = fmincon(...)
[x,fval,exit‡ag,output,lambda,grad,hessian] = fmincon(...)
Apelând rutina sub forma:
x = fmincon(fun,x0,A,b)
se porneşte de la aproximaţia iniţial¼ a x0 şi se caut¼
a minimumul x al funcţiei
descrise în fun cu restricţiile inegalit¼
aţi liniare
A*x <= b.
x = fmincon(fun,x0,A,b,Aeq,beq)
minimizeaz¼ a fun cu ecuaţiile liniare Aeq*x = beq dar şi A*x <= b. Dac¼
a nu
exist¼
a inecuaţii liniare se ia A=[] şi b=[].
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)
Componentele soluţiei trebuie s¼ a veri…ce lb <= x <= ub. Dac¼
a nu exist¼
a
restricţii egalit¼
aţi liniare se ia Aeq=[] şi beq=[] .
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)

4
minimizeaz¼a fun cu restricţiile inecuaţii neliniare c(x) <= 0 şi ecuaţii neliniare
ceq(x)= 0. Dac¼ a nu exist¼
a margini pentru variabile se ia lb=[] şi/sau ub=[]. c(x)
şi ceq(x) sunt de…nite în nonlcon.
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
minimizeaz¼ a funcţia cu opţiunile de optimizare speci…cate în structura op-
tions. Pentru a seta aceste opţiuni se foloseşte optimset . Dac¼ a nu exist¼
a
restricţii neliniare se ia nonlcon = [] .
[x,fval] = fmincon(...)
fval returneaz¼a valoarea funcţiei obiectiv fun în soluţia optim¼
a x.
[x,fval,exit‡ag] = fmincon(...)
returneaz¼ a o valoare exit‡ag care descrie modul cum se termin¼
a execuţia
funcţiei fmincon.
[x,fval,exit‡ag,output] = fmincon(...)
returneaz¼ a o structur¼
a output cu informaţii despre optimizare.
[x,fval,exit‡ag,output,lambda] = fmincon(...)
returneaz¼ a o structur¼
a lambda care conţine multiplicatorii Lagrange pentru
soluţia x.
[x,fval,exit‡ag,output,lambda,grad] = fmincon(...)
returneaz¼ a valoarea gradientului funcţiei fun în soluţia x.
[x,fval,exit‡ag,output,lambda,grad,hessian] = fmincon(...)
returneaz¼ a valoarea matricei Hessian calculat¼
a în soluţia x.
fun –funcţia care trebuie minimizat¼ a, accept¼
a un vector x şi returneaz¼
a un
scalar f, funcţia obiectiv evaluat¼
a în x.
x = fmincon(@myfun,x0,A,b)
unde myfun este o funcţie MATLAB:
function f = myfun(x)
f = ... % Calculeaz¼a valoarea funcţiei în x
Dac¼a gradientul funcţiei poate … calculat şi opţiunea GradObj este “on”
adic¼a
options = optimset(’GradObj’,’on’)
atunci funcţia fun trebuie s¼a returneze, în afar¼
a de parametrul f, în al doilea
argument de ieşire, valoarea gradientului g, în x.
Gradientul g este format din derivatele parţiale ale lui f în x. Componenta
i a lui g este derivata parţial¼
a a lui f în raport cu componenta i a lui x.
Dac¼ a matricea hessian¼ a poate … calculat¼
a şi opţiunea Hessian este “on”adic¼
a
options = optimset(’Hessian’,’on’)
atunci funcţia fun trebuie s¼ a returneze în al treilea argument de ieşire, o
matrice simetric¼ a, Hessianul în x.
Matricea Hessian¼ a H conţine valorile derivatelor parţiale de ordinul doi ale
funcţiei f în x, adic¼
a componenta (i,j) a lui H este derivata de ordin doi a lui f
calculat¼a dupa x i şi x j .

5
Funcţia nonlcon calculeaz¼ a restricţiile inegalit¼
aţi neliniare c(x)<= 0 şi re-
stricţiile ecuaţii neliniare ceq(x) = 0. Ea accept¼ a la intrare un vector x şi re-
turneaz¼ a doi vectori c şi ceq.
.x = fmincon(@myfun,x0,A,b,Aeq,beq,lb,ub,@mycon)
unde mycon este o funcţie MATLAB:
[c,ceq] = mycon(x)
c = ... % calculeaz¼a inegalit¼aţile neliniare în x
ceq = ... % calculeaz¼a egalit¼aţile neliniare în x

fminimax
Rezolv¼
a problema minimax

minx maxFi fF i (x)}


cu restricţiile
c(x) <= 0
ceq(x)= 0
A*x <= b
Aeq*x = beq
lb <= x <= ub,
unde x, b, beq, lb şi ub sunt vectori, A şi Aeq sunt matrice iar c(x), ceq(x) şi
F(x) asunt funcţii vectoriale. F(x), c(x), şi ceq(x) pot … funcţii neliniare.

Sintaxa
x = fminimax(fun,x0)
x = fminimax(fun,x0,A,b)
x = fminimax(fun,x0,A,b,Aeq,beq)
x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub)
x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)
x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
[x,fval] = fminimax(...)
[x,fval,maxfval] = fminimax(...)
[x,fval,maxfval,exit‡ag] = fminimax(...)
[x,fval,maxfval,exit‡ag,output] = fminimax(...)
[x,fval,maxfval,exit‡ag,output,lambda] = fminimax(...)

Descriere
fminimax minimizeaz¼ a valorile maxime ale unor funcţii de mai multe vari-
abile, pornind de la o estimare iniţial¼ a. În unele cazuri valorile trebuie s¼
a veri…ce
şi restricţii liniare sau neliniare.
x = fminimax(fun,x0)
porneşte de la aproximaţia iniţial¼
a x0 şi g¼
aseşte o soluţie minimax x a funcţi-
ilor de…nite în fun.
x = fminimax(fun,x0,A,b)

6
rezolv¼
a problema minimax cu restricţiile inegalit¼
aţi liniare
A*x <= b.
x = fminimax(fun,x,A,b,Aeq,beq)
rezolv¼
a problema minimax cu restricţiile suplimentare egalit¼
aţi liniare
Aeq*x = beq.
Dac¼a nu exist¼
a inegalit¼
aţi se ia
A=[]
b=[].
x = fminimax(fun,x,A,b,Aeq,beq,lb,ub)
Componentele soluţiei optime x, trebuie s¼
a satisfac¼
a restricţiile de tip interval
lb <= x <= ub.
x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)
minimizeaz¼a fun cu restricţiile inecuaţii neliniare c(x) <= 0 şi ecuaţii neliniare
ceq(x)= 0. Dac¼ a nu exist¼
a margini pentru variabile se ia lb=[] şi/sau ub=[]. c(x)
şi ceq(x) sunt de…nite în nonlcon.
x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
minimizare cu opţiuni de optimizare speci…cate în structura options.
Pentru a seta aceste opţiuni se foloseşte comanda optimset.
[x,fval] = fminimax(...)
fval returneaz¼a valoarea funcţiei obiectiv fun în soluţia optim¼
a x.
[x,fval,maxfval] = fminimax(...)
returneaz¼a valorile maxime ale funcţiilor în soluţia x
maxfval = max{fun(x)}.
[x,fval,maxfval,exit‡ag] = fminimax(...)
returneaz¼a o valoare exit‡ag care arat¼ a condiţiile în care se termin¼
a execuţia
programului fminimax ( exit‡ag =1 algoritmul converge la o soluţie x ; , exit‡ag
=0 - num¼ arul de iteraţii dep¼
aşeşte parametrul implicit MaxIter ; exit‡ag = 4-
direcţia de c¼
autare devine prea mic¼ a..). ..
[x,fval,maxfval,exit‡ag,output] = fminimax(...)
returneaz¼a o structur¼a output cu informaţii despre optimizare: num¼
arul de
iteraţii, num¼
arul de evalu¼ari ale funcţiilor, algoritmul folosit...
[x,fval,maxfval,exit‡ag,output,lambda] = fminimax(...)
returneaz¼a o structur¼ a lambda care conţine multiplicatorii Lagrange pentru
soluţia x (separaţi pe tipuri de restricţii).
fun este o funcţie vectorial¼
a F de…nit¼ a pentru orice vector x
x = fminimax(@myfun,x0)
unde myfun este o funcţie MATLAB
function F = myfun(x)
F = ... % Calculeaz¼a valorile funcţiei în x
fminimax poate minimiza valorile absolute maxime ale componentelor vec-
torului F(x) (i.e., min{max abs{F(x)} } ), setând opţiunea MinAbsMax cu

7
optimset. Se pot lua valorile absolute numai pentru o parte dintre maximele
funcţiilor, care trebuie aşezate pe primele poziţii .
nonlcon este rutina care calculeaz¼ a inegalit¼
aţile neliniare c(x) <= 0 şi egal-
it¼
aţile neliniare ceq(x) = 0. Rutina are parametrul de intrare un vector x şi
parametri de ieşire doi vectori c şi ceq.
x = fminimax(@myfun,x0,A,b,Aeq,beq,lb,ub,@mycon)
unde mycon este o funcţie MATLAB
function [c,ceq] = mycon(x)
c = ... % Calculeaz¼a inegalit¼aţile neliniare în x
ceq = ... % Calculeaz¼a inegalit¼aţile neliniare în x

8
Cursul 5
Metode de punct interior
Algoritmul de scalare a…n¼
a primal
Metoda simplex, propus¼ a de Dantzig a constituit metoda de baz¼ a pentru re-
zolvarea problemelor de programare liniar¼ a pân¼a în 1984, când a ap¼ arut o nou¼ a
direcţie de cercetare: metodele de punct interior s-au dovedit a … mai e…ciente
pentru rezolvarea problemelor de mari dimensiuni . Num¼ arul de iteraţii al al-
goritmului simplex poate creşte exponenţial odat¼ a cu dimensiunea problemei.
Algoritmul lui Narendra Karmarkar, publicat în articolul A new polynomial
time algorithm for linear programming a determinat o ”revoluţie” în domeniul
program¼ arii matematice.
Metodele de punct interior au fost aplicate şi în rezolvarea problemelor de
optimizare neliniar¼ a. Ele se clasi…c¼
a în metode de urm¼arire a traiectoriei, metode
de scalare a…n¼a şi metode omogene auto-duale. În cele ce urmeaz¼ a vom aborda
numai metoda de scalare a…na.
Metoda simplex permite explorarea sistematic¼ a a vârfurilor poliedrului re-
stricţiilor, trecând de la vârful curent la altul adiacent care este ”cel puţin
la fel de bun” ca cel precedent (îmbun¼ at¼
aţeşte sau p¼astreaz¼a valoarea funcţiei
obiectiv). Când o astfel de trecere nu mai este posibil¼ a, algoritmul se opreşte
obţinându-se soluţia optim¼ a exact¼a, dup¼ a un num¼ ar …nit de paşi. Este de aseme-
nea posibil ca toate punctele unei feţe a poliedrului s¼ a …e optime.
Metodele de punct interior sunt metode iterative care, pornind de la un punct
iniţial calculeaz¼
a un şir de iteraţii aparţinând interiorului poliedrului restricţiilor
care converge c¼ atre soluţia optim¼ a. În cele mai multe cazuri practice, o soluţie
aproximativ¼ a (cu o eroare de 10 8 ) este perfect acceptabil¼ a.

În …gur¼
a se vede deosebirea dintre algoritmul simplex şi algoritmii de punct
interior. Principiul algoritmului simplex const¼
a în parcurgerea unui drum de-a

1
lungul muchiilor poliedrului restricţiilor problemei, evaluând valoarea funcţiei
obiectiv în vârfurile acestui poliedru, pân¼a când se obţine un vârf din care funcţia
obiectiv nu se mai poate îmbun¼ at¼
aţi.
Spre deosebire de acest mod de abordare, metodele de punct interior pro-
cedeaz¼a la determinarea unui drum prin interiorul poliedrului restricţiilor şi
parcurgerea acestuia pân¼ a la identi…carea vârfului optim. În cazul când toate
punctele unei feţe sunt optime, metodele de punct interior converg spre interi-
orul acelei feţe în timp ce metoda simplex se termin¼ a într-un vârf al ei.
Pentru probleme mai mari, algoritmul de punct interior execut¼ a mult mai
puţine iteraţii decât algoritmul simplex.
Metode de scalare a…n¼
a
Metodele de scalare a…n¼ a au fost propuse pentru prima dat¼ a de I. Dikin
(1967), dar lucrarea lui a r¼
amas mult timp necunoscut¼ a. O variant¼a a acestora
apare în 1984 în lucrarea lui Karmakar care a trezit un interes deosebit, de
atunci ap¼arând mai mult de 3000 de articole despre metodele de punct interior.
Algoritmii de scalare a…n¼ a sunt în esenţ¼
a algoritmi de gradient proiectat. Ei
folosesc o transformare liniar-a…n¼
a T (x) = Qx + y de…nit¼ a pentru orice x 2 <n ;
unde Q este o matrice n n; nesingular¼ a şi y un vector n dimensional. Dac¼ a
y = 0; atunci avem o transformare linar¼a. În metodele de scalare a…n¼a variabilele
problemei sunt scalate cu o matrice diagonal¼ a.

a consider¼am urm¼atoarea problem¼ a de programare liniar¼ a
8
< min cT x
(1) Ax = b
:
x 0;
unde x 2 <n ; b 2 <m şi A 2 Mm n , rang (A) = m < n: Presupunem c¼ a
domeniul de admisibilitate al problemei (1) este m¼
arginit cu interiorul nevid,
adic¼
a
P + = fx 2 <n =Ax = b; x > 0g =
6 ;:
Metodele de scalare a…n¼ a sunt metode iterative care, pornind de la un punct
iniţial, calculeaz¼
a un şir de iteraţii aparţinând interiorului domeniului de admis-
ibilitate al problemei, care converge c¼ atre soluţia optim¼
a.
Fie xk > 0 un punct interior astfel încât

(2) Axk = b:
Trebuie s¼
a g¼
asim un alt punct admisibil interior de forma
xk+1 = xk + 4xk
care s¼
a îmbun¼
at¼
aţesc¼
a valoarea funcţiei obiectiv adic¼
a

Axk+1 = b
xk+1 > 0
cT xk+1 cT xk :

2
Utilizând (2) avem:
Axk+1 = A (xk + 4xk ) = Axk +A4xk = b+A4xk = b:
Rezult¼
a:

(3) A4xk = 0;
adic¼
a 4xk trebuie s¼a aparţin¼
a spaţiului nul al matricii A. Reamintim c¼
a spaţiul
nul al matricei A se de…neşte astfel:
N (A) = fy 2 <n =Ay = 0g :
De asemenea :
cT xk+1 = cT (xk + 4xk ) =
T T T
c xk + c 4xk c xk :
Rezult¼
a
(4) cT 4xk 0;
adic¼a produsul scalar al direcţiei de deplasare 4xk cu vectorul c din funcţia
obiectiv trebuie s¼ a …e negativ. Se ştie c¼
a cea mai pronunţat¼ a creştere a valorii
funcţiei obiectiv este pe direcţia dat¼
a de gradientul acesteia. Considerând gra-
dientul c cu semn schimbat obţinem o direcţie c; de-a lungul c¼ areia funcţia
obiectiv descreşte. Dar, este foarte posibil ca aceast¼ a direcţie s¼
a nu menţin¼ a
admisibilitatea (adic¼ a s¼
a nu aparţin¼a spaţiului nul al matricei A). De aceea
se adopt¼ a ca direcţie de deplasare proiecţia gradientului cu semn schimbat pe
spaţiul nul al lui A. Proiecţia unui vector x pe N (A) este punctul din N (A)
care se a‡a¼ la cea mai mic¼ a distanţ¼
a (în sens euclidian) de x.
Un operator de proiecţie pe spaţiul nul al lui A (de rang plin) este matricea
n n - simetric¼ a de…nit¼a astfel:

(5) PA = In AT (AAT ) 1
A:
Acest operator de proiecţie are urm¼
atoarele propriet¼
aţi:

APA = 0
PA = PAT (simetrie)
PA2 = PA (idempotenţ¼
a).

Direcţia de deplasare 4xk se de…neşte astfel:

(6) 4xk = PA c:
Aceasta veri…c¼
a condiţiile (3) şi (4) : Într-adev¼
ar,
A4xk = APA c = 0
şi

3
cT 4xk = cT pA c = cT p2A c = (pA c)T pA c =
2
kpA ck 0:
Urmând direcţia de deplasare 4xk vom vedea c¼ a progresul care poate … f¼
acut
la aceast¼
a iteraţie c¼
atre soluţia optim¼
a depinde de poziţia punctului de plecare
xk în interiorul poliedrului mulţimii soluţiilor admisibile. Dac¼
a punctul xk este
apropiat de o faţ¼a a acestuia nu se poate executa o deplasare substanţial¼a c¼
atre
optim, deoarece atingem frontiera domeniului de admisibilitate.
Poliedrul din …gur¼ a reprezint¼ a domeniul de admisibilitate al unui program
liniar. Din punctul wk care se a‡a¼ la distanţe aproximativ egale de feţele
poliedrului (este centrat), se poate executa o deplasare semni…cativ¼ a c¼
atre op-
timul x ; dar din xk nu este posibil¼ a o astfel de deplasare deoarece atingem
frontiera.
Strategia metodei este urm¼ atoarea: se consider¼a iteraţia curent¼ a xk din in-
teriorul poliedrului restricţiilor. Se transform¼ a spaţiul restricţiilor astfel încât

a se plaseze iteraţia curent¼ a în centrul poliedrului din care apoi s¼ a se execute
o deplasare în direcţia descendent¼ a obţinând astfel un nou punct interior lâng¼ a
frontiera poliedrului. Din acest nou punct se procedeaz¼ a ca mai sus pân¼ a când
optimul este atins cu o precizie dorit¼ a. În continuare vom de…ni algoritmul
de scalare a…n¼ a primal şi o variant¼ a a acestuia pentru restricţii inegalit¼ aţi cu
partiţionarea restricţiilor şi apoi algoritmul de scalare a…n¼ a dual.
Algoritmul de scalare a…n¼
a primal
Algoritmul de scalare a…n¼ a primal procedeaz¼ a astfel: se scaleaz¼
a variabilele
problemei astfel încât punctul curent admisibil s¼ a se a‡e departe de feţele
poliedrului, la egal¼
a distanţ¼
a de acestea, se calculeaz¼ a direcţia de deplasare ca
…ind gradientul proiectat cu semn schimbat pentru problema scalat¼ a, dup¼
a care
se transform¼ a aceast¼
a direcţie înapoi în spaţiul problemei originale. Operaţia
de scalare se face cu ajutorul unei matrice diagonale Xk ; care are pe diagonal¼ a
componentele iteraţiei curente xk : Avem

4
Xk 1 xk = e;
unde e este vectorul cu toate componentele egale cu unu, adic¼
a vectorul vectorul
scalat are toate componentele egal dep¼artate de feţele poliedrului. Deoarece
iteraţia curent¼
a xk are toate componentele strict pozitive rezult¼
a c¼
a matricea
de scalare Xk este inversabil¼
a.
Considerând transformarea de variabile

x = Xk w
din (1) se obţine problema scalat¼
a echivalent¼
a:
8
< min(Xk c)T w
(7) AXk w = b
:
w 0:
Operatorul de proiecţie (5) pentru problema scalat¼
a este

Pk = In ATk (Ak ATk ) 1


Ak ;
unde
Ak = AXk :
Vectorul funcţiei obiectiv este
ck = Xk c:
Pentru noua problem¼ a vectorul xk este plasat la o distanţ¼
a unitar¼
a de toate
feţele poliedrului scalat. Direcţia de deplasare pentru problema scalat¼
a 4wk se
de…neşte ca …ind proiecţia gradientului problemei scalate cu semn schimbat ck
pe spaţiul nul al lui Ak adic¼a:

4wk = Pk ck = In ATk (Ak ATk ) 1


Ak ck =
Xk c + Xk A (AXk A ) 1 AXk2 c =
T 2 T

Xk c AT (AXk2 AT ) 1 AXk2 c :
Utilizând notaţia

(8) uk = (AXk2 AT ) 1
AXk2 c;
direcţia de deplasare 4wk devine:

4wk = Xk (c AT uk ):
Transformând-o înapoi în spaţiul problemei originale obţinem

(9) 4xk = Xk 4wk = Xk2 (c AT uk ):

5
Formula (9) de calculul direcţiei de deplasare conţine vectorul uk de…nit în
(8): Pentru determinarea acestuia se rezolv¼ a sistemul liniar

(10) (AXk2 AT )uk = AXk2 c:


Matricea acestui sistem este simetric¼ a şi pozitiv de…nit¼a şi de aceea pentru
rezolvare se folosesc tehnici avansate care s¼ a pro…te de aceste propriet¼ aţi (de
exemplu factorizarea Cholesky) cu atât mai mult cu cât sistemul (10) trebuie
rezolvat la …ecare iteraţie. Este important de remarcat c¼ a timpul calculator
necesar rezolv¼
arii acestui sistem reprezint¼a cea mai mare parte din timpul total
de rezolvare a metodelor de ‡ux interior (dup¼ a unii autori 80-90%). De modul
cum este rezolvat, depinde e…cienţa oric¼arei metode.
S¼a consider¼
am duala problemei (1):
8
< max(bT u)
(11) AT u c
:
u oarecare.
Se poate demonstra c¼ a uk furnizeaz¼ a o estimaţie a variabilelor duale. Din
lema 1 ştim c¼a bT u cT x şi c¼
a în punctul de optim avem egalitate, adic¼ a
dac¼
a x şi u sunt soluţiile optime primal¼ a şi respectiv dual¼
a, atunci saltul de
dualitate cT x bT u este nul. De aceea, dac¼ a saltul de dualitate devine mai
mic decât o valoare prespeci…cat¼ a iteraţiile se pot opri.
Putem de…ni urm¼ atorul criteriu de oprire a iteraţiilor :

cT xk bT uk
":
1 + jcT xk j
Direcţia de deplasare 4xk veri…c¼a (3) adic¼
a noua iteraţie
xk+1 = xk + 4xk veri…c¼ a sistemul Ax = b; oricât de departe ne deplas¼ am
în aceast¼
a direcţie. Pentru ca xk+1 s¼a veri…ce şi condiţiile de nenegativitate
consider¼
am
xk+1 = xk + 4xk ;
unde este m¼ arimea pasului de deplasare. Pentru determinarea acestuia re-
zolv¼
am sistemul
xik + 4xik 0; 1 i n;
unde xik şi 4xik sunt componentele vectorilor xk şi respectiv 4xk : Rezult¼
a

xik
= min :
i
i=4xk <0 4xik
Dar cel puţin una dintre aceste componente se anuleaz¼ a, adic¼a xk+1 2= P +:
Pentru ca xk+1 s¼a r¼
amân¼ a în interiorul poliedrului se ia o fracţie a m¼arimii
pasului :

6
(12) xk+1 = xk + 4xk ;
unde 0 < < 1: În practic¼
a se ia 2 [0:95; 0:995] :
Algoritmul de scalare a…n¼a primal
Pasul 0. Se consider¼ a un punct iniţial din interiorul mulţimii soluţiilor ad-
misibile x0 2 P + : Se ia k = 0:
Pasul 1. Se de…neşte matricea diagonal¼
a de scalare

Xk = diag(x1k ; :::; xnk ):


Pasul 2. Se calculeaz¼
a vectorul uk ; rezolvând sistemul

(AXk2 AT )uk = AXk2 c:


Pasul 3. Se determin¼
a direcţia de deplasare

4xk = Xk2 (c AT uk ):
Pasul 4. Se determin¼
a lungimea pasului de deplasare de-a lungul direcţiei
4xk :

xik
= min :
i
i=4xk <0 4xik
Pasul 5. Se calculeaz¼
a noua iteraţie

xk+1 = xk + 4xk ;
unde 0 < < 1:
Pasul 6. Se testeaz¼
a criteriul de oprire al iteraţiilor, adic¼
a dac¼
a

cT xk bT uk
";
1 + jcT xk j

STOP. Altfel se ia k = k + 1 şi se continu¼


a cu pasul 1.

7
Cursul 6
Condiţii de extremum în programarea neliniar¼ a.
Soluţia optim¼a şi punctul şa al lagrangeanului

Fie X0 <n ; f : X0 ! <; a : X0 ! <m ,b : X0 ! <k


şi
(1) X = fx=x 2 X0 ; a(x) 6 0; b(x) = 0g :
Spunem c¼ a x 2 X este un punct de minim global al lui f pe X, dac¼ a
8x 2 X; f (x ) 6 f (x).
Spunem c¼ a x 2 X este un punct de minim local al lui f pe X dac¼ a exist¼
ao
vecin¼
atate V a lui x astfel ca
8x 2 X \ V ; f (x ) 6 f (x):
Problema de programare neliniar¼ a const¼
a în determinarea punctelor de minim
sau maxim global ale funcţiei f pe mulţimea X. Teoria matematic¼ a de la pro-
gramarea liniar¼
a nu se poate aplica datorit¼
a unor caracteristici ale problemelor
de programare neliniar¼a cum ar …:
- mulţimea X a soluţiilor admisibile nu este întotdeauna convex¼ a;
- soluţia optim¼
a nu este obligatoriu atins¼ a într-un punct de extrem al mulţimii
soluţiilor admisibile;
- este di…cil¼
a distincţia între atingerea unui optim local şi a unui optim global.
În programarea neliniar¼ a se pun dou¼ a tipuri de probleme:
a) condiţii necesare şi respectiv su…ciente, pentru ca un punct x 2 X s¼ a …e
un punct de minim (maxim) global al lui f pe X
b) metode numerice pentru determinarea unui astfel de punct.
În studiul ambelor probleme, convexitatea joac¼ a un rol esenţial.
Condiţiile de la punctul a) se împart în dou¼ a mari clase, dup¼a cum necesit¼
a sau
nu, diferenţiabilitatea funcţiilor f , a, b.:
-cele f¼
ar¼a diferenţiabilitate sunt condiţii de tip ”punct şa”pentru lagranjeanul
asociat problemei de optimizare şi se datoreaz¼ a lui S. Karlin. Su…cienţa acestor
condiţii nu necesit¼ a ipoteze speciale, îns¼ a necesitatea lor presupune convexitatea
lui X0 ; a funcţiilor f şi a pe X0 ; liniaritatea lui b, ca şi anumite condiţii de reg-
ularitate pentru X: Condiţiile f¼ ar¼
a diferenţiabilitate necesare se bazeaz¼ a în mod
esenţial pe teorema de separare a mulţimilor convexe;
- în condiţiile diferenţiale su…cienţa se bazeaz¼ a în mod esenţial pe convexi-
tate, spre deosebire de condiţiile de tip ”punct şa”.
Condiţiile diferenţiale de extremum reprezint¼ a extinderea la cazul restricţiilor -
inegalit¼aţi a tehnicii clasice a multiplicatorilor lui Lagrange pentru determinarea
extremelor locale cu restricţii - egalit¼ aţi.
Metoda lagrangeanului
În cazul restricţiilor de forma: gi (x) = 0; i = 1; m a‡area soluţiilor optime
este echivalent¼a cu determinarea extremelor unei funcţii cu leg¼aturi, problem¼ a
clasic¼
a în analiza matematic¼ a care se rezolv¼
a cu metoda lagranjeanului.

1
T
Fie x =(x1 ; x2 ; :::; xn ) o soluţie optim¼
a (local¼
a sau global¼
a) a problemei:

max (min) f (x)


(2)
gi (x) = 0; i = 1; m:

Vom face mai întâi raţionamentul pentru o funcţie cu dou¼ a variabile şi o singur¼
a
leg¼
atur¼
a: f (x1 ; x2 ) şi leg¼
atura g (x1 ; x2 ) = 0: Fie x = (x1 ; x2 ) un punct de
extrem condiţionat al funcţiei f (x1 ; x2 ) : Avem
g (x1 ; x2 ) = 0:
Presupunem îndeplinite condiţiile teoremei de existenţ¼ a a funcţiilor implicite.
Rezult¼a c¼
a într-o vecin¼ atate a punctului x2 ; exist¼
a o funcţie x1 = ' (x2 ) astfel
încât g (' (x2 ) ; x2 ) = 0 oricare ar … x2 din vecin¼
atatea lui x2 : Funcţia f (x1 ; x2 )
devine o funcţie de o singur¼ a variabil¼
a pe care o not¼ am:

h (x2 ) = f (' (x2 ) ; x2 ) :

Deoarece x2 este un punct de extrem pentru funcţia h (x2 ) avem, aplicând for-
mula de derivare a funcţiei compuse:

@f (x ) 0 @f (x )
(3) h0 (x2 ) = :' (x2 ) + = 0:
@x1 @x2
Din derivarea lui g se obţine:
@g@g 0
+ @x @x1 :'
2
= 0:
Aceast¼
a relaţie trebuie s¼
a …e veri…cat¼
a în x obţinându-se:

@g
@x2 (x )
'0 (x2 ) = @g(x )
:
@x1

Înlocuind în (3) rezult¼


a:

@f (x )
!
@g (x ) @x1 @f (x )
: @g(x )
+ = 0:
@x2 @x2
@x1

O relaţie asem¼an¼
atoare are loc şi între derivatele parţiale în raport cu x1 : Într-
adev¼
ar relaţia

@f (x )
!
@f (x ) @g (x ) @x1
+ @g(x )
=0
@x1 @x1
@x1

este evident¼a.
În concluzie, punctul x ; de extrem condiţionat, trebuie s¼
a veri…ce urm¼
atorul
sistem de ecuaţii:

2
8
@f (x )
>
< @x1 + @g(x )
@x1 = 0
@f (x )
> @x2 + @g(x )
@x2 = 0
:
g (x1 ; x2 ) = 0;

unde am f¼
acut notaţia !
@f (x )
@x1
= @g(x ) :
@x1

Se observ¼ a c¼
a aceste trei ecuaţii ale sistemului rezult¼ a din anularea celor trei
derivate parţiale de ordinul întâi ale urm¼ atoarei funcţii:

L (x1 ; x2 ; ) = f (x1 ; x2 ) + g (x1 ; x2 ) :

Rezult¼ a c¼
a punctele de extrem ale funcţiei f (x1 ; x2 ) cu leg¼atura g (x1 ; x2 ) = 0
se pot g¼asi cercetând punctele staţionare ale funcţiei L.
S¼a analiz¼
am acum cazul general: presupunem c¼ a f şi gi i = 1; m au derivate
parţiale în raport cu variabilele xj ; j = 1; n; continue şi …e D (x) matricea ale

arei elemente sunt

@gi
dij = (x) ; i = 1; m; j = 1; n :
@xj

De asemenea presupunem m < n şi rangul matricei D (x ) egal cu m.


Fie vectorul =( 1; 2 ; :::; m) : Consider¼
am sistemul de ecuaţii:

m
X @gi @f
(4) i (x ) + (x ) = 0; k = 1; 2; :::; m:
i=1
@xk @xk

El are soluţie unic¼


a pentru c¼
a matricea coe…cienţilor sistemului este D (x ) care
are determinantul diferit de zero. Pentru i obtinuţi din sistemul (4) se poate
demonstra c¼ a avem de asemenea:

Xm
@f @gi
(x ) + i (x ) = 0; j = m + 1; :::; n:
@xj i=1
@xj

În concluzie, pentru ca vectorul x s¼a …e soluţie optim¼a a problemei (2) este


necesar s¼a …e satisf¼acut urm¼atorul sistem:
8
< @f P
m
@gi
@xj (x ) + i @xj (x ) = 0; j = 1; 2; :::; n
(5) i=1
:
gi (x ) = 0 i=1,2,...,m

în care i sunt soluţiile sitemului de ecuaţii (4) şi se numesc multiplicatorii lui
Lagrange .

3
Consider¼
am funcţia:

m
X
L (x; ) = f (x) + i gi (x) ;
i=1

numit¼
a funcţia lui Lagrange (lagranjean).
Se observ¼
a c¼
a
@L @f P
m
@gi
@xj = @xj + i @xj ; j = 1; 2; :::; n
i=1
@L
@ i = gi ; i = 1; 2; :::; m:
Deci dac¼a x este o soluţie optim¼a a problemei (2) şi sunt satisf¼acute ipotezele
suplimentare de mai sus, atunci exist¼a un vector =( 1 ; 2 ; :::; m ) 2 <m astfel
încât:
(
@L
@xj (x ; ) = 0; j = 1; 2; :::; n
@L
@ i (x ; ) = 0; i = 1; 2; :::; m:

Metoda multiplicatorilor lui Lagrange reduce problema de extrem condiţionat


(2) la o problem¼ a de staţionaritate pentru funcţia L de m + n variabile. Dup¼
a
rezolvarea sistemului de m + n ecuaţii cu m + n necunoscute, se alege x care
optimizeaz¼ a pe f . Uneori rezolvarea acestuia e di…cil¼a. În plus, metoda nu se
poate aplica atunci când variabilelor li se impun restricţii de semn, sau când
restricţiile sunt inegalit¼
aţi.

Soluţia optim¼
a şi punctul şa al lagrangeanului
Fie X0 <n ; f : X0 ! <; a : X0 ! <m ; b : X0 ! <k :
Consider¼
am problema:
(6) inf (f (x))
x2X

unde
X = fx=x 2 X0 ; a(x) 6 0; b(x) = 0g

areia îi asociem funcţia lui Lagrange (lagrangean)

(7) L(x; u; v) = f (x) + uT a(x) + v T b(x); x 2 X0 ; u 2 <m


+; v 2 <
k

(a se observa c¼a multiplicatorilor vi asociaţi restricţiilor - egalit¼


aţi nu li se impune
restricţia de nenegativitate).
Punctul (x ; u ; v ) cu x 2 X0 ; u 2 <m k
+ şi v 2 < se numeşte punct şa
al lagrangeanului L dac¼ a

(8) L(x ; u; v) 6 L(x ; u ; v ) 6 L(x; u ; v );

4
pentru orice x 2 X0 ; u 2 <m k
+ şi v 2 < :
Urm¼atoarea teorem¼ a d¼
a condiţii su…ciente de optimalitate în programarea
neliniar¼
a:
Teorema 1
Dac¼a (x ; u ; v ) este un punct şa al lagrangeanului L, atunci x este punct
de minim global al lui f pe X (soluţie optim¼a a problemei de programare neliniar¼a
(6))
Demonstraţie
Prima inegalitate din (8) se scrie astfel:

f (x ) + uT a(x ) + v T b(x ) 6 f (x ) + (u )T a(x ) + (v )T b(x );

adic¼
a

(9) (u u )T a(x ) + (v v )T b(x ) 6 0; (8)u 2 <m k


+ şi (8) v 2 < :

În particular pentru u = u şi v = v ei ; 1 6 i 6 k; rezult¼


a bi (x ) = 0 adic¼
a
b(x ) = 0: De asemenea a(x ) 6 0:
Într-adev¼ a ar exista i a.î. ai (x ) > 0; alegând u = u + ei cu > 0 şi
ar, dac¼
v = v ; din (9) obţinem ai (x ) 6 0 ceea ce este absurd.
Rezult¼a c¼
a x 2 X:
De asemenea din faptul c¼ a u > 0 şi a (x ) 6 0; rezult¼ a (u )T a (x ) 6 0:
Pe de alt¼a parte luând în (9) u = 0 şi v = v obţinem (u )T a (x ) > 0: Rezult¼ a

a avem:
(10) (u )T a (x ) = 0:
Aceast¼a relaţie numit¼a condiţie de ecart ap¼
area şi în programarea liniar¼
a în
teorema slab¼a a ecarturilor complementare.
Pentru a ar¼ at¼
a c¼
a x 2 X este punct de minim global al lui f pe X, consid-
er¼
am a doua inegalitate din (8)

f (x ) + (u )T a (x ) + (v )T b (x ) 6 f (x) + (u )T a (x) + (v )T b (x) ; 8x 2 X0

sau
f (x ) 6 f (x) + (u )T a (x) + (v )T b (x) :
Pentru x 2 X; avem b (x) = 0 şi a (x) 6 0 adic¼
a f (x ) 6 f (x):
În (6) ecuaţiile b (x) = 0 pot … înlocuite cu inecuaţiile

b (x) 6 0 şi b (x) 6 0:

Putem astfel s¼
a consider¼
am problema:

(11) inf (f (x));


x2X

5
unde X0 <n ; f : X0 ! <; a : X0 ! <m şi

X = fx=x 2 X0 ; a (x) 6 0g :

De…nim lagrangeanul:

m
X
(12) L(x; u) = f (x) + uT a (x) = f (x) + ui ai (x); x 2 X0 ; u 2 <m
+:
i=1

Aici u = (u1 ; :::; um )T şi variabilele ui ; i = 1; m se numesc variabile duale sau


multiplicatori Lagrange. Spunem c¼ a (x ; u ); cu x 2 X0 şi u > 0 este un
punct şa pentru L (relativ la X0 ) dac¼ a:

L(x ; u) 6 L(x ; u ) 6 L(x; u ); 8 x 2 X0 ; 8 u 2 <m


+;

adic¼
a L(x; u ) are un minim pe X0 în x ; iar L(x ; u) are un maxim în u pentru
u > 0:
Pentru obţinerea de condiţii necesare de optimalitate vom introduce ipoteze
suplimentare: X0 mulţime convex¼ a, f şi a funcţii convexe şi mulţimea X s¼
a
veri…ce una din urm¼ atoarele condiţii echivalente:
a) condiţia de regularitate a lui Slater :
exist¼
a x 2 X0 astfel încât a(x) < 0;
b) condiţia de regularitate a lui Karlin:
a u 2 <m
nu exist¼ + f0g astfel încât uT a (x) > 0 pentru orice x 2 X0 ;
c) condiţia de regularitate strict¼a :
a x1 ; x2 2 X cu x1 6= x2 şi a este strict convex¼
exist¼ a în x1 :
Observaţie:
Condiţia a) este o condiţie de nedegenerare a domeniului de optimizare,
adic¼
a X are cel puţin un punct interior x:

Teorema 2
Fie X0 <n convex¼a, f : X0 ! < convex¼a şi a : X0 ! <m
o funcţie vectorial¼a convex¼a. Presupunem c¼a X îndeplineşte una din condiţiile
de regularitate a), b) sau c).
Dac¼a x 2 X este o soluţie optim¼a a problemei de programare neliniar¼a (11),
atunci exist¼a u 2 <m + astfel încât (x ; u ) s¼
a …e punct şa al lagrangeanului L
de…nit de (12):

Observaţii
-pentru demonstraţie se aplic¼
a teorema de separare a mulţimilor convexe;

6
-teorema 2 nu este adev¼ arat¼
a f¼
ar¼
a condiţia de nedegenerare impus¼ a într-o
form¼a sau alta.
Exemplu
m = n = 1;
a(x) = x2
f (x) = x:
Singura soluţie admisibil¼
a este x = 0; care este şi optim¼
a, dar lagrangeanul
L(x; u) = x + ux2 nu are nici un punct şa.

7
Cursul 7
Condiţiile de optimalitate Kuhn-Tucker.
Elemente de programare p¼ atratic¼
a
Fie problema de programare neliniar¼
a:

(1) inf (f (x));


x2X

unde X0 <n ; f : X0 ! <; a : X0 ! <m şi

X = fx=x 2 X0 ; a (x) 6 0g :

Pentru …ecare x 2 X not¼


am:

M (x) = fi=1 6 i 6 m; ai (x) = 0g :

Restricţiile corespunz¼
atoare indicilor i 2 M (x) se numesc restricţii active în x ,
iar celelalte se numesc restricţii inactive în x.

Teorema 1
Fie X0 <n o mulţime deschis¼a, f : X0 ! < şi a : X0 ! <m funcţii
diferenţiabile şi convexe în x 2 X0 :
Dac¼a exist¼a u 2 <m + astfel încât:

(2) (x x )T rx L(x ; u ) > 0; (8)x 2 X


şi
(3) (u )T a(x ) = 0 (condiţie de ecart),

atunci x 2 X este soluţie optim¼a a problemei de programare neliniar¼a (1).

Demonstraţie. Pentru i 2 M (x ); ai (x ) = 0 şi ai (x) 6 0; (8)x 2 X: Rezult¼


a
ai (x) 6 ai (x ): Îns¼
a ai este funcţie convex¼
a.
Rezult¼a

(x x )T rai (x ) 6 ai (x) ai (x ) 6 0; x 2 X; i 2 M (x ):

Pentru i 2 = M (x ) avem ai (x ) < 0: Rezult¼ a c¼


a ui = 0 pentru a … îndeplinit¼ a
condiţia de ecart (3). În consecinţ¼
a, pentru orice x 2 X este adev¼
arat¼
a relaţia:

(4) (x x )T (ra(x ))T u 6 0:

Din (2) şi (4) rezult¼


a

(x x )T rf (x ) > (x x )T (ra(x ))T u > 0; (8)x 2 X:

Din convexitatea funcţiei f rezult¼


a

1
f (x) f (x ) > (x x )T rf (x ) > 0

deci
f (x) > f (x ); (8)x 2 X;
adic¼
a x este punct de minim global al lui f pe X:

Pentru obţinerea de condiţii necesare de optimalitate nu e nevoie de ipoteza


privind convexitatea funcţiilor care intervin în problem¼a. În schimb, vom pre-
supune c¼a mulţimea X satisface anumite condiţii de regularitate a restricţiilor.
Mai întâi asociem problemei (1) înc¼ a un langrangean (Lagrange-Fritz John)
de…nit astfel:

L0 (x; u; u0 ) = u0 f (x) + uT a(x); x 2 X0 ; u 2 <m


+ ; u 0 2 <+ :

Teorema 2
Fie X 0 <n o mulţime deschis¼a, x o soluţie optim¼a a problemei (1), f şi a
diferenţiabile în x : Atunci exist¼a multiplicatorii Lagrange-Fritz John u 2 <m +
şi u0 2 <+ astfel încât
8 0
< rx LT(x ; u ; u0 ) = 0
>
(5) (u ) a(xP) = 0
>
: u0 + ui > 0;
i2M2 (x )

unde n o
M2 (x ) = M (x ) M1 (x ) şi M1 (x ) = i=i 2 M (x ); ai este concav a ^in x :

Demonstraţie. Consider¼
am sistemul de inegalit¼
aţi liniare:
8 T
< z rf (x ) 6 1
z T rai (x ) 6 1; i 2 M2 (x )
: T
z rai (x ) 6 0; i 2 M1 (x ):

a acest sistem nu are soluţii z 2 <n :


Se poate demonstra c¼
Atunci, conform lemei Farkas-Minkovski, urm¼ atorul sistem este compatibil:
8 P P
>
> u0 rf (x ) + ui rai (x ) + ui rai (x ) = 0
>
< P i2M2 (x ) i2M1 (x )
(6) u0 ui < 0
>
> i2M2 (x )
>
: u > 0; u > 0; i 2 M (x ) [ M (x ) = M (x ):
0 i 1 2

Deci exist¼ a u0 şi ui ; i 2 M (x ) care veri…c¼


a sistemul (6).
Pentru i 2 = M (x ) de…nim ui = 0: Vom ar¼ ata c¼a u0 2 <+ şi u 2 <m + veri…c¼
a
relaţiile din enunţul teoremei. Condiţia de ecart rezult¼a ţinând seama c¼
a pentru
i 2 M (x ) avem ai (x ) = 0 şi pentru i 2 = M (x ) avem ui = 0: Prima relaţie din
(5) se obţine astfel:

2
P
rx L0 (x ; u ; u0 ) = u0 rf (x )+(u )T ra(x ) = u0 rf (x )+ ui rai (x )+
i2M (x )
P
+ ui rai (x ) = 0:
i2M
= (x )
Am folosit prima relaţie din sistem şi din nou c¼ a ui = 0 pentru i 2
= M (x ):
Teorema 3
Fie X0 <n o mulţime deschis¼a, x o soluţie optim¼a a problemei (1), f şi
a diferenţiabile în x : Presupunem de asemenea c¼a este îndeplinit¼a urm¼atoarea
condiţie de regularitate a restricţiilor datorat¼a lui K. J.Arrow, L.Hurwicz şi
H.Uzawa (A.H.U):
Sistemul de inecuaţii liniare

z T rai (x ) > 0; i 2 M1 (x )
(A:H:U:)
z T rai (x ) > 0; i 2 M2 (x )

are soluţii z 2 <n :


Atunci exist¼a u 2 <m + astfel încât:

rx L(x ; u ) = 0
(7)
(u )T a(x ) = 0:

Demonstraţie. Din teorema 2 rezult¼ a c¼


a exist¼ a u0 2 <+ şi u 2 <m + care
veri…c¼
a relaţiile (5).
Dac¼a demonstr¼ am c¼ a u0 > 0 atunci relaţiile (7) se obţin din (5) prin înmulţire
cu 1=u0 :
Dac¼a M2 (x ) = ; atunci din ultima relaţie a lui (5) rezult¼ a u0 > 0:
Dac¼a M2 (x ) 6= ; presupunem
P prin absurd c¼
a u 0 =
P 0:
Atunci din (6) rezult¼ a ui rai (x ) = 0 şi ui > 0:
i2M (x ) i2M2 (x )
P
Pe de alt¼a parte din A.H.U. rezult¼ a ui (z T rai (x )) > 0: Contradicţie.
i2M (x )

Observaţie
Condiţia A.H.U. este îndeplinit¼ a pentru orice problem¼ a de programare
neliniar¼
a cu restricţii liniare pentru c¼ a M1 (x ) = M (x ) şi M2 (x ) = ; iar
sistemul de inecuaţii (A.H.U) are soluţie z = 0:
De asemenea dac¼ a funcţiile ai ; i 2 M (x ) sunt convexe şi este satisf¼
acut¼
a condiţia
de regularitate a lui Slater, atunci este satisf¼acut¼a şi condiţia A.H.U. Într-adev¼
ar,
pentru i 2 M (x ); convexitatea lui ai implic¼ a:

ai (x) ai (x ) > (x x )T rai (x )

unde ai (x) < 0 şi ai (x ) = 0 pentru orice i 2 M (x ):


Rezult¼a (x x )T rai (x ) < 0 pentru orice i 2 M (x ); adic¼
a sistemul (A.H.U.)
are soluţia z = x x:
Condiţiile Kuhn-Tucker

3
Rezultatele de mai sus pot … reunite într-un singur rezultat şi anume: pentru
ca x 2 X0 s¼ a …e soluţie a problemei (1) este necesar şi su…cient s¼ a existe
u 2 <m astfel încât s¼
a …e satisf¼
acute urm¼ atoarele condiţii Kuhn-Tucker:
8
>
> a(x ) 6 0
<
rx L(x ; u ) = 0
(8)
>
> (u )T a(x ) = 0
:
u >0
Observaţii
1 Se veri…c¼
a de asemenea şi condiţiile de ecart:

(x )T rx L(x ; u ) = 0
2. Pentru necesitate se presupune în plus, c¼ a mulţimea X din (1) satisface
în x condiţiile de regularitate a restricţiilor (A.H.U.), iar pentru su…cienţ¼
a, se
presupune c¼a a şi f sunt convexe în x :

Problemele de programare neliniar¼ a de form¼


a mai general¼
a se aduc la forma (1)
şi se scriu condiţiile Kuhn-Tucker (8).

S¼ am X0 <n+p o mulţime deschis¼


a consider¼ a, f : X0 ! < şi a : X0 ! <m ;
k
d : X0 ! < funcţii diferenţiabile în (x ; y ) 2 X0 şi problema de programare
neliniar¼
a:
(9) inf (f (x; y));
(x;y)2X

unde
X = f(x; y)=(x; y) 2 X0 ; a(x; y) 6 0; d(x; y) = 0; x > 0g :
Pentru a obţine o condiţie necesar¼
a şi su…cient¼
a ca (x ; y ) s¼
a …e soluţie optim¼
a
scriem restricţiile astfel:
a(x; y) 6 0; d(x; y) 6 0; d(x; y) 6 0; x 6 0:
Not¼am cu u; u0 ; u00 şi w multiplicatorii Lagrange asociaţi celor patru grupuri de
restricţii:
L(x; y; u; u0 ; u00 ; w) = f (x; y) + uT a(x; y) + (u0 u00 )T d(x; y) + wT ( x):
am u0
Not¼ u00 = v şi
L0 (x; y; u; v) = f (x; y) + uT a(x; y) + v T d(x; y); u 2 <m k
+;v 2 < :

Rezult¼
a
L(x; y; u; u0 ; u00 ; w) = L0 (x; y; u; v) xT w;
unde u > 0; w > 0 şi v oarecare.Avem:
rx L = rx L0 w
ry L = ry L0 :

4
Din condiţiile Kuhn-Tucker rezult¼ a c¼
a o condiţie necesar¼a şi su…cient¼
a ca
(x ; y ) 2 X0 s¼a …e soluţie optim¼ a a problemei de programare neliniar¼ a (9) este
a existe u 2 <m
s¼ + ; v 2 < k
astfel încât s¼
a …e satisf¼a cute condiţiile:
8 8
>
> a(x ; y ) 6 0 >
> u >0
< <
d(x ; y ) = 0 v oarecare
(10)
>
> x >0 >
> rx L0 (x ; y ; u ; v ) > 0
: :
y oarecare ry L0 (x ; y ; u ; v ) = 0
(u )T a(x ) = 0
(x )T rx L0 (x ; y ; u ; v ) = 0:

Pentru necesitate se presupune c¼ a mulţimea X din (9) satisface condiţiile A.H.U.


în (x ; y ) iar pentru su…cienţ¼
a se presupune c¼a f şi a sunt convexe iar d este
liniar¼
a.

Elemente de programarea p¼
atratic¼
a. Adaptarea metodei simplex la
condiţiile
Kuhn-Tucker (P.Wolfe)

Programarea p¼atratic¼
a ocup¼
a un loc intermediar între programarea liniar¼
a şi
programarea convex¼a.
Fie problema:
(11) inf (f (x))
x2X

unde
1
f (x) = cT x + xT Cx; c 2 <n
2
C este o matrice simetric¼
a, pozitiv de…nit¼
a şi

X = fx 2 <n =Ax = b; x > 0g :

Restricţiile problemei sunt liniare iar funcţia obiectiv este suma unei funcţionale
liniare cu o form¼ a p¼atratic¼
a. Problema (11) se numeşte problem¼a de programare
p¼atratic¼a.
În cazul în care matricea C nu este simetric¼ a se înlocuieşte cu matricea
c +c
B = (bij )16i;j6n unde bij = bji = ij 2 ji :
Se poate veri…ca imediat c¼ a: xT Cx = xT Bx:
Dac¼ a C este pozitiv de…nit¼ a g(x) = xT Cx
a, (adic¼ 0 pentru orice x 2 <n )
1
atunci f (x) este convex¼ a. Într-adev¼ ar g( x + (1 )x2 ) = g(x1 ) + (1
2
2
)g(x ) + ( )(x 1 2 T
x ) C(x 1 2
x ): Observând c¼a 2 < 0 pentru orice
1 2 T 1 2
0 < < 1 şi (x x ) C(x x ) 0 rezult¼ a c¼
a g(x) este convex¼ a. Proprietatea
este adev¼ arat¼
a şi pentru f:
Not¼ am

d(x) = b Ax
L0 (x; v) = f (x) + v T d(x); v 2 <m :

5
Se observ¼
a c¼
a problema (11) este un caz particular al problemei (9).
Rezult¼
a c¼
a o condiţie necesar¼ a ca x s¼
a şi su…cient¼ a …e optim¼
a este s¼
a existe
v 2 <m astfel încât:
d(x) = 0 v oarecare
(x)T rx L0 (x; v) = 0:
x>0 rx L0 (x; v) > 0

Ţinând seam¼
a de expresia lui f , obţinem:

Ax = b v oarecare
(12)
x>0 c + Cx AT v > 0
x(c + Cx AT v) = 0:

a inecuaţiile în ecuaţii cu ajutorul variabilelor ecart y > 0;


Se transform¼

c + Cx AT v y = 0:

Condiţiile (12) sunt formate din relaţii de gradul întâi şi unele relaţii care nu
mai sunt de gradul întâi, ele neputând constitui restricţiile unei probleme de
programare liniar¼ a. Putem îns¼ a s¼
a reţinem dintre condiţiile Kuhn-Tucker (12)
pe cele de gradul întâi pentru folosirea metodei simplex, urmând ca celelalte s¼ a
constituie o îngr¼adire la criteriul de intrare în baz¼ a.
Vectorul v …ind oarecare se face substituţia v = v 1 v 2 ; v 1 ; v 2 > 0:
Dac¼a sistemul de gradul întâi nu are soluţie de baz¼ a iniţial¼
a introducem vari-
abilele arti…ciale şi consider¼
am drept funcţie obiectiv suma variabilelor arti…ciale
care trebuie minimizat¼ a.
Dup¼ a terminarea primei faze, se caut¼ a celelalte soluţii admisibile de baz¼ a, f¼
ar¼
aa
avea o funcţie obiectiv. Se modi…c¼ a criteriul de intrare în baz¼ a astfel încât pentru
…ecare i = 1; n ,xi şi yi nu pot … simultan nenule, deci nu pot … simultan în baz¼ a.

Restricţiile problemei …ind liniare, pot … considerate sub diverse forme,


ţinând seama de posibilitatea transform¼ arii lor. S¼
a analiz¼ am şi cazul în care
mulţimea programelor este:
X = fx 2 <n =Ax b; x 0g iar funcţia obiectiv este aceeaşi din (11).
Not¼ am a(x) = b Ax 0 şi
L0 (x; u) = f (x) + uT a(x); u 2 <m
+
Fiind un caz particular al problemei (9) rezult¼ a c¼
a o condiţie necesar¼a şi su…-
cient¼a ca x s¼ a …e optim¼ a existe u 2 <m
a este s¼ + astfel încât s¼
a …e satisf¼acute
condiţiile:
a(x) 0 u 0 (u)T a(x) = 0
T
x 0 rx L0 (x; u) 0 (x) rx L0 (x; u) = 0
Ţinând seama de faptul c¼ a rf (x) = c + Cx şi dac¼a not¼ am:

y = Ax b
v = c + Cx AT u

6
condiţiile necesare şi su…ciente de optimalitate devin:
8
< Ax y = b
Cx AT u v = c
:
x 0; u 0; v 0; y 0

şi
uT y = 0; (x)T v = 0
Rezult¼a un sistem de m+n ecuaţii liniare cu 2m+2n variabile. Variabilele yi au
semni…caţia de variabile ecart în problema primal¼ a, iar vj sunt variabile ecart
în problema dual¼ a. Condiţiile xj vj = 0 şi ui yi = 0 arat¼
a c¼
a ne intereseaz¼
a doar
acele programe ale acestui sistem care au cel mult m + n componente nenule,
adic¼
a doar pogramele de baz¼ a.

7
Cursul 8
Metoda direcţiilor admisibile. Algoritmul de
secţionare prin hiperplane (J.E. Kelley). Duala
în sens Wolfe
Metoda direcţiilor admisibile (M. Frank şi P. Wolfe)
Fie problema de programare convex¼
a cu restricţii liniare
8
< min f (x)
(1) Ax b
:
x 0

unde f este convex¼


a şi mulţimea soluţiilor admisibile

X = fx 2 <n =Ax b; x 0g

este nevid¼
a.
Metoda direcţiilor admisibile const¼
a în evoluţia pas cu pas c¼
atre soluţia optim¼a,
plecând de la un punct arbitrar ales x1 ; folosind în acest scop o relaţie iterativ¼
a
de forma:
xk+1 = xk + ku
k
2X
unde uk 2 <n este un vector care caracterizeaz¼ a direcţia , iar k 2 <; pasul
de deplasare. Se consider¼ a vectorul uk determin¼
a c¼ a o direcţie admisibil¼a din
punctul xk ; dac¼
a utilizând un pas su…cient de mic, o deplasare în direcţia dat¼a
de uk r¼
amâne în domeniul admisibil X.
Metoda direcţiilor admisibile este deci un proces iterativ prin care se genereaz¼
a
un şir
xk X; cu f xk+1 < f xk ; k = 1; :::
astfel încât
lim f xk = minf (x) :
k!1 x2X

Valoarea pasului k se determin¼


a printr-un proces de optimizare local¼
a, cerând
ca f xk+1 s¼a …e cea mai mic¼
a valoare a lui f pe mulţimea

x = xk + uk = 2 < \ X:

În general, metodele de rezolvare a problemelor de programare neliniar¼ a sunt


metode iterative in…nite, convergenţa lor …ind asigurat¼
a printr-o serie de pro-
priet¼
aţi analitice sau geometrice impuse problemei.
Vom presupune f 2 C 1 ; X = fx 2 <n =Ax b; x 0g nevid¼
a şi urm¼
atoarea
ipotez¼
a:

1
Ipoteza m¼arginirii :
xT (5f (y)) este m¼arginit¼
a inferior pe X oricare ar … y 2 X:
Teorema 1 (Testul de optimalitate)
Presupunem X 6= ; şi xk 2 X: Dac¼a xk este o soluţie optim¼a a problemei
de programare liniar¼a:

(2) minxT 5f xk
x2X
şi
T
(3) xk xk 5 f xk 0

atunci x k este soluţie optim¼a a problemei (1).

Demonstraţie
Din (3) şi din proprietatea de optimalitate a lui xk rezult¼
a

T T T
(4) 5f xk xk 5f xk xk 5f xk x; (8) x 2 X

sau
T
x xk 5 f xk 0; (8) x 2 X:
Pe de alt¼
a parte din convexitatea lui f avem

T
(5) f (x) f xk x xk 5 f xk ; (8) x 2 <n

Rezult¼
a
f (x) f xk ; (8) x 2 X
a xk este soluţie optim¼
adic¼ a.
Corolarul 1
Dac¼a x k este soluţia optim¼a a problemei (2) atunci este şi soluţie optim¼a a
problemei (1). Într-adev¼ ar pentru xk = xk relaţia (3) este veri…cat¼a.

Teorema 2 (îmbun¼
at¼
aţirea soluţiei)
Fie x k 2 X şi xk soluţie optim¼a a problemei (2).
Dac¼a
T
(6) xk xk 5 f xk < 0
atunci exist¼a x k+1 2 X de forma

x k+1 = xk + k xk xk ; k 2 [0; 1]

2
astfel încât f xk+1 < f xk :

Demonstraţie
am uk = xk
Not¼ xk : Funcţia ' ( ) = f xk + uk este convex¼
a pe [0; 1] şi
k T
'0 ( ) = u 5 f xk + uk este cresc¼
atoare pe [0; 1] :
În plus folosind (6) rezult¼
a:

T
'0 (0) = uk 5 f xk < 0:
Avem dou¼
a cazuri:
T
(i) '0 (1) 0 ) uk 5 f xk 0 ) '0 ( ) 0 oricare ar … 2 [0; 1] şi
deci ' îşi atinge minimul pe [0; 1] în = 1:
Punând xk+1 = xk rezult¼ a f xk+1 < f xk :
(ii) '0 (1) > 0 rezult¼
a c¼ a k 2 (0; 1) astfel încât '0 ( k ) = 0;
a exist¼
k+1
k este punct de minim al lui ' pe [0; 1] şi punând x = xk + k uk deducem
k+1 k

af x <f x :

Metoda direcţiilor admisibile const¼


a din urm¼
atorii paşi:
1) Se determin¼
a o soluţie admisibil¼ a x1 2 X; Se ia k := 1:
a iniţial¼
2) Se rezolv¼
a problema de programare liniar¼
a
minxT 5 f xk
x2X
şi …e xk soluţia sa.
3) Din xk se face coborâre dup¼a direcţia uk = xk xk pân¼
a într-un punct
xk+1
de forma xk+1
= x + u cu k = min f1; k g unde k este minimul
k k k

funcţiei:
'k ( ) = f xk + uk pe [0; 1) :
k T
4) Dac¼a u 5 f xk 0, STOP, xk este soluţie optim¼
a. Altfel k := k + 1
, go to 2.
Algoritmul de secţionare prin hiperplane (J.E. Kelley)
Algoritmul lui Kelley reduce rezolvarea problemei de programare convex¼
a la o
succesiune de probleme de programare liniar¼a.
Fie problema de programare convex¼ a:

(7) inf f (x)


x2X

unde
X = fx 2 <n =gj (x) 6 0; j 2 J1 ; hj (x) 6 0; j 2 J2 g
f; gj 2 C 1 funcţii convexe şi hj funcţii liniare. O parte din restricţii sunt
convexe, restul sunt restricţii liniare.

3
Procedeul general de construcţie a unui algoritm de secţionare
prin hiperplane
Metoda const¼ a în construirea unui şir descresc¼
ator de tronsoane convexe prin
secţionarea succesiv¼
a a acestora cu hiperplane.
Se consider¼ a tronsonul convex Xlin al punctelor x 2 <n care veri…c¼
a re-
stricţiile liniare.
Xlin = fx 2 <n =hj (x) 6 0; j 2 J2 g :
Dac¼a Xlin 6= ;; …e x0 2 Xlin :
Secţion¼
am acest tronson convex ad¼
augând restricţiile liniare
gj (x0 ) + (x x0 )T rgj (x0 ) 6 0; j 2 J1
obţinându-se tronsonul convex

X0 = x 2 Xlin =gj (x0 ) + (x x0 )T rgj (x0 ) 6 0; j 2 J1

Vom admite o prim¼


a ipotez¼
a:
i) X0 este m¼
arginit¼
a (ipoteza m¼arginirii).
De asemenea, putem presupune c¼ a:
ii) funcţia obiectiv f este liniar¼
a (ipoteza liniarit¼aţii).
Ipoteza liniarit¼aţii nu restrânge generalitatea; în caz contrar se introduce re-
stricţia suplimentar¼ a f (x) x0 şi se minimizeaz¼
a x0 (vezi observaţia de mai
jos).
Se rezolv¼
a problema de programare liniar¼
a

inf (f (x)):
x2X0

Se obţine soluţia optim¼a x1 : Dac¼


a x1 2 X, atunci x1 este soluţie optim¼ a pentru
problema convex¼ a (7). Altfel, se alege o restricţie gi care nu se veri…c¼ a şi cu
ajutorul ei se construieşte o nou¼a restricţie de secţionare obţinându-se tronsonul
convex:
X1 = x 2 X0 =gi (x1 ) + (x x1 )T rgi (x1 ) 6 0; i 2 I1
unde
I1 = i 2 J1 =gi (x1 ) = maxgj (x1 ) :
j2J1

Punctul x1 2= X1 pentru c¼ a gi (x1 ) > 0:


Astfel se obţine un şir de tronsoane convexe

X0 X1 ::: Xk ::: X

şi şirul xk astfel încât

xk 2 Xk 1 nXk ; k = 1; 2; :::; şi lim f (xk ) = inf f (x):


k!1 x2X

4
Acesta este procedeul general de construcţie a unui algoritm de secţionare prin
hiperplane.
Observaţie
În cazul în care funcţia f nu este liniar¼
a se poate înlocui problema (7) cu
problema echivalent¼a (8):

(8) inf0 (x0 )


X
unde
X 0 = (x; x0 ) 2 <n+1 ; x 2 X; f (x) x0 6 0 :

Într-adev¼ar, …e x o soluţie optim¼ a a problemei (7) şi …e x0 = f (x): Avem


(x; x0 ) 2 X 0 : Presupunem prin absurd c¼ a (x; x0 ) nu este optim¼ a pentru (8),
adic¼ a (x; x0 ) 2 X 0 cu x 2 X şi x0 < x0 :Dar f(x)6 x0 < x0 = f (x) ceea
a exist¼
ce contrazice faptul c¼ a x este optim¼a pentru (7).
Învers, …e (x; x0 ) soluţie optim¼
a a problemei (8). Deci x 2 X: Vom ar¼ ata c¼
ax
este optim¼ a pentru (7). Presupunem prin absurd c¼ a exist¼
a x 2 X astfel înc¼at
f (x) < f (x): Fie x0 = f (x): Rezult¼ a (x; x0 ) 2 X 0 şi x0 = f (x) < f (x) 6 x0
(absurd).

Algoritmul J. E. Kelley
Se construiesc recursiv şirurile

xk ; fXk g ; k = 0; 1:::

Dac¼
a Xk 1 = ;; STOP. Altfel, se rezolv¼
a problema de programare liniar¼
a:

inf (f (x))
x2Xk 1

şi …e xk soluţia sa optim¼ a xk 2 X; STOP. Altfel, se de…neşte


a. Dac¼

Xk = x 2 Xk k
1 =gi (x ) + (x xk )T rgi (xk ) 6 0 ;
unde indicele i 2 J1 este cel (cele) pentru care se atinge

maxgj (xk ) = gi (xk ):


j2J1

Evident gi (xk ) > 0 şi deci xk 2


= Xk :
Vom demonstra prin inducţie c¼
aX Xk :
Pentru k = 0, …e x 2 X: Rezult¼ a gj (x) 6 0; j 2 J1 :
Pentru x0 2 Xlin ; din convexitatea funcţiilor gj ; j 2 J1 avem

gj (x) gj (x0 ) > (x x0 )rgj (x0 ) )


gj (x0 ) + (x x0 )T rgj (x0 ) 6 gj (x) 6 0

5
Rezult¼
a c¼
a x 2 X0 :
Presupunem relaţia adev¼
arat¼
a pentru k = 1; 2; :::; k 1 şi x 2 Xk 1:
Din nou avem:

gj (x) gj (xk ) > (x xk )rgj (xk ) )


gj (xk ) + (x xk )T rgj (xk ) 6 gj (x) 6 0

Rezult¼
a x 2 Xk : Cum Xk 1 Xk X rezult¼
a

f (xk 1
) 6 f (xk ) 6 inf ff (x)=x 2 Xg

a xk 2 X atunci xk este soluţie optim¼


Dac¼ a a problemei (7).
Dac¼
a Xk = ; atunci problema (7) nu are programe.
Dualitatea în programarea neliniar¼
a. Duala în sens Wolfe
Dualitatea joac¼ a un rol fundamental în teoria şi metodele de calcul ale pro-
gram¼arii liniare. Pentru o problem¼ a de programare liniar¼a dat¼
a se construieşte
o alt¼
a problem¼ a de programare liniar¼ a, numit¼
a dual¼a cu proprietatea c¼a dac¼ a
una dintre probleme are un program optim, atunci şi cealalt¼ a are un program
optim şi valorile optime coincid.
Exist¼
a câteva posibilit¼aţi de a construi probleme duale în programarea neliniar¼ a,
ele …ind utile atât din punct de vedere teoretic cât şi practic, la elaborarea
metodelor numerice.
Fie X <n şi Y <m şi f : X ! <; g : Y ! <: Vom considera problemele de
programare neliniar¼
a

(9) inf f (x)


x2X
şi
(10) sup g (y) :
y2Y

Problema (10) este duala problemei (9) dac¼


a sunt îndeplinite urm¼
atoarele condiţii:
a) Pentru orice x 2 X şi orice y 2 Y avem f (x) g (y) :
b) Dac¼
a una dintre cele dou¼a probleme are o soluţie optim¼a, atunci şi cealalt¼
a
problem¼
a are o soluţie optim¼
a, iar valorile optime ale funcţiilor obiectiv în cele
dou¼
a probleme sunt egale.

Propozitia 1
Fie X <n ; Y <m şi f : X ! <; g : Y ! <: Dac¼a problema de
programare (10) este duala problemei (9) atunci:
1) Dac¼a x 2 X; y 2 Y şi f (x ) = g (y ) atunci x este soluţie optim¼a
pentru (9), iar y este soluţie optim¼a pentru (10).
2) Dac¼a una dintre cele dou¼a probleme are optim in…nit, atunci cealalt¼a nu
are soluţii.

6
Demonstraţie
Deoarece X 6= ; şi Y 6= ; din condiţia a) a de…niţiei rezult¼
a

inf f (x) sup g (y) :


x2X y2Y

În particular

f (x ) inf f (x) sup g (y) g (y ) = f (x ) :


x2X y2Y

Duala în sens Wolfe (W-dual¼a).


Fie problema de programare neliniar¼
a

inf f (x)
(11)
ai (x) 0; i = 1; m;

unde f , ai : X0 ! <; i = 1; m sunt diferenţiabile pe mulţimea deschis¼


a X0 :
Consider¼am lagrangeanul L:

m
X
L (x; ) = f (x) + i ai (x) ; x 2 X0 ; i 2 <+; i = 1; m:
i=1

Se numeşte duala în sensul lui Wolfe (W-duala) a problemei (11) problema de


programare neliniar¼a
sup L (x; )
(12)
(x; ) 2 Y;
unde
n o
@L(x; )
Y = (x; ) =x 2 X0 ; 2 <m + ; @xj = 0; j = 1; n :
W-duala se construieşte luând drept restricţii o parte din condiţiile Kuhn-Tucker
ale problemei (11). In continuare se demonstreaz¼ a c¼a în anumite condiţii W-
duala este dual¼
a în sensul de…niţiei (veri…c¼
a a) şi b)).
Not¼am
X = x 2 X0 =ai (x) 0; i = 1; m :

Propoziţia 2
Fie X 0 <n o mulţime deschis¼a şi convex¼a
f : X 0 ! <; ai : X0 ! <; i = 1; m funcţii convexe şi diferenţiabile pe X0 :
Dac¼a x 2 X şi (x0 ; ) 2 Y atunci f (x) L (x0 ; ) :
Demonstraţie.

7
Xm X m
@f @ai 0 @f @ai 0
(x0 ; ) 2 Y ) (x0 ) + i (x ) = 0 ) (x0 ) = ( i) (x ) :
@xj i=1
@xj @xj i=1
@xj

Cum f şi ai diferenţiabile şi convexe pe X0 ; rezult¼


a c¼
a

n
X @f
f (x) f (x0 ) xj x0j (x0 )
j=1
@xj

n
X
0 @ai 0
ai (x) ai (x ) xj x0j (x ) ; :i = 1; m:
j=1
@xj
P
m
Pentru x 2 X ) ai (x) 0; i = 1; m ) i ai (x) 0: Atunci
i=1

n
X m
X m
X m
X
@ai 0
f (x) f (x0 ) xj x0j ( i) (x ) i (ai (x0 ) ai (x)) i ai (x0 ) :
j=1 i=1
@xj i=1 i=1

Rezult¼
a
m
X
f (x) f (x0 ) + i ai (x0 ) :
i=1

Teorema 3 (Teorema direct¼


a de dualitate)
Fie X0 <n o mulţime deschis¼a şi convex¼a f : X 0 ! <; ai : X0 ! <; i =
1; m funcţii diferenţiabile şi convexe pe X0 . Dac¼a x 2 X este soluţie optim¼a
a problemei primale (11) şi mulţimea X satisface în x condiţia A:H:U; atunci
exist¼a 2 <m + astfel încât (x ; ) s¼a …e soluţie optim¼a a problemei duale (12).
În plus,valorile optime ale funcţiilor obiectiv în cele dou¼a probleme sunt egale.
Demonstraţie
Presupunem c¼
a x 2 X este soluţie optim¼ a a problemei (11). Rezult¼
a c¼
a
exist¼
a 2 <m
+ astfel încât s¼
a …e satisf¼
a cute condiţiile Kuhn-Tucker:

@L (x ; )
= 0; j = 1; n
@xj
i ai (x ) = 0; i = 1; m:

Din prima relaţie rezult¼


a (x ; ) 2 Y iar din a doua:

m
X
L (x ; ) = f (x ) + i ai (x ) = f (x ) :
i=1

Din propozitia (2) avem:

8
L (x; ) f (x ) = L (x ; ) pentru orice (x; ) 2 Y; adic¼ a (x ; ) este
soluţie optim¼
a a W-dualei.
De asemenea a reieşit c¼
a valorile funcţiilor obiectiv sunt egale.

În anumite condiţii impuse asupra funcţiei L(:; ) şi a matricei hessiene


Hx L(x ; ); se poate demonstra şi o teorem¼ a invers¼
a de dualitate, adic¼a dac¼
a
(x ; ) 2 Y este o soluţie optim¼a a problemei duale (12), atunci x este
soluţie optim¼
a a problemei primale (11).

9
Cursul 9
Jocuri matriceale. Strategiile mixte ca soluţii
ale problemelor de optimizare liniar¼a
Teoria jocurilor studiaz¼ a situaţiile con‡ictuale sau de competiţie, în
care acţioneaz¼ a dou¼ a sau mai multe p¼ arţi, cu scopuri contrarii. Situaţiile con-
‡ictuale, de cele mai multe ori cu caracter economic (concurenţa , vânz¼ arile
la licitaţie, etc.) sunt situaţii în care acţioneaz¼ a mai mulţi factori ”raţionali”,
…ecare urm¼ arind un anumit scop, independenţi în alegerea deciziilor proprii, dar
dependenţi prin rezultate. Rezultatul oric¼ arei decizii luate de una dintre p¼ arţi,
depinde de modul de acţiune pe care-l adopt¼ a partea advers¼ a. Aceast¼ a situaţie
a fost formalizat¼ a de c¼ atre matematicianul John von Neumann şi economistul
Oskar Morgenstern, în conceptul matematic de joc in lucrarea “The Theory of
Games and Economic Behaviour ”. Aceştia au de…nit jocul ca “orice interacţi-
une între diverşi agenţi, guvernat¼ a de un set de reguli speci…ce care stabilesc
mut¼ arile posibile ale …ecarui participant şi câştigurile pentru …ecare combinaţie
de mut¼ ari”. Aceast¼ a descriere se poate aplica aproape oric¼ arui fenomen social.
Teoria jocurilor este utilizat¼ a in diverse domenii, de la biologie şi
psihologie, la sociologie şi …lozo…e, precum şi în cazurile în care o activitate
intr¼a în con‡ict cu caracterul întâmpl¼ ator al unor fenomene naturale.
În anul 2005 Robert J. Aumann şi Thomas C. Schelling au câştigat
premiul Nobel în economie pentru “Contributions to Game Theory: Analyses of
Con‡ict and Cooperation”. Este pentru a doua oar¼ a in istoria premiului Nobel
cand acesta este câştigat de cercet¼ atori ai teoriei jocului, dup¼ a ce in 1994 au fost
desemnaţi câştig¼ atori americanii John C. Harsanyi si John F. Nash şi germanul
Reinhard Selten, ale c¼ aror cercet¼ari au fost extrem de utile pieţelor …nanciare şi
au permis analiza echilibrului in teoria jocurilor non-cooperative.
Teoriile lui Aumann le continu¼ a pe cele ale lui John Nash ( erou al celebrului
…lm A beautiful mind ). Aumann a introdus ins¼ a repetiţia in…nit¼a a unui acelaşi
joc, f¼acând posibil¼ a astfel g¼
asirea unei soluţii în contextul unor relaţii pe termen
lung şi nu doar în cazul unei singure interacţiuni. Lucr¼ arile celor doi şi-au g¼ asit
aplicaţii remarcabile şi în înţelegerea modului în care se formeaz¼ a şi opereaz¼ a
grupurile de interes comercial, dar şi tratatele comerciale internationale şi chiar
grupurile de crim¼ a organizat¼a. Teoria jocurilor repetate a devenit cadrul comun
de analiz¼ a a cooper¼ arilor pe termen lung în ştiinţele sociale, a fost utilizat¼ a în
ştiinţe politice, etic¼
a şi …lozo…e. În …nal, teoria jocurilor a atras recent atenţia
informaticienilor datorit¼ a utiliz¼
arii sale în inteligenţa arti…cial¼ a şi cibernetic¼ a..
Joc - o situaţie în care acţioneaz¼
a o mulţime N = f1; 2; :::; pg de elemente
raţionale numite juc¼atori care în mod succesiv şi independent aleg câte o decizie
(efectueaz¼a o ”mutare”) dintr-o mulţime dat¼ a de alternative. Fiecare juc¼ ator
primeşte o recompens¼ a (”câştig”) care depinde de întreaga desf¼aşurare a jocului,
deci de ansamblul acţiunilor tuturor juc¼ atorilor. Se presupune c¼ a juc¼
atorii au
capacitatea de a analiza variantele, de a evalua riscurile şi a încerca s¼ a le reduc¼
a
pentru a obţinePun câştig cât mai mare posibil.
Not¼
am cu i ; i 2 N mulţimea strategiilor pure ale juc¼ atorului i din care

1
P P p P
acesta alege o decizie i 2 i şi cu = i; produsul lor cartezian.
i=1
Mulţimea = f i gi2N este partida realizat¼a. Câştigul obţinut de juc¼ atorul
i este ui ( ) :
Sistemul
P i
= i ; u i2N
se numeşte joc în form¼a normal¼a de p persoane.
Jocul se numeşte joc cu sum¼a nul¼a dac¼ a:
P
u1 ( )+u2 ( )+....+up ( ) = 0; (8)P2 P :
este joc …nit dac¼ a toate mulţimile strategiilor pure 1 ; :::; p sunt …nite.
Un joc …nit P de dou¼ a persoaneP se mai numeşte joc bimatricial deoarece, pre-
supunând 1 = f& 1 ; :::; & m g şi 2 = f 1 ; :::; n g forma sa normal¼ a se reduce la
dou¼ a matrice (de tip m n) : A = (aij ) şi B = (bij ) unde aij = u1 (& i ; j ) ; i =
1; :::; m; j = 1; :::; n şi bij = u2 (& i ; j ) ; i = 1; :::; m; j = 1; :::; n:
Un joc de dou¼ a persoane …nit şi cu sum¼ a nul¼ a (deci cu A + B = 0)

se numeşte joc matriceal, deoarece forma sa normal¼ a se reduce la matricea A.


Câştigurile juc¼ atorului 2 sunt date de matricea B = A.
Dac¼ a partida se incheie prin câte o alegere, se spune c¼ a juc¼atorii au la dispoz-
iţie strategii pure. Când partidele se repet¼ a, juc¼
atorii pot alege strategii pure cu
anumite frecvenţe sau probabilit¼ aţi şi atunci se spune c¼ a utilizeaz¼ a o strategie
mixt¼ a. O strategie
P mixt¼
a (sau strategie aleatoare) a juc¼a torului i este o prob-
abilitate pe i : De exemplu, dac¼ a juc¼ atorul i are o mulţime …nit¼ a de strategii
pure
P
i = f 1 ; :::; m g atunci mulţimea strategiilor sale mixte este:
Pf = x 2 <m = x 0; P xk = 1 :
m
i
k=1
T
Componenta xk a strategiei mixte x = (x1 ; :::; xk ; :::; xm ) reprezint¼
a probabili-
k
tatea ca juc¼atorul i s¼
a foloseasc¼ a strategia pur¼ a k : Strategia mixt¼ a (0; :::; 1; :::; 0)
care const¼ a în alegerea sigur¼ a a strategiei pure k se poate identi…ca cu k deci
P P
f : Într-un joc bimatriceal (A; B), dac¼
i i a juc¼
atorii folosesc respectiv strate-
giile mixte x = (x1 ; :::; xm )T şi y = (y1 ; :::; yn )T atunci câştigul juc¼
atorului i este
o variabil¼a aleatoare cu media :

m X
X n
f1 (x; y)
u = aij xi yj = xT Ay
i=1 j=1
m X
X n
f2 (x; y)
u = bij xi yj = xT By:
i=1 j=1

Jocul
n o
e= Pf ; uei
i
i2N
se numeşte extensia aleatoare a jocului .

2
Jocuri matriceale
Într-un joc matriceal particip¼a doi juc¼ atori (I; II), cu interese
opuse , …ecare dispunând de un num¼ ar …nit de strategii. Dac¼ a juc¼
atorul I are m
strategii şi juc¼atorul II; n strategii atunci sunt posibile m n situaţii. Funcţia
de câştig a primului juc¼ ator pe mulţimea de situaţii este dat¼
a de o matrice m n;
A = (aij ) :
Pentru juc¼ atorul II matricea de câştig difer¼
a doar prin semn. Dac¼ a juc¼
atorul
I alege strategia i iar juc¼ atorul II strategia j, câştigul juc¼atorului I este egal
cu aij iar cel al juc¼ atorului II este egal cu -aij :
Teoria jocurilor matriceale porneşte de la supoziţia c¼ a juc¼atorul I se str¼
a-
duieşte s¼a-şi asigure un câştig garantat cât mai mare, iar juc¼atorul II, o pierdere
garantat¼a cât mai mic¼a. Este un principiu de comportare caracterizat prin pru-
denţ¼
a şi dorinţa de securitate împotriva celor mai proaste situaţii.
Dac¼a juc¼ atorul I alege strategia i, atunci oricare ar … strategia j aleas¼ a de
juc¼
atorul II, câştigul minim (sigur) pe care-l poate obţine (în situaţia cea mai
nefavorabil¼ a) este:
i = min aij :
1 j n

Cea mai bun¼ a strategie pur¼


a i0 a juc¼
atorului I este aceea pentru care câştigul
sigur este maxim:
vI = max i = max min aij :
1 i m 1 i m1 j n

Strategia pur¼a astfel determinat¼a se numeşte strategia maxmin.Decizia maxmin


este optim¼a în sensul urm¼ ator: ea garanteaz¼a un câştig cel puţin egal cu vI ; în
timp ce pentru orice alt¼ a decizie exist¼
a riscul de a obţine mai puţin dec¼ at vI :
Deci vI este cel mai mare câştig pe care juc¼atorul I îl poate obţine în mod sigur
indiferent de valoarea j.
Analog, dac¼ a juc¼
atorul II alege strategia j, oricare ar … strategia i aleas¼ a de
juc¼
atorul I, pierderea maxim¼ a pe care o poate el avea este:

j = max aij
1 i m

şi deci strategia optim¼


a j0 pentru juc¼
atorul II trebuie s¼
a-i asigure cea mai mic¼
a
pierdere maxim¼ a:
vII = min j = min max aij :
1 j n 1 j n1 i m

Strategia pur¼
a astfel determinat¼
a se numeşte strategia minmax. Strategiile
maxmin şi minmax sunt atractive prin aceea c¼
a ofer¼
a securitate. Este adev¼
arat¼
a
relaţia vI vII adic¼
a:

max minaij min maxaij :


i j j i

Dac¼a vI = vII = ai0 j0 strategiile corespunz¼ atoare i0 şi j0 se numesc strategii


optime pure, (i0 ; j0 ) se numeşte soluţia jocului, num¼
arul v = ai0 j0 se numeşte

3
valoarea jocului. Deci situaţia cea mai favorabil¼
a în acelaşi timp pentru ambii
juc¼
atori este aceea când se pot folosi anumite strategii i0 ; j0 pentru care

(1) max minaij = min maxaij = v = ai0 j0 ;


i j j i

adic¼
a juc¼
atorul I s¼
a poat¼a primi valoarea v, iar juc¼ atorul II s¼a-l împiedice s¼a
primeasc¼a mai mult de v. Situaţia (i0 ; j0 ) este o situaţie de echilibru, nici un-
uia dintre juc¼
atori nu-i convine s¼
a-şi schimbe strategia, dac¼ a adversarul nu-şi
schimb¼a optiunea. Egalitatea (1) se realizeaz¼ a dac¼a şi numai dac¼ a matricea A
are un element şa adic¼
a un element ai0 j0 care este cel mai mic în linia sa şi cel
mai mare pe coloana sa.

În general, pe o suprafaţ¼ a punctul care se bucur¼


a de proprietatea c¼ a este
în acelaşi timp punct de minim pe o direcţie şi punct de maxim pe direcţia
perpendicular¼ a se numeste punct şa, întrucât suprafaţa respectiv¼
a se prezint¼
a
geometric sub form¼ a de şa.

Teorema 1.
Condiţia necesar¼a şi su…cient¼a ca
max minaij = min maxaij
i j j i

este ca s¼a existe un punct (i0 ; j0 ) 2 f1; :::; mg f1; :::; ng astfel încât aij0 ai0 j0 ai0 j
oricare ar … i 2 f1; :::; mg şi j 2 f1; :::; ng :

Observaţie
Dac¼
a matricea nu are un element şa, ca de exemplu matricea
1 1
1 1
atunci vI < vII iar situaţia determinat¼
a de strategiile de maxmin şi de minmax
nu este o situaţie de echilibru. Asemenea strategii nu pot … recomandate drept
optime. Astfel de jocuri (care nu au soluţii în strategii pure) sunt îns¼
a cel mai
des întâlnite; de aceea a fost necesar¼
a l¼
argirea clasei deciziilor admisibile de la
strategii pure la strategii mixte.
Strategii mixte
Când partidele se repet¼ a, juc¼
atorii pot alege strategii pure cu anumite frecvenţe
sau probabilit¼aţi şi atunci se spune c¼ a utilizeaz¼
a o strategie mixt¼a. O strategie
mixt¼a (sau strategie aleatoare) a juc¼ atorului I este o probabilitate pe mulţimea
sa de strategii pure
X = f 1 ; :::; m g. Mulţimea strategiilor sale mixte este:

e= P
m
X x 2 <m =x 0; xk = 1 :
k=1
T
Componenta xk a strategiei mixte x = (x1 ; :::; xk ; :::; xm ) reprezint¼
a probabili-
k
tatea ca juc¼
atorul I s¼
a foloseasc¼
a strategia pur¼
a k: Strategia mixt¼
a (0; :::; 1; :::; 0)

4
care const¼
a în alegerea sigur¼
a a strategiei pure k se poate identi…ca cu k deci
e
X X:Analog, mulţimea strategiilor mixte pentru juc¼
atorul II este:
P
n
Ye = y 2 <m =y 0; yk = 1 :
k=1
T T
Fie x = (x1 ; :::; xm ) o strategie mixt¼
a pentru juc¼atorul I şi y = (y1 ; :::; yn )
o strategie mixt¼ a pentru al doilea juc¼ator.Câştigul mediu al juc¼ atorului I este

m X
X n
(1) F (x; y) = aij xi yj = xT Ay
i=1 j=1

unde x şi y sunt strategii independente.


Tripletul
e Ye ; F
e = X;
e şi y 0 2 Ye
se numeşte extensia aleatoare a jocului. Strategiile mixte x0 2 X
care veri…c¼
a relaţia :

(2) F (x; y 0 ) F (x0 ; y 0 ) f şi y 2 Ye


F (x0 ; y); (8) x 2 X

se numesc strategii mixte optime, (x0 ; y 0 ) este soluţia jocului, iar v = F (x0 ; y 0 )
este valoarea jocului.
Jocul matriceal
(aij + k)i=1;m ; k 2 <;
j=1;n

are aceeasi mulţime de strategii optime, valoarea jocului …ind îns¼ a v + k: Astfel
putem s¼ a-l lu¼am pe k su…cient de mare ca matricea s¼ a aib¼
a toate elementele
pozitive şi valoarea jocului diferit¼
a de zero.
Strategiile optime x0 şi y 0 şi valoarea v a unui joc a c¼
arui matrice este
A = (aij )m;n sunt soluţii ale urm¼ atoarelor sisteme de inegalit¼
aţi:

8 P
m
>
>
> v6 aij x0i ; j = 1; n
< i=1
(3) P
m
>
> x0i = 1
>
: i=1
x0i 0; i = 1; m

şi
8
> P
n
>
> v aij yj0 ; i = 1; m
>
< j=1
(4) P
n
>
> yj0 = 1
>
> j=1
:
yj0 0; j = 1; n:
Sistemele (3) şi (4) se obţin luând în (2)

5
T j T
i
x= 0; :::; 1; :::; 0 ; i = 1; m şi y = 0; :::; 1; :::; 0 ; j = 1; n:

Sistemul (3) se interpreteaz¼ a astfel: împotriva tuturor strategiilor pure ale juc¼ a-
torului II, strategia mixt¼ a x0 a juc¼atorului I s¼a dea un câştig de cel puţin v.
Analog se interpreteaz¼ a sistemul (4).
Utilizarea unei strategii mixte înseamn¼ a aplicarea unui mecanism aleator pentru
alegerea unei strategii pure; pentru juc¼ atorul I un asemenea mecanism trebuie

a aib¼
a m st¼ ari, starea i având probabilitatea xi . De exemplu, strategia mixt¼ a
x = 52 ; 35 pe X = f1; 2g înseamn¼ a alegerea strategiei 1 cu probabilitatea 25 şi a
strategiei 2 cu probabilitatea 35 astfel: se amestec¼ a 2 bile albe şi 3 bile negre, se
extrage apoi la întâmplare una dintre ele şi se alege strategia pur¼ a 1, dac¼a bila
extras¼a este alb¼a şi respectiv 2 dac¼ a aceasta este neagr¼ a.
Dac¼a în sistemul de inegalit¼ aţi (3) se consider¼
a primele n restricţii cu
egalitate, se obţine sistemul de ecuaţii
8 m
> P
>
> aij x0i = v; j = 1; n
<
i=1
>
> P
m
>
: x0i = 1:
i=1

Orice soluţie nenegativ¼ a a acestui sistem (dac¼a exist¼


a) este şi soluţie a sistemului
(3). Valoarea lui v astfel obţinut¼ a se introduce în sistemul de inegalit¼ ati (4)
şi se obţin strategiile optime ale juc¼ atorului II. Pentru g¼ asirea strategiilor
optime care veri…c¼ a unele restricţii cu inegalitate strict¼ a se impune folosirea
altor metode.

Interpretarea dualit¼
aţii în termeni de teoria jocurilor
G. Dantzig demonstreaz¼ a leg¼
atura care exist¼
a între problemele de progra-
mare liniar¼a şi jocurile matriciale. El arat¼
a c¼a orice problem¼ a de programare
liniar¼
a poate constitui un joc matricial cu sum¼ a nul¼
a între doi parteneri, iar orice
astfel de joc se poate transforma într-o problem¼ a de programare liniar¼ a. Re-
zolvarea unui joc matricial se poate reduce la rezolvarea unui cuplu de probleme
duale de programare liniar¼ a.
Problema juc¼atorului I
T
S¼a se g¼ a vectorul x0 = x01 ; x02 ; :::; x0m
aseasc¼ şi num¼arul vI satisf¼
acând
condiţia ca împotriva tuturor strategiilor pure (şi prin urmare şi a celor mixte)
ale juc¼ a x0 a juc¼
atorului II, strategia mixt¼ atorului I s¼ a dea un câştig de cel
puţin vI care trebuie maximizat:
8
> max(vI )
>
> Pm
>
>
< aij x0i + vI 0; j = 1; n
i=1
(5) P
m
>
> 0
> i=1xi = 1
>
>
:
x0i 0; i = 1; m:

6
Problema juc¼atorului II
T

a se g¼ a vectorul y 0 = y10 ; :::; yn0
aseasc¼ şi num¼
arul vII ; satisf¼
acând condiţi-
ile:
8
>
> min(vII )
>
> Pn
>
> aij yj0 vII 0; i = 1; m
<
j=1
(6) Pn
>
> yj0 = 1
>
>
>
> j=1
: 0
yj 0; j = 1; n:
Se veri…c¼
a uşor c¼
a problemele (5) şi (6) formeaz¼
a un cuplu de probleme duale.
Ambele au soluţii admisibile, de exemplu pentru (5)

1
x0i = ; i = 1; m; vI = minaij
m i;j

este soluţie admisibil¼


a.
Prin urmare, conform teoremei fundamentale a dualit¼ aţii ambele probleme au
soluţii optime , iar valorile optime ale funcţiilor obiectiv sunt egale.
Pm P
m P
m
În (5) not¼ am xi = v1I x0i : Rezult¼
a x0i = vI xi şi deci vI = 1= xi adic¼ a
i=1 i=1 i=1
P
m P
m P
m
maxvI = min xi : Restricţiile aij x0i + vI 0; j = 1; n devin aij xi 1:
i=1 i=1 i=1
Problema (5) se transform¼
a în:

8 Pm
>
> min xi
>
< i=1
(7) Pm
>
> aij xi 1; j = 1; n
> i=1
:
xi 0; i = 1; m:
1 0
Analog, punând yj = vII yj ; j = 1; n se obţine:
8
> Pn
>
> max yj
>
< j=1
(8) Pn
>
> aij yj 1; i = 1; m
>
>
: j=1
yj 0; j = 1; n:

Dac¼a (x1 ; :::; xm ) şi (y 1 ; :::; y n ) sunt soluţiile optime ale problemelor liniare duale
(7) şi (8) atunci valoarea v a jocului se obţine din:

m n
1 X X
= xi = yj ;
v i=1 j=1

iar strategiile optime ale jocului sunt:

7
x0 = (vx1 ; :::; vxm ) şi y 0 = (vy 1 ; :::; vy n ).
Observaţii
1. Strategia aleatoare x0 îi garanteaz¼a juc¼
atorului I un câştig mediu v şi el
poate … oprit prin strategia y 0 s¼a obţin¼
a mai mult. Dac¼ a juc¼atorul I alege o
alt¼
a strategie, el risc¼
a.
2. Componentele strategiei optime y 0 sunt nule pentru acele strategii pure j
pentru care:
a1j x01 + a2j x02 + ::: + amj x0m > v
pentru a-l împiedica pe primul juc¼ator s¼
a câştige mai mult decât valoarea v.
Analog, componentele strategiei optime x0 sunt nule pentru acele strategii pure
i pentru care:
ai1 y10 + ai2 y20 + ::: + ain yn0 < v
pentru a-l împiedica pe juc¼ atorul II s¼ a piard¼
a mai puţin decât valoarea jocului
v. Într-adev¼ar, dac¼a aplic¼am teorema slab¼ a a ecarturilor complementare cuplu-
lui de probleme duale (5) şi (6) rezult¼ a c¼
a variabila dual¼a asociat¼
a unei restricţii
primale care este veri…cat¼ a strict, trebuie s¼
a …e nul¼a. Analog, variabila primal¼ a
asociat¼a unei restricţii duale care este veri…cat¼a strict, trebuie s¼
a …e nul¼
a.

Trecerea de la doi la trei sau mai multi juc¼


atori este di…cil¼
a. Juc¼
atorii pot
acţiona …e independent, …e în cadrul unor coaliţii.

8
Cursul 10
Introducere în teoria aştept¼
arii
Teoria aştept¼ arii (a …relor de aşteptare, a cozilor) studiaz¼ a caracteristi-
cile sistemelor ce pot produce fenomene de aşteptare, datorit¼ a solicit¼
arii unui
anumit serviciu de c¼ atre un num¼ ar de ”clienţi” ale c¼aror sosiri au un caracter
aleator. Scopul acestui studiu este de a crea o baz¼ a teoretic¼ a pentru adoptarea
deciziilor capabile s¼a înl¼
ature fenomenul de aşteptare sau s¼ a-l limiteze la un nivel
acceptabil.
Fie un sistem în care se execut¼ a o anumit¼ a activitate sau se efectueaz¼ a un
anumit serviciu. Obiectele asupra c¼ arora se execut¼ a activitatea sau serviciul
respectiv se numesc clienţi iar sistemul se numeşte sistem de servire. O instalatie
care nu poate deservi decât un singur client (în acelaşi timp) se numeşte staţie
de servire. În cazul în care clienţii sosesc prea des, ei trebuie s¼ a aştepte pân¼a
când devine disponibil¼ a o staţie de servire sau s¼a renunte la serviciul respectiv;
dac¼ a sosesc prea rar, staţiile de servire au de aşteptat. Clienţii care aşteapt¼ a
sau staţiile de servire neocupate formeaz¼ a un …r de aşteptare (coad¼ a). Regulile
dup¼ a care se dispun în aşteptare clienţii , ordinea în care aceştia sunt serviţi, se
numeşte disciplina …rului de aşteptare. Ea poate urma regula ”primul venit -
primul servit” -(First In First Out)- sau cu anumite priorit¼ aţi.
O problem¼ a de teoria aştept¼ arii apare atunci când exist¼ a anumite costuri
asociate atât timpului de aşteptare al clienţilor cât şi staţiilor de servire neocu-
pate şi exist¼a posibilitatea controlului asupra intensit¼ aţii sosirii clienţilor sau
asupra num¼ arului de staţii de servire astfel încât s¼ a se minimizeze suma cos-
turilor. Astfel de probleme apar în managementul sistemelor de comunicaţii
şi de transport, în transporturile aeriene când aeronavele aşteapt¼ a aprobarea
de aterizare de la turnul de control, în b¼ anci, servicii de s¼ an¼ atate, sisteme de
operare, dar şi în dirijarea şi controlul funcţion¼ arii în timp real a reţelelor de
calculatoare.
Sistemul analizat poate … unul în funcţiune dar care nu are performanţe
satisf¼ac¼
atoare, în acest caz se pune problema de a decide ce trebuie modi…cat
pentru a creşte performanţele. În alte situaţii poate … cazul unor sisteme a‡ate
în faza de proiectare pentru care trebuie stabilite caracteristicile astfel încât s¼ a
ating¼ a performanţele dorite.
Elemente tipice ale modelelor teoriei aştept¼
arii.

Caracteristicile modelelor.
Sosirile clienţilor în sistem şi durata serviciului au un caracter aleator. Vom
considera urm¼ atoarele m¼ arimi aleatoare:
-num¼arul de clienţi care intr¼a în sistem într-o perioad¼a de timp dat¼a;
-intervalul de timp dintre dou¼a sosiri consecutive;
-durata de servire a unui client.
În practic¼
a, legile de probabilitate ale acestor variabile aleatoare se determin¼
a
prin prelucrarea datelor statistice.

1
Elementele necunoscute ale unui sistem de aşteptare sunt:
- timpul de aşteptare al unui client;
-timpul de neocupare al staţiilor;
- num¼arul de clienţi existenţi în …rul de aşteptare;
-num¼arul de clienţi existenţi în sistem.
Toate sunt variabile aleatoare şi se urm¼ areşte determinarea repartiţiilor lor sau
m¼acar a unor valori medii.
Num¼ arul sosirilor înregistrate într-un interval de lungime t este deseori o vari-
abil¼a aleatoare cu distribuţie Poisson, adic¼ a probabilitatea de a avea k sosiri
într-un interval de lungime t este:

k
( t)
pk (t) = e t ; k = 0; 1; :::; > 0:
k!

a vedem în ce condiţii apare aceast¼ a situaţie. Fie pk (t0 ; t) probabilitatea de a
avea k intr¼
ari în sistem în intervalul (t0 ; t0 + t) ; t0 0: Presupunem c¼ a pk (t0 ; t)
satisface condiţiile:
a) pk (t0 ; t) nu depinde de t0 (ci numai de k şi de lungimea t a intervalului
de timp)
pk (t0 ; t) = pk (t) :
Sosirile sunt independente între ele şi totodat¼
a independente de data observ¼
arii.
b) Probabilitatea ca s¼a soseasc¼a doi sau mai multi clienţi într-un interval de
timp foarte mic este neglijabil¼ a faţ¼
a de lungimea intervalului, sau altfel spus,
este practic imposibil s¼
a înregistr¼
am dou¼ a sau mai multe sosiri simultane (clienţii
sosesc individual):
p>1 (h) = o (h) ;
a lim o(h)
unde prin o (h) am notat o funcţie de h (h > 0) cu proprietatea c¼ h = 0.
h!0

c) Probabilitatea înregistr¼
arii unei singure sosiri în intervalul de timp (t; t + h)
este practic, pentru intervale foarte mici, proporţional¼ a cu lungimea intervalului
:
0
p1 (h) = h + o (h) :
Dac¼ a sunt îndeplinite condiţiile a), b), c) atunci probabilitatea de a avea cel
puţin o sosire într-un interval de lungime h este:

p 1 (h) = p1 (h) + p>1 (h) = h + o1 (h) ;

iar probabilitatea de a nu avea nici o sosire într-un interval de lungime h este:

p0 (h) = 1 p 1 (h) = 1 h o1 (h) :

2
Teorema 1
În condiţiile a), b), c) pentru orice t 0 avem :
k
( t) t
pk (t) = e ; k = 0; 1; 2; :::; > 0:
k!

Probabilitatea de a avea k sosiri în unitatea de timp este:

k
pk =
e ; k = 0; 1; :::; > 0:
k!
Valoarea medie a num¼arului de sosiri în sistem în unitatea de timp este:

1
X k 1
X k 1
k: e = e = :e :e = :
k! (k 1)!
k=1 k=1

Parametrul se numeşte intensitatea sosirilor.


Variabila aleatoare cu repartiţie Poisson este legat¼a de o clas¼a de evenimente
aleatoare numite evenimente ”rare”; ele sunt independente stochastic, apar în
timp şi au proprietatea c¼a nu exist¼a nici un moment de timp în vecin¼atatea
c¼aruia s¼a se concentreze apariţia lor. Variabila Poisson reprezint¼a num¼arul
de astfel de evenimente ce apar pe unitatea de timp. Ea este strâns legat¼a de
variabila exponenţial¼a de parametru : Astfel, dac¼a este intervalul de timp
dintre dou¼a apariţii consecutive de evenimente rare (cu parametrul ) atunci
are o repartiţie exponenţial¼a negativ¼a de acelaşi parametru :
Într-adev¼ ar, s¼
a evalu¼
am funcţia de repartiţie F (t) a variabilei aleatoare :

F (t) = p ( t) = 1 p ( > t) :

Dac¼a durata dintre dou¼ a apariţii consecutive de evenimente rare este mai mare
decât t înseamn¼a c¼
a în intervalul de lungime t nu are loc nici un eveniment, adic¼
a:
t
p ( > t) = p0 (t) = e :

Rezult¼
a:
t
F (t) = 1 e ;
care este chiar funcţia de repartiţie a unei variabile aleatoare exponenţiale de
parametru : Valoarea medie a unei variabile aleatoare exponenţiale de para-
metru este 1 :
Exemplu
Presupunem c¼a durata de livrare a unei comenzi este o variabil¼a aleatoare
cu distribuţie exponenţial¼a negativ¼a cu media de 10 zile. Care este probabilitatea
ca livrarea s¼a dureze mai mult de 21 zile?
Rezolvare:

3
Durata medie 1 = 10:
Rezult¼
a = 0:1:
0:1 21
p ( > 21) = e = 0:122456:
Vom nota cu m num¼ arul elementelor populaţiei din care pot proveni clienţii
(mulţimea surs¼a ) în sistemul de aşteptare. Mulţimile formate dintr-un num¼ ar
mare de clienţi se consider¼a in…nite deoarece apar unele simpli…c¼ ari din punct
de vedere matematic.
Num¼ arul de clienţi din …rul de aşteptare şi num¼
arul de clienţi existenţi în
sistem (în aşteptare sau în curs de servire) sunt variabile aleatoare pe care le
not¼am cu # respectiv n. M¼ arimile n şi # pot depinde de timp: n = n (t) şi
# = # (t) ; …ind procese stochastice discrete reprezentând num¼ arul de clienţi
existenţi în sistem (respectiv în …rul de aşteptare) la momentul t. Analog, vom
nota cu = (t) num¼ arul staţiilor neocupate la momentul t.
Cunoaşterea repartiţiei procesului n (t) permite determinarea multor carac-
teristici ale modelelor de aşteptare. Fie pk = pk (t) probabilitatea s¼
a existe k
unit¼aţi (clienţi) în sistem la momentul t. Distribuţia lui n este:

1
X
0 1 2 m
n: ; pk = 1:
p0 p1 p2 pm
k=0

O caracteristic¼
a a procesului n (t) este c¼
a variaţia valorilor sale pe intervale mici
de timp, nu este mare, ea …ind determinat¼ a de intr¼ arile şi ieşirile din sistem.
Valoarea medie a num¼arului de unit¼aţi din sistem este:

m
X
n= kpk :
k=0

Dac¼a not¼
am cu s num¼
arul staţiilor de servire, atunci distribuţia variabilei aleatoare
# este:
0 1
1 2 m s 0
#:@ Ps A:
ps+1 ps+2 pm pk
k=o

Valoarea medie a num¼arului de unit¼aţi din …rul de aşteptare este:

m
Xs m
X
#= kps+k = (k s) pk :
k=1 k=s+1

Distribuţia variabilei este:


0 1
s s 1 1 0
:@ P
m A:
p0 p1 ps 1 pk
k=s

4
Valoarea medie a num¼arului de staţii neocupate este:

s
X
= pk (s k) :
k=0

Între n; #; ; s avem relaţia n = # + s:


Într-adev¼
ar:
X X X
# = pk (k s) pk (s k) = pk (k s) =
k>s 0 k s k 0
X X
= kpk s pk = n s:
k 0 k 0

Model de aşteptare cu o staţie de servire, cu sosiri Poisson


şi timp de servire exponenţial.

Presupunem c¼ a ‡uxul sosirilor este Poisson cu parametrul iar durata de


servire a unui client este o variabil¼ a aleatoare cu distributie exponenţial¼ a de
parametru : Presupunem c¼ a lungimea …rului de aşteptare nu este limitat¼ a, c¼
a
un client intrat în sistem nu-l mai p¼ ar¼
aseşte decât dup¼ a ce a fost servit. Ordinea
servirii este ordinea intr¼ arii în sistem. Clientul servit p¼ ar¼aseşte sistemul, iar
urm¼ atorul (dac¼a exist¼
a) ocup¼ a staţia instantaneu. Timpul de servire al unui
client este independent de momentul intr¼ arii în serviciu şi de timpii de servire
sau de momentele intr¼ arii în sistem a altor unit¼ aţi.
Atunci când avem …r de aşteptare, ‡uxul ieşirilor se comport¼ a ca un ‡ux Poisson
de parametru :
h
p( h) = 1 e =1 (1 h + o (h)) = h + o (h) :

Exemplu
Durata de servire a unui client este o variabil¼a aleatoare cu distribuţie expo-
nenţial¼a negativ¼a cu media de 12 minute. Care este probabilitatea ca num¼arul
de serviri într-o or¼a s¼a …e egal cu 2?
Rezolvare:
Consider¼am unitatea de timp ora. Durata medie de servire este 1 = 15 ore:
Rezult¼a c¼
a num¼arul mediu de serviri intr-o or¼
a este = 5:Num¼arul de serviri
intr-o or¼
a, atunci când avem …r de aşteptare este poissonian de parametru =
5:Probabilitatea de a avea k serviri în unitatea de timp este:
k
pk =
e ; k = 0; 1; :::
k!
Probabilitatea ca num¼
arul de serviri într-o or¼
a s¼a …e egal cu 2 este

52 5
p2 = e = 0; 08:
2!

5
Presupunem c¼
a intensitatea sosirilor nu dep¼
aşeşte intensitatea serviciilor

(valoarea medie a num¼ arului de clienţi care ar putea … serviţi în unitatea de


timp dac¼ a staţia ar … ocupat¼ a un timp îndelungat f¼ ar¼a întrerupere). Raportul
= < 1 se numeşte intensitatea tra…cului.
Pentru a determina ecuaţiile diferenţiale ale st¼ arii sistemului s¼ a not¼
am cu
pk (t) probabilitatea ca în sistem s¼ a existe k unit¼ ati la momentul t.
Fie k 1 şi h > 0 şi s¼ a evalu¼ am pk (t + h) : Evenimentul c¼ a în sistem exist¼
ak
unit¼ aţi la momentul t + h se scrie ca o reuniune de evenimente incompatibile,
…ecare dintre acestea …ind o intersecţie de trei evenimente:
I -exist¼ a k unit¼ ati în sistem la momentul t şi nu are loc nici o sosire în intervalul
(t; t + h) şi nu are loc nici o ieşire în intervalul (t; t + h); sau:
II -exist¼ a k + 1 unit¼ aţi în sistem la momentul t şi are loc o ieşire în intervalul
(t; t + h) şi nu are loc nici o sosire în intervalul (t; t + h); sau:
III -exist¼ a k 1 unit¼ aţi în sistem la momentul t şi nu are loc nici o ieşire în
intervalul (t; t + h) şi are loc o sosire în intervalul (t; t + h); sau:
IV -exist¼ a k unit¼ aţi in sistem la momentul t şi are loc o ieşire în intervalul
(t; t + h) şi are loc o intrare în intervalul (t; t + h); sau:
V -exist¼ a k + s unit¼ aţi în sistem la momentul t şi au loc r ieşiri în intervalul
(t; t + h) şi au loc q intr¼ ari în intervalul (t; t + h) unde r = s + q.
Reuniunea evenimentelor de tipul V are o probabilitate de forma o(h).
Atunci:
pk (t + h) = pk (t) (1 h o1 (h)) (1 h o2 (h)) +
+pk+1 (t) (1 h o1 (h)) ( h + o2 (h)) +
+pk 1 (t) ( h + o1 (h)) (1 h o2 (h)) +
+pk (t) ( h + o1 (h)) ( h + o2 (h)) + o (h) :
Rezult¼
a, neglijând termenii care conţin pe h la diverse puteri

pk (t + h) pk (t) o (h)
= ( + ) pk (t) + pk+1 (t) + pk 1 (t) +
h h
şi f¼
acând h ! 0 :
0
pk (t) = ( + ) pk (t) + pk+1 (t) + pk 1 (t) ; k 1:

Pentru k = 0, consider¼ am evenimentele:


I -nu exist¼a unit¼
aţi în sistem la momentul t şi nu are loc nici o sosire în intervalul
(t; t + h); sau:
II -exist¼a o unitate în sistem la momentul t şi are loc o ieşire între t şi t + h şi
nu are loc nici o intrare între t şi t + h.
Atunci:

6
p0 (t + h) = p0 (t) (1 h o1 (h))+p1 (t) ( h + o2 (h)) (1 h o1 (h))+o3 (h) :
Rezult¼a: 0
p0 (t) = p0 (t) + p1 (t) :
Vom rezolva sistemul format din ecuaţiile diferenţiale pentru cazul staţionar
pentru care probabilit¼ aţile pk (t) nu depind de t. Acest lucru se întâmpl¼
a dup¼
a
ce sistemul se stabilizeaz¼ a.
0
Dac¼a pk (t) = pk ; 8 k 0 atunci pk (t) = 0; 8 k 0 şi sistemul devine:

p0 = p1
( + ) pk = p k 1 + pk+1 ; k 1:
Din prima ecuaţie rezult¼ a p1 = p0 = p0 : Luând k = 1 în a doua ecuaţie
a p2 = 2 p0 şi din aproape în aproape:
rezult¼
k
pk = p0 (k 1):

Pentru a determina p0 ; se foloseşte faptul c¼


a pk ; k 0 formeaz¼
a un sistem com-
plet de probabilit¼
aţi:
P
1
pk = 1;
k=0
de unde
P
1
k
p0 = 1 ) p0 = 1
k=0

pk = (1 ) k (k 0) :
Cu ajutorul acestor probabilit¼
aţi se pot determina caracteristicile modelului în
cazul staţionar.
Valoarea medie a num¼arului de clienţi a‡aţi în sistem este:
P
1 P
1 P
1
n= kpk = (1 ) k k 1
= (1 ) dd k
=
k=0 k=1 k=1

= (1 ) dd 1 = (1 ) : (1 1 )2 = (1 ) :
Valoarea medie a num¼arului de clienţi a‡aţi în …rul de aşteptare:

1
X 1
X 1
X 2
#= (k 1) pk = kpk pk = (1 p0 ) = :
1 1
k=1 k=0 k=1

Probabilitatea ca num¼
arul clienţilor din sistem s¼
a nu dep¼
aşeasc¼
a un num¼
ar dat
k:
k
X k
X k+1
j 1 k+1
p (n k) = pj = (1 ) = (1 ) =1 :
j=0 j=0
1

Probabilitaea s¼a avem cel puţin un client în sistem se obţine din probabilitatea
ca num¼arul clienţilor din sistem s¼
a …e mai mare decât un num¼ ar dat k:

7
k+1 k+1
p (n > k) = 1 p (n k) = 1 1 = :
Pentru k = 0,
p (n > 0) = :
Densitatea de repartiţie a timpului de aşteptare ts al unui client (din mo-
mentul sosirii în sistem pân¼
a în momentul ieşirii din sistem) este:

( )t
( )e ; t>0
f (t) =
0 ; t 0;

adic¼
a durata de aşteptare a unui client este o variabil¼
a aleatoare exponenţial¼
a
de parametru : Valoarea medie a timpului de aşteptare în sistem este:
1
ts = :
Este veri…cat¼
a relaţia:
ts = n :
Durata de servire …ind exponenţial¼a de parametru ;
a durata medie de servire 1 :
rezult¼
Valoarea medie a timpului de aşteptare în …rul de aşteptare este:

1 1 # n
tf = = = = :
( )

În practic¼a, se stabilesc parametri şi şi se veri…c¼a validitatea ipotezei Poisson


pentru sosiri şi serviri, se calculeaz¼
a durata medie de aşteptare a unui client şi
a unei staţii şi cunoscând costul pe unitatea de timp al aştept¼ arii clienţilor şi
al aştept¼
arii staţiei, se caut¼
a s¼a se determine acel ritm de sosire sau acea
capacitate a staţiei care minimizeaz¼ a costul global al sistemului.

8
Cursul 11
Modele de aşteptare cu sosiri Poisson
şi timp de servire exponenţial
Procese de naştere şi moarte
Modelele matematice de aşteptare se pot studia cu ajutorul proceselor de
naştere şi moarte, f¼ acând analogie cu variaţia volumului populaţiilor biologice
care depinde de natalitate(intr¼ ari) şi mortalitate(ieşiri).
În unele cazuri se poate presupune c¼ a probabilitatea înregistr¼ arii unei noi
sosiri sau a unei ieşiri în intervalul (t; t + h) este h + o (h) şi respectiv h +
o (h) ; adic¼a ea nu depinde de num¼ arul de clienţi existenţi în sistem la momentul
t. În practic¼ a îns¼
a, trebuie ţinut seama de acest lucru. De exemplu s-a constatat

a pe m¼ asur¼a ce num¼ arul clienţilor din sistem creşte intensitatea sosirilor scade
deoarece unii clienţi renunţ¼ a s¼
a stea la o coad¼ a prea lung¼ a. De asemenea când
num¼ arul elementelor colectivit¼ aţii din care pot proveni clienţii este …nit.
Se presupune c¼ a sosirile satisfac condiţiile a) şi b) din cursul 10 şi proprietatea
0
c ) probabilitatea înregistr¼
arii unei sosiri în intervalul (t; t + h) ştiind c¼
a în
sistem exist¼
a k clienţi la momentul t este
kh + o (h) ; k 0;
adic¼
a intensitatea sosirilor depinde de num¼
arul de clienţi existenţi deja în sistem.

Analog,pentru ieşiri, probabilitatea s¼


a avem o ieşire între t şi t + h, ştiind c¼
a în
sistem exist¼
a k unit¼aţi la momentul t este

kh + o (h) ; k 1:

acând acelaşi raţionament ca la modelul anterior obţinem sistemul de ecuaţii
diferenţiale ale unui proces de naştere şi moarte:

0
p0 (t) = 0 p0
(t) + 1 p1 (t)
0
pk (t) = ( k + k ) pk (t) + k 1 pk 1 (t) + k+1 pk+1 (t) ; k 1;

unde pk (t) este probabilitatea ca în sistem s¼


a existe k unit¼
aţi la momentul t. În
cazul staţionar sistemul devine:

0 p0 = 1 p1
( k + k ) pk = k 1 pk 1 + k+1 pk+1 ; k 1:

Rezult¼
a:

0 0 1 0 1 ::: k 1
p1 = :p0 ; p2 = p0 ; :::; pk = p0 :
1 1 2 1 2 :::: k

1
P
1
Din condiţia pk = 1; se obţine p0 .
k=0

P
1
0 1 ::: k 1
Dac¼
a S1 = < 1; atunci
1 2 :::: k
k=1

1
p0 = :
1 + S1
Observaţie
Pentru k = ; k 0 şi k = ,k 1 se obţine modelul de aşteptare cu o
staţie, sosiri Poisson, timp de servire exponenţial .
Model de aşteptare cu populaţia din care provin clienţii - …nit¼
a
Clienţii provin dintr-o populaţie …nit¼ a cu m elemente. Exist¼ a S staţii de
servire paralele. Dac¼ a toate staţiile de servire sunt ocupate, clientul trebuie s¼a
aştepte pân¼ a ce una din ele se elibereaz¼a. Clienţii sosesc independent unul faţ¼
a
de altul.
Dac¼a în sistem sunt k unit¼ aţi, atunci în afara sistemului au r¼ amas m
k. Intensitatea sosirilor k sau servirilor k depinde de num¼ arul k de clienţi
existenţi deja în sistem. Modelul este un caz particular al proceselor de naştere
şi moarte în care:
(m k) ; 0 k<m
=
k
0; k > m:

Dac¼a S = 1 şi durata de servire a unui client este o variabil¼


a aleatoare expo-
nenţial¼
a cu parametrul ; atunci luând

k = ; 1 k m;

putem calcula probabilit¼


atile pk (0 k m) ; ca în sistem s¼
a existe k unit¼
aţi
:
k
0 1 ::: k 1 m(m 1):::(m k+1):
pk = p0 = k p0 :
1 2 ::: k

Probabilitatea p0 se calculeaz¼
a din egalitatea
P
m
pk = 1:
k=0
Dac¼
a avem S staţii de servire cu 1 < S < m atunci se ia
8
< k ; 1 k<S
k = S ; S k m
:
0; k > m:
În acest caz probabilit¼
aţile pk ; (0 k m) ; ca în sistem s¼
a existe k unit¼
aţi
se determin¼a cu formulele

2
k k
Cm p0 pentru 1 k < S
pk = k! k k
S!S kS :Cm p0 pentru S k m

p0= 1 :
SP 1 m
k + S S P Ak k
k=0
ck
m S!
k=1
m (S)

Cu ajutorul acestora se poate calcula num¼arul mediu de clienţi din …rul de


aşteptare:

m
X
#= (k S) pk
k=S+1

şi num¼arul mediu de clienţi în sistemul de aşteptare:

P
m
n= kpk :
k=0
De asemenea, num¼arul mediu de staţii ocupate:

S
X1 m
X
s0 = kpk + S pk
k=1 k=S

ne permite s¼a determin¼


am timpul mediu cumulat cât staţiile se a‡a¼ f¼
ar¼
a între-
rupere în serviciu:
1
tc = s0

şi timpul mediu cumulat de lenevire al staţiilor care este egal cu durata medie
cât un client st¼
a în afara sistemului, înmulţit¼
a cu num¼arul mediu de staţii care
lenevesc:
1
te = (S so ) :

Model de aşteptare cu o staţie, sosiri Poisson,


timp de servire exponenţial,
num¼ar limitat de clienţi admişi în sistem
În sistem nu se admit decât cel mult N clienţi. Un client care g¼
aseşte la sosire
N clienţi în sistem este respins. Modelul este un caz particular al proceselor de
naştere şi moarte în care

k = ;k 1

şi

3
; k = 0; 1; :::; N 1
k =
0; k N:

Rezult¼
a
k
p0 ; 0 k N
pk =
0; k > N;

unde = şi
P
N P
N N +1
p k = 1 = p0 k
= p0 1 1 )
k=0 k=0

1
p0 = N +1
:
1

Valoarea medie a num¼arului de clienţi din sistem este:


P
N P
N
k 1 (1 ) P
N
k 1
n = kpk = k 1 N +1 = 1 N +1 k =
k=0 k=1 k=1
(1 ) d P
N
k
1 N +1 d =
k=1
N
(1 ) N N +1
= 1 (1 N +1) dd 1 = 1 :1 (N +1)
1 N +1
+N
:

Valoarea medie a num¼arului de clienţi din …rul de aşteptare este:


P
N P
N P
N
#= (k 1) pk = kpk pk = n p1 (1 p0 p1 ) = n + p 0 1=
k=2 k=2 k=2
2 N 1 N
= 1 :1 N
1
+(N 1)
N +1 :

Model de aşteptare cu S staţii paralele,


sosiri Poisson, timp de servire exponenţial,
num¼ ar nelimitat de clienţi
Presupunem c¼ a ‡uxul sosirilor este Poisson cu parametrul ; durata de
servire a unui client este exponenţial¼ a de parametru :
Ordinea servirii este ordinea intr¼ arii în sistem. Dac¼ a la intrarea în sistem un
client g¼aseşte staţii libere, atunci ocup¼ a instantaneu una dintre acestea. Dac¼ a
toate staţiile sunt ocupate, atunci se aşeaz¼ a la coad¼a. Când se elibereaz¼ a o
staţie, clientul de la coad¼ a care urmeaz¼ a, o ocup¼ a instantaneu. Modelul este
un caz particular al proceselor de naştere şi moarte în care:

k = ; k = 0; 1; 2:::

k ; 1 k S
k =
S ; k > S:

4
Atunci, pentru k S; avem
k
0 1 ::: k 1
pk = p0 = k :p0
1 2 :::: k k!

şi pentru k > S; rezult¼


a
k
0 1 ::: k 1
pk = p0 = S!S k S k :p0 :
1 ::: s s+1 ::: k

P
1
Probabilitatea p0 se determin¼
a din condiţia pk = 1: De asemenea vom
k=0
presupune
S < 1:
Rezult¼
a:
1
p0 = SP1
;
k S
k! + S!(1
k=0 S )

unde
= :
Valoarea medie a num¼arului de clienţi din …r este:
P
1
SS
P
1 k
S S+1
P
1 k
#= (k S) pk = p0 S! k Sk S! Sk
:
k=S k=S k=S

Notând = S < 1; se obţine:

SS
P
1
k 1 S S+1 ( )
S
# = p0 S! k( ) S! : 1
k=S

P
1
k 1 d
P
1
k d ( )S S( )S 1
S( )S +( )S
k( ) = d ( ) = d : 1 = (1 )2
k=S k=S
S
SS ( )
S+1 S+1
1 :( )
#= S! (1 :p
)2 0
= (S 1)! : (S )2
:p0 = (S 1)!(S )2
:p0 :

arimea reprezint¼
a aici intensitatea de tra…c a sistemului .

Num¼arul mediu de clienţi în sistem se calculeaz¼


a astfel: se adaug¼ a la lungimea
medie a cozii num¼
arul mediu de clienţi care se g¼
asesc în staţiile de serviciu :
S. = = :

Deci
S
:
n= 2 :p0 + :
(S 1)! (S )

Durata medie de aşteptare în şir este:


S
#
tf = = 2 :p0 :
S:S! (1 S )

5
Durata medie de timp pe care un client îl petrece în sistem este tf la care se
adaug¼
a durata medie a unui serviciu adic¼
a:

1
ts = tf + :

Probabilitatea ca un client s¼a aştepte este:

1
X S
p (n S) = pk = :p0 :
k=S
S! 1 S

Gradul de neocupare al staţiilor de servire:


tl = 1 S :

6
Cursul 12
Simularea …relor de aşteptare
Modelele unor sisteme de aşteptare sunt studiate analitic, adic¼ a se pot de-
duce formule matematice ale caracteristicilor sistemului. Pentru alte modele de
aşteptare mai complicate nu exist¼ a soluţii analitice. De exemplu, când sistemul
de aşteptare are un num¼ ar mare de staţii de servire, cu o topologie complex¼ a,
când repartiţiile timpilor de sosire şi/sau de servire sunt de un tip complicat
(gamma, Weibull, 2 ; amestec¼ ari de repartiţii) sau când exist¼ a priorit¼
aţi.
Pentru astfel de situaţii se recomand¼ a simularea digital¼a. În informatic¼ a,
termenul a fost introdus de John von Neumann. Când în evoluţia unor sisteme
intervin şi elemente aleatoare, studiul comport¼ arii lor în timp se poate face cu
ajutorul calculatoarelor. Pentru aceasta, sistemului real i se asociaz¼ a un model
de simulare care este folosit apoi pentru a produce, prin intermediul calculatoru-
lui, succesiunea cronologic¼a de st¼
ari prin care va trece sistemul, considerându-se
dat¼a starea sa iniţial¼
a.
Simularea digital¼ a se poate folosi cu succes la proiectarea sistemelor de
aşteptare, f¼acând experienţe pe model cu diferiţi parametri de intrare. La con-
struirea unui model de simulare, partea cea mai di…cil¼ a este procedeul de ”a
mişca”sistemul în timp astfel încât s¼ a nu se ajung¼a la situaţia în care diferitele
elemente ale sistemului s¼ a parcurg¼ a intervale diferite de timp. De aceea este
necesar¼ a introducerea în modelul de simulare a unei variabile numit¼ a ceasul
simul¼arii care s¼a m¼asoare scurgerea timpului real în care se simuleaz¼ a sistemul,
cu scopul de a menţine ordinea corect¼ a în timp a evenimentelor. Aceast¼ a vari-
abil¼a ia la început valoarea zero, apoi este crescut¼ a la …ecare pas al procesului
de simulare. Validarea algoritmului de simulare se face comparând rezultatele
simul¼ arii cu cele analitice, obţinute în anumite cazuri particulare.
În mediul Matlab, în Statistics Toolbox exist¼a generatori pentru 20 de tipuri
de variabile aleatoare: exponenţiale negative (exprnd), Poisson (poissrnd) ,de
tip gamma (gamrnd) şi beta (betarnd), normale (normrnd), binomial¼a (binornd)
, 2 (chi2rnd), etc.
Toţi aceşti generatori folosesc generatorul de numere pseudoaleatoare (de dis-
tribuţie uniform¼a ) random. Codul acestor rutine (funcţii) Matlab se poate tip¼
ari
cu comanda
type_ function_ name ,
se poate redenumi şi modi…ca pentru o aplicaţie proprie.
Leg¼atura dintre distribuţia uniform¼ a şi alte distribuţii continui este dat¼
a de
teorema lui Hincin:
Dac¼a F este funcţia de repartiţie a unei variabile aleatoare continue X atunci
F ( X) este uniform¼a pe [0,1], adic¼a F ( X)=U sau F 1 ( U)=X .
Consecinţ¼a
Dac¼a obţinem valorile de selecţie U 1 , U 2 ; :::;U n ale lui U , atunci putem
obţine valorile de selecţie X 1; X 2 ; :::;X n ale lui X cu formula

1
X i =F 1 ( U i ), i=1,...,n
(metoda invers¼a pentru generarea unei variabile aleatoare continue).
Se poate astfel simula orice variabil¼a aleatoare X dac¼ a se cunoaşte funcţia
sa de repartiţie F şi se poate calcula uşor şi f¼
ar¼ a F 1 :De
a erori funcţia invers¼
exemplu pentru o variabil¼ a aleatoare exponenţial¼ a de parametru se poate
folosi formula:
1
X=- ln U :

Metoda invers¼
a pentru simularea unei variabile aleatoare discrete
Fie X o variabil¼
a aleatoare discret¼
a:
m
X
a1 a2 a3 am
X : ; pk = 1:
p1 p2 p3 pm
k=1

Funcţia sa de repartiţie este:


8
>
> 0; daca x<a1
>
>
>
> p 1 ; a1 x < a2
>
>
< p 1 + p2 ; a2 x < a3
F (x ) = :::::::::::
>
>
> p1 + p2 + ::: + pk ;
> ak x < ak+1
>
>
>
> ::::::::::::
:
1; am x

Pentru simularea variabilei aleatoare X ; se genereaz¼a U uniform¼a pe [0,1] şi


se caut¼
a valoarea ai ; astfel încât F (ai ) =U . Dac¼a C este vectorul cu compo-
Pi
nentele C(i):= pj ; algoritmul este urm¼ atorul:
j=1

U :=random
i :=1; while U > C(i) do i :=i+1;
X := ai
Simularea unui sistem de aşteptare cu o staţie
Vom folosi urm¼ atoarele notaţii:
- intervalul de timp (aleator) dintre dou¼
a sosiri consecutive;
- durata (aleatoare) a unui serviciu;
tf - timpul de aşteptare al unui client oarecare în …rul de aşteptare;
tl - timpul de neocupare (lenevire) a staţiei de servire de la terminarea unui
serviciu la începerea altui serviciu;
ttf - timpul total de aşteptare al tuturor clienţilor;
ttl - timpul total de neocupare (lenevire) al staţiei de serviciu;
N - num¼ arul total de servicii simulate;

2
I - contor care num¼
ar¼
a serviciile.
Repartiţiile variabilelor aleatoare şi se presupun cunoscute iar para-
metrii lor sunt date de intrare, împreun¼a cu num¼ arul total de servicii simulate
N . Celelalte sunt variabile aleatoare de ieşire şi cu ajutorul lor se pot calcula
urm¼atoarele valori medii:
-durata medie de aşteptare a unui client:

ttf
tf = ;
N
-durata medie de lenevire a staţiei:

ttl
tl = :
N
Presupunem c¼ a pentru variabilele aleatoare şi dispunem de subrutine de
generare care pot … apelate de programul de simulare.
În …g. 1, în primul bloc se fac iniţializ¼ arile şi se citesc valorile parametrilor
repartiţiilor variabilelor aleatoare şi : Blocul (2) simuleaz¼ a venirea unui client.
Blocul (3) calculeaz¼ a timpul de venire ajustat. Apoi în blocul (4) se genereaz¼ a
un serviciu (m¼ arindu-se contorul I cu o unitate). Aceast¼ a durat¼a de serviciu se
compar¼ a cu timpul de sosire ajustat, în blocul (5). Dac¼ a > atunci staţia de
serviciu este ocupat¼ a, astfel încât în blocul (6), se ia timpul de lenevire al staţiei
nul, se calculeaz¼ a timpul de aşteptare al clientului care urmeaz¼ a s¼
a …e servit
primul şi se adun¼ a acest timp, la timpul total de aşteptare. Dac¼ a dimpotriv¼ a
; staţia este neocupat¼ a şi atunci în blocul (7) se ia timpul de aşteptare al
clientului ce va … servit primul, egal cu zero, se determin¼ a timpul de lenevire al
staţiei şi se adun¼ a acest timp la timpul total de lenevire. În blocul (8) se decide
dac¼ a simularea se termin¼ a sau nu, iar în blocul (9) se calculeaz¼ a parametrii de
ieşire.
Simularea unui sistem de aşteptare cu priorit¼
aţi
Modelele în care disciplina de servire se stabileşte dup¼ a criterii care nu iau
în considerare ordinea intr¼ arii clienţilor în sistem, se numesc modele cu pri-
oritate.Clienţii sunt împ¼ arţiţi în clase de priorit¼ aţi. În cadrul aceleiaşi clase
clienţii sunt serviţi în ordinea FIFO ("primul sosit-primul servit"). Clienţii pot
sosi în sistem dup¼ a aceeaşi repartiţie sau dup¼ a repartiţii ale timpului între sosiri
diferite.
Presupunem c¼ a avem dou¼ a clase: prioritatea 1 este mai puternic¼ a decât
prioritatea 2. Se cunosc probabilit¼ aţile p1 şi p2 cu care sosesc cele dou¼ a tipuri
de clienţi. Presupunem c¼ a timpul de intersosire i al clienţilor de prioritate i are
repartiţia Fi (x); i = 1; 2:Atunci timpul de intersosire al clienţilor (amestecaţi)
este o compunere discret¼ a a celor dou¼ a variabile 1 şi 2 adic¼ a funcţia sa de
repartiţie este de forma:
F (x) = p1 F1 (x)+p2 F2 (x); unde p1 + p2 = 1:

3
Amestecarea discret¼
a poate … interpretat¼
a astfel:
= i cu probabilitatea pi ; i = 1; 2:
Simularea timpului de intersosire se face astfel:
Generaz¼a un indice i cu repartiţia discret¼a:

1 2
I: ; p1 + p2 = 1:
p1 p2
Genereaz¼a i având funcţia de repartiţie Fi (x);
:= i .
Presupunem c¼ a dispunem de metode de generare a variabilelor i .
Schema logic¼ a din …gura 1 se modi…c¼ a astfel: la generarea lui în blocul 2
clientul se aşeaz¼
a în coada Q1 sau Q2 corespunz¼ atoare priorit¼
aţii. În blocul 4
se simuleaz¼ a timpul de servire conform priorit¼aţii celei mai mari dac¼ a Q1 este
nevid¼a sau priorit¼ aţii mai mici dac¼
a Q1 este vid¼ a. Se pot calcula timpii de
aşteptare în funcţie de priorit¼
aţi.

Model de simulare pentru un sistem de aşteptare cu


S staţii paralele
Consider¼ am c¼ a duratele serviciilor în cele S staţii sunt variabile aleatoare cu
funcţii de repartiţie diferite.
Lista variabilelor modelului este urm¼ atoarea:
- intervalul de timp dintre dou¼ a sosiri consecutive;
(j) - durata unui serviciu la staţia j,1 j S;
tf - timpul de aşteptare al unui client în …rul de aşteptare;
tl - timpul curent de lenevire al staţiei care începe un serviciu;
ms - momentul sosirii ultimului client (suma intervalelor de timp de sosire);
mp(j) - momentul plec¼ arii din staţia j a ultimului client;
mpmin - cel mai mic dintre mp (j), 1 j S;
l - staţia cu cel mai mic mp(j), adic¼ a mpmin = mp(l);
N - num¼ arul de sosiri simulate care trebuie s¼ a …e mult mai mare decât S;
I - contor care num¼ ar¼
a sosirile;
sds(j) - suma duratelor de serviciu ale staţiei j;
ttf (j) - suma aştept¼ arilor clienţilor serviţi de staţia j;
ttl(j) - timpul total de lenevire al staţiei j;
dif = ms mpmin:
În …g. 1 se d¼ a schema logic¼ a a modelului de simulare . În blocul (1) se citesc
datele: N , parametrii variabilelor aleatoare de intrare şi (j); j = 1; S şi se
fac iniţializ¼
arile. Se presupune c¼ a la momentul iniţial exist¼ a S clienţi în sistem.
Deci condiţiile iniţiale sunt:

4
5

Figure 1:
ms = 0; mp(j) = 0;
sds(j) = ttf (j) = ttl(j) = 0; 1 j S:

În blocul (2) se d¼ a lui I valoarea S. În bucla (3) - (4) se simuleaz¼ a servirea


primilor S clienţi, atribuind valori vectorilor mp(j) - momentul plec¼ arii din
staţia j a primului client servit de ea şi se reactualizeaz¼a timpul total de funcţionare
al staţiei j. Blocul (5) stabileşte staţia l care va efectua serviciul urm¼ ator,
iar blocul (6) num¼ ar¼
a clientul care urmeaz¼ a s¼a soseasc¼a. Dac¼a I N atunci
înseamn¼ a c¼a nu au fost înc¼ a simulate N sosiri şi se execut¼ a blocul (8) care
genereaz¼ a o nou¼a sosire, reactualizeaz¼ a momentul ultimei sosiri şi calculeaz¼ a
diferenta dif. Cu ajutorul semnului variabilei dif (blocul 9) se stabileşte dac¼ a
clientul sosit asteapt¼ a, caz în care se execut¼ a blocul (10) sau este servit imediat,
caz în care se execut¼ a blocul (11)(staţia l a lenevit în intervalul de timp de
lungime dif ). În urm¼ atorul bloc se genereaz¼ a un nou serviciu şi se actualizeaz¼a
timpul total de funcţionare al staţiei l. Apoi se actualizeaz¼ a momentul plec¼ arii
din staţia l a ultimului client şi se trece din nou la blocul (5).
Vezi …gura 1 pe pagina urmatoare.
.

6
Start

(1)
Citşte parametrii de intrare:
ms=0, mp(j)=0, 1 ≤ j ≤ S
sds(j)=ttf(j)=ttl(j)=0

(2)
I=S
(3)
Do j=1, S

(4)
Generează τ(j)
mp(j) = τ(j)
sds(j) = sds(j)+τ(j)

A
(5)
mpmin=min{mp(j)}
1≤ j ≤ S
mpmin=mp(l)
(6)
I=I+1
(7)
Calculează
I>N Da şi listează
rezultatele
Nu (8)
Generează θ
ms=ms+ θ Stop
dif=ms-mpmin

(9)
<0 >0
dif
(10) (11)
tf=-dif tl=dif
ttf(l)=ttf(l)+tf ttl(l)=ttl(l)+tl

Generează τ(l)
sds(l) = sds(l)+τ(l)

7
mp(l)=mpmin+ τ(l)

Figura 1

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