You are on page 1of 23

Laborator/Seminar 2

Probleme de optimizare convexa

1 Introducere
Problemele de optimizare,
min f(x)
x2R

s.l. gi(x) 0; i = 1; : : : ; m;

(1)

Ax b = 0;
in care functia obiectiv f si functiile ce de nesc constrangerile de inegalitate gi
sunt convexe se numesc probleme de optimizare convexe. Convexitatea detine
un rol crucial, deoarece problemele cu aceasta proprietate prezinta trasaturi
teoretice \foarte bune" (e.g., punctele de minim locale sunt, de asemenea, puncte
de minim globale); si ceea ce este mai important, pot rezolvate numeric in mod e
cient, ceea ce nu este valabil pentru problemele neconvexe.

Vom studia mai departe notiunile de functie convexa si multime convexa


pentru a sublinia proprietatile remarcabile ale problemelor convexe.

1.1

Multimi convexe

Pentru o expunere clara si concisa, introducem urmatoarele de nitii:


n

De nitie 1. Multimea S R se numeste convexa daca pentru oricare doua


puncte x1; x2 2 S si un scalar 2 [0 1] avem x1 +(1 )x2 2 S (i.e. segmentul
generat de oricare doua puncte din S este inclus in S).
X1

X2

2
1

Figure 1: Exemplu de multime convexa (stanga) si multime neconvexa


(dreapta).

x
3

Exemplu 1. Fie multimea Ln =


2 R : kxk t , denumita si conul
t
Lorentz sau conul de \inghetata". Trasati gra cul acestei multimi in Matlab.
Rezolvare. Figura conului este data de urmatoarea secventa de cod:
function create_cone
[y1,y2]=meshgrid(-1:0.01:1,-1:0.01:1);
y3=sqrt(y1.^2+y2.^2);
dom=[y3>1];
z3=y3;
z3(dom)=inf;
figure(1) hold on
surf(y1,y2,z3)
set(gca,'FontSize',15)
hold off
end

Figure 2: Con de ordinul doi (con Lorentz).

Studiul multimilor convexe si al proprietatilor acestora faciliteaza analiza


multimilor fezabile aferente problemelor de tipul (1) si a sirurilor generate de
algoritmi cu restrictii la aceste multimi. In continuare vom introduce si analiza
notiunea de functie convexa.

1.2

Functii convexe
n

De nitie 2. Functie f : R ! R se numeste convexa daca domeniul sau efectiv


domf este o multime convexa si
f( x1 + (1

)x2)

f(x1) + (1
2

)f(x2);

pentru orice x1; x2 2 domf si 2 [0; 1].

f(x)+(1 ) f(y))

f( x+(1 )y)
0.6

0.4

0.2

0.2

0.4

0.6

0.8

Figure 3: Exemplu de functie convexa f(x) = x .


Inegalitatea lui Jensen denota faptul ca f este o functie convexa daca si
numai daca
p

ixi)if(xi)

f(
i=1

=1

Xi
X
pentru orice xi 2 domf and i 2 [0; 1]; i i = 1.
P
Interpretarea geometrica a
convexa, e doua puncte din domeniul sau x; y 2 domf, atunci valorile func-tiei
evaluate in punctele din intervalul [x; y] sunt mai mici decat cele a ate pe
segmentul cu capetele (x; f(x)) si (y; f(y)).
convexi tatii es te foarte si mpla. Pentr u o functie

Remarca 1. O functie este convexa daca si numai daca restrictia domeniului


sau la o dreapta (care intersecteaza domeniul) este de asemenea, convexa.
Cu alte cuvinte, f este convexa daca si numai daca oricare ar x 2 domf si o
x
directie d, functia g( ) = f(x + d) este convexa pe domeniul f 2 R + d 2 domfg.
Aceasta proprietate este foarte utila in problemele ce implica teste de
convexitate ale functiilor.
Pentru a sublinia legatura dintre notiunile introduse mai sus, facem urmatoarea observatie: orice multime M de nita ca multimea subnivel a unei
n
anumite functii f, i.e. M = fx 2 R : f(x) 0g, este convexa daca si numai daca
functia f este convexa. Demonstratia acestei a rmatii se a a in sectiunea de
probleme rezolvate.
Exemplu 2. Fie functia convexa f :

R !R
[ 0:5 1]x, Trasati gra cul functiei in Matlab.

; f(x) =

1
2

xT

2 1 x+
1 0:5

Rezolvare. Gra cul functiei este generat de urmatoarea secventa de cod:


function create_parab
[x,y] = meshgrid([-10:.2:10]);
3

z=x.^2+0.25*(y.^2)-x.*y-0.5*x+y;
surf(x,y,z,gradient(z))
end

250
200
150
100
50
0

10
5

50
10

0
5

10

10

Pachet CVX

CVX reprezinta un sistem de modelare a problemelor de optimizare convexa


pe baza limbajului Matlab. CVX realizeaza transformarea comenzilor Matlab
intr-un limbaj de modelare, cu posibilitatea de declarare a constrangerilor si
functiei obiectiv prin intermediul sintaxei Matlab standard.
De exemplu, consideram urmatorul model de optimizare convexa:
min kAx bk2
x2R

s.t. Cx = d
kxk1 1:
Urmatoarea secventa de cod genereaza si rezolva o instanta aleatoare a
aces-tui model:
m = 10; n = 8; p = 2;
A = randn(m,n); b = randn(m,1); C =
randn(p,n);
d
=
randn(p,1);
cvx_begin
variable x(n)
minimize(norm(A*x - b, 2))
subject to
C*x == d
norm(x, Inf) <= 1
cvx_end

2.1

Instalare

Un scurt ghid de instalare presupune urmatorii pasi:


1. Descarca de la adresa : http://cvxr.com/cvx/ sierul .zip sau .tar.gz;
2. Dezarhiveaza intr-un director dorit (diferit de directorul toolbox al Matlabului);
3. Porneste Matlab-ul;
4. Deplasati directorul curent in directorul ce contine CVX si executati in
consola comanda cvx_setup;
5. In unele cazuri (de cele mai multe ori in Linux) este nevoie de crearea
sau modi carea sierului startup.m ce asigura utilizatorul ca nu va
introduce comanda cvx_setup la ecare pornire a Matlab-ului.

2.2

Preliminarii

Daca instalarea este realizata cu succes, incepem prin a preciza ca orice


program CVX se scrie in interiorul unei functii Matlab. Pentru a diferentia
continutul codului CVX de restul programului Matlab, programele CVX incep
cu comanda cvx_begin si se termina cu cvx_end. Valorile variabilelor create
in portiunea de cod Matlab se pot folosi ca parametrii in problemele de
optimizare rezolvate cu CVX.
La inceputul oricarui program CVX se de nesc variabilele de decizie si dimensiunile acestora, e.g.
m = 10; n = 8;
A = randn(m,n); b = randn(m,1);
cvx_begin
variable x(n) minimize(
norm(A*x-b) )
cvx_end
n

In acest exemplu, variabila de decizie este un vector din R .

2.3

Elemente de baza

Variabilele CVX se declara folosind comanda variable si speci carea dimensiunii variabilei, inainte de a se utiliza in constrangeri sau in expresia functiei
obiectiv. Sintaxa declararii are urmatoarea forma:
variable x(10)
variable Y(20,10)
variable Z(5,5,5)
Sunt disponibile o varietate de optiuni aditionale pentru precizarea structurii
matriceale, in cazul in care variabila de decizie este de tip matrice,e.g.

variable Y(50,50) symmetric


variable Z(100,100) hermitian toeplitz
Pentru lista intreaga a optiunilor consultati
5

http://cvxr.com/cvx/doc/basics.html
Declararea functiei obiectiv a problemei de optimizare necesita precizarea
tipului de problema (e.g. minimizare, maximizare) prin intermediul cuvintelor
cheie minimize si maximize,e.g.,
minimize( norm( x, 1 ) )
maximize( geo_mean( x ) )
Precizam ca este imperativ ca functia obiectiv sa e convexa cand folosim
minimize si concava cand folosim maximize.
Constrangerile suportate de modelele CVX sunt cele de egalitate (liniare)
impuse prin operatorul ==, inegalitate impuse de prin operatorii <= si prin operatorul >=. Pentru constrangeri de tip box (lant de inegalitati) este disponibila
sintaxa l<=x<=u.
Exemplu 3. Determinati bila de raza maxima (i.e. centrul si raza) din spatiul
Euclidian bidimensional, ce poate inscrisa intr-un poliedru descris de inegalitati liniare.
T

Rezolvare. In cazul general, ind dat setul de inegalitati liniare a i x bi, formularea problemei in termeni de optimizare este data de:
max

x2R ;r2R

s.t. a i x + rkaik2

bi; 8i = 1; : : : ; n;

unde r reprezinta raza bilei, iar x centrul acesteia.


Alegand datele inegalitatilor liniare, coordonatele centrului si raza bilei
cau-tate sunt generate de urmatoarea secventa de program:
% Generare date de intrare a1
= [ 2; 1];
a2 = [ 2; -1];
a3 = [-1; 2];
a4 = [-1; -2]; b =
ones(4,1);
% Crearea si rezolvarea problemei de optimizare
cvx_begin
variable r(1)
variable x_c(2)
maximize ( r )
a1'*x_c + r*norm(a1,2) <= b(1);
a2'*x_c + r*norm(a2,2) <= b(2);
a3'*x_c + r*norm(a3,2) <= b(3);
a4'*x_c + r*norm(a4,2) <= b(4);
cvx_end
% Generare figura
x = linspace(-2,2); theta =
0:pi/100:2*pi;
plot( x, -x*a1(1)./a1(2) + b(1)./a1(2),'b-');
6

hold on
plot( x, -x*a2(1)./a2(2) + b(2)./a2(2),'b-'); plot( x, x*a3(1)./a3(2) + b(3)./a3(2),'b-'); plot( x, x*a4(1)./a4(2) + b(4)./a4(2),'b-');
plot( x_c(1) + r*cos(theta), x_c(2) + r*sin(theta), 'r');
plot(x_c(1),x_c(2),'k+')
xlabel('x_1')
ylabel('x_2')
title('Bila de raza maxima inscrisa intr-un poliedru 2D'); axis([-1 1 -1
1])
axis equal

Exemplu 4. Determinati ltrul FIR cu cel mai apropriat comportament de cel al


unei functii de transfer date Hd(!). Realizati proiectarea ltrului prin intermediul
minimizarii erorii absolute maxime (norma in nit).
Rezolvare. Formularea problemei de mai sus in termeni de optimizare
conduce la rezolvarea urmatoarei probleme:
min maxjH(!) Hd(!)j;
!2[0; ]

unde H este functia raspunsului in frecventa, iar variabila de decizie are rolul
raspunsului la impuls.
O aproximare abordabila a problemei de mai sus presupune extragerea
unui set nit m de frecvente !i; i = 1; : : : ; m, si rezolvarea problemei,i.e.
min
!

max H(!

[0; ] 1 i

)
i

mj

(! ) ;
d

ij

Mai departe, prezentam secventa de cod ce rezolva problema de optimizare:

n = 20;
m = 15*n;
w = linspace(0,pi,m)'; % omega
7

%******************************************************************** % Construim un
raspuns in frecventa dorit
%********************************************************************
D = 8.25;
Hdes = exp(-j*D*w);

% valoare intarziere
% raspuns in frecventa dorit

% Filtru Gaussian cu faza liniara (decomentati liniile de mai jos pentru proiectare)
% var = 0.05;
% Hdes = 1/(sqrt(2*pi*var))*exp(-(w-pi/2).^2/(2*var));
% Hdes = Hdes.*exp(-j*n/2*w);
%*********************************************************************
% Rezolvam problema minimax de proiectare a filtrului
%*********************************************************************
% A reprezinta matricea folosita la calculul raspunsului in frecventa
% A(w,:) = [1 exp(-j*w) exp(-j*2*w) ... exp(-j*n*w)]
A = exp( -j*kron(w,[0:n-1]) );
% formularea optimala a filtrului Chebyshev
cvx_begin
variable h(n,1)
minimize( max( abs( A*h - Hdes ) ) )
cvx_end
% verificam daca problema a fost rezolvata cu succes
disp(['Problem is ' cvx_status])
if ~strfind(cvx_status,'Solved') h = [];
end
%*********************************************************************
% Generam figurile aferente filtrului
%*********************************************************************
% figura raspunsului la impuls pentru filtrul FIR
figure(1)
stem([0:n-1],h)
xlabel('n')
ylabel('h(n)')
% figura raspunsului in frecventa H =
[exp(-j*kron(w,[0:n-1]))]*h; figure(2)
% magnitudine
subplot(2,1,1);
plot(w,20*log10(abs(H)),w,20*log10(abs(Hdes)),'--')
xlabel('w')
ylabel('mag H in dB')
axis([0 pi -30 10])
8

legend('optimizat','dorit','Location','SouthEast') % faza
subplot(2,1,2)
plot(w,angle(H)) axis([0,pi,-pi,pi])
xlabel('w'), ylabel('faza H(w)')

Exercitii rezolvate
1. Fie multimea S descrisa de
n

S = fx 2 R : a i x bi; c j x = dj ; i = 1; : : : ; m; j = 1; : : : ; pg =
n

fx 2 R : Ax b; Cx = dg:
Aratati ca multimea este convexa.
Rezolvare. Se arata ca pentru orice x1; x2 2 S si 2 [0; 1] rezulta x1 + (1
)x2 2 S.
Daca x1; x2 2 S atunci avem
Ax
1
(

b; Cx1 = d
b;

Ax2

Cx2

= d:

Notand x = x1+(1 )x2, putem naliza demonstratia prin urmatoarea


observatie:
Ax = Ax1 + (1
Cx = Cx1 + (1

)Ax2

b + (1

)Cx2 = d + (1

)b = b
)d = d:

In acest fel am aratat ca multimea de nita mai sus este convexa.

Remarca 2. Multimile de nite de egalitati si inegalitati liniare, cum este


cea din enuntul problemei 1, se numesc poliedre.
2. Aratati ca urmatoarele multimi se pot de ni sub forma unor poliedre:
n

(a) S1 = fx 2 R : x 0; kxk1 = 1g,


n

(b) S2 = fx 2 R : kxk1 1g.


Rezolvare. :
(a) Observam urmatoarele echivalente:
X

S1 = fx 2 R : x 0; xi = 1g
i=1

= fx 2 R : x 0; xi = 1g
i=1

= fx 2 R : Inx 0; [1 : : : 1]x = 1g;


unde In reprezinta matricea identitate de ordin n.
(b) Urmand acelasi rationament avem:
n

S1 = fx 2 R : max jxij 1g
1 i n

= fx 2 R : jxij 1; 8i = 1; : : : ; ng
n
n
= fx 2 R : 1 xi 1; 8i = 1; : : : ; ng = fx 2 R
: xi 1; xi 1; 8i = 1; : : : ; ng
1
In
.3
n
= fx 2 R :
In x
2 .. g;
617

45
unde In reprezinta matricea identitate de ordin n.
3. Fie multimile
x
n+1

: kxk t con Lorentz sau con de ordin II;


2R
(a) Ln =t
n
n
(b) S+ = fX 2 S : X 0g con semide nit.
Aratati ca multimile de mai sus sunt conuri auto-duale.
Rezolvare: (a) Din de nitia conului dual avem
n

Ln = fy 2 R : hx; yi 0; 8x 2 Ln:
Problema se reduce la a demonstra ca Ln = Ln. Ceea ce este
n n

n n

echivalent cu satisfacerea simultana a incluziunilor: L L si L L .

10

Aratam prima incluziune. Fie y =

2 Ln, atunci pentru orice x =

x
t1

2 Ln avem:
T

hx; yi = y1 x1 + vt 0:
Stiind ca x 2 Ln atunci kxk t. Ramane sa demonstram ca kyk v.

(2)

Din ipoteza ca (2) are loc pentru orice vector x 2 Ln, atunci inegalitatea

este satisfacuta, de asemenea, pentru un x ales. Alegand x =

x1
t

y1

k yk

1 1 si inlocuind in (2) obtinem:


T
y1 y1

ky1k + v = ky1k + v 0;
din care rezulta prima incluziune.

Pentru a doua incluziune, e y = v


2 Ln; x
=
inegalitatea Cauchy-Schwartz jhx; yij kxkkyk rezulta
T

y1 x1 + vt > ky1kkx1k + vt

x
t1

2 Ln .

Din

vt + vt = 0;

unde in a doua inegalitate am folosit ipoteza x; y 2 Ln.


In concluzie, pentru orice y 2 Ln avem ca y 2 Ln.
n

(b) Similar, aratam prin dubla incluziune ce S+ = S+ : Fie Y 2 S+


atunci Tr(Y X) 0. Se observa urmatoarele relatii:
T

x Y x = Tr(x Y x) = Tr(Y xx ) = Tr(Y X) 0:


n

deci Y 2 S+ .
Pentru a doua incluziune, presupunem Y; X matrici pozitiv semide nite.
Remarcam urmatoarea relatie:
Tr(Y X) = Tr(Y V

V ) = Tr(V Y V

) 0;

(3)

in care am folosit descompunerea valorilor proprii corespunzatoare matricii


X si proprietatea de permutare a functiei matriceale Tr( ). In concluzie,

Y 2 S+

datorita relatiei (3), de unde reiese a doua incluziune.

4. Aratati ca urmatoarele functii sunt convexe:


(a) f(x) = log x; domf = (0; 1):
1

(b) f(x) = 2 x Qx + q x + r; domf = R ; Q 0:


(c) f(x; t) =

; domf = R

(d) f(x) = kAx bk; A 2 R

m n

(0; 1):
n

; domf = R :

(e) f(X) = log det X; domf = S++:


11

Rezolvare: (a) Observam ca functia f(x) = log x satisface conditiile de


ordin 2 ale convexitatii:
00

(x) = x 2 > 0; 8x > 0:


1

(b) De asemenea, hessiana functiei f(x) = 2 x Qx + q x + r este data


2
de r f(x) = Q. Remarcam ca functia este convexa deoarece matricea Q
0 (este pozitiv semide nita).
T
(c) In aceeasi maniera aratam ca functia f(x; t) =
x x este convexa pe
t

domeniul R

(0; 1]. Din calculul hessianei avem ca:


2
2
In
2x
f(x) =
;
t
t
T
T

2x

2x x

t2

unde cu In am notat matricea identitate de ordin n.

Pentru a determina daca functia indeplineste conditiile de ordin 2 ale


convexitatii observam ca:
T T

[u v ]

f(x)

T T

= [u v ]

2xv

t T xv
2x

tT
x u

2
T
=t u u
=

2 t2

+T

2u xv 2x uv 2x xv

2 T
T
T 2
3 t u u 2tu xv + x xv

= t 3 ktu xvk :
Tinand cont de domeniul de de nitie al functiei, remarcam ca pentru orice
u
vector

v , termenul drept din ultima egalitate este pozitiv. De aici este

evidenta proprietatea de pozitiv de nire a matricii hessiene corespunzatoare functiei.


(d) Deoarece functia k k este nediferentiabila in punctul 0, observam ca
functia f(x) = kAx bk nu este diferentiabila in punctele x ce satisfac Ax =
b. Fie doua puncte din multimea domf pentru care f(x1) = kAx1 bk; f(x2)
= kAx2 bk. Pentru a arata convexitatea functiei f, notam x = x1 + (1 )x2
si observam sirul de relatii:
f(x ) = f( x1 + (1

)x2)

= kA ( x1 + (1

)x2) bk

k (Ax1 b)k + k(1 )(Ax2 b)k


= kAx1 bk + (1 )kAx2 bk
= f(x1) + (1

)f(x2):

(e) Fie functia f(X) = log det X; X 2 S++ : Aratam convexitatea lui f prin
intermediul reducerii domeniului acesteia la o dreapta.
Mai exact, folosim urmatoarea proprietatea a functiilor convexe, pe care
o enuntam pentru cazul scalar (cu toate ca aceasta se pastreaza si in
12

cazul multivariabil): o functie f : R ! R este convexa daca pentru orice


parametri a; b 2 R, functia g(x) = f(ax + b) este convexa.
n

Revenind la functia matriceala, consideram matricile X 2 S++ ; D 2 S


si aratam ca functia g(t) = f(X + tD) este convexa, observand
urmatoarele egalitati:
g(t) = log det(X + tD)
1=2 1=2
= log det(X
X
+ tD)
1=2

= log det X

1=2

= log det X

In + tX

1=2

det In + tX

= log det X det In + tX

DX

1=2

1=2

1=2

DX

DX

1=2

1=2

1=2

1=2

det X

= log det X log det In + tX

1=2

DX

1=2

:
n

Pe de alta parte, stiind ca pentru orice matrice A 2 S , cu spectrul


(A) = f 1; : : : ; ng, transformarea B = In + tA; t 2 R, modi ca spectrul

astfel incat (B) = f1 + t 1; : : : ; 1 + t ng si det B = (1 + t i).


i=1

Pentru a aplica aceasta proprietate in sirul de relatii de mai sus, notam


1=2
1=2
Z = X
DX
avand spectrul (Z) = f 1; : : : ; ng. Rescriind g(t),
rezulta:
n

g(t) = log det X log


=1

= log det X

unde A 2 R

=1

(1 + t i)

iY

log(1 + t i):

Xi
Mai departe, observam ca functia h(u) = log(1 + tu) din componenta celei
de mai sus, este convexa, deoarece cea de-a doua derivata satisface
00

(u) =

(1 + t i)

0; 8u 2 R:
2

Stiind ca functia de nita de suma de functii convexe este convexa, ajungem


la concluzia ca g(t) este convexa in t. Deci, f(X) este convexa.

5. Determinati problema convexa de programare semide nita ce


aproximeaza urmatoarea problema neconvexa:
T

max x A Ax
x2R

s.l. kxk2
m n

si kxk2

= si=1 xi 2.

1;

P
13

n n
, functia Tr(Q)
Rezolvare. Reamintim ca pentru orice Q
2 R si x 2 R
T
T
satisface relatia: Tr(x
Qx) = Tr(Qxx ). Pe baza acestei relatii, problema
de mai sus se scrie sub urmatoare forma echivalenta:

max
X2R

Tr A AX

n n

s.l. rang(X) = 1; Tr(X) = 1:


Se obtine relaxarea convexa prin renuntarea la constrangerea de
egalitate neliniara rang(X) = 1. In concluzie, avem
T

max Tr A AX
X2R

n n

s.l. Tr(X) = 1:

Exercitii propuse
1. Precizati care dintre urmatoarele functii este convexa, concava sau
niciuna dintre variante. Argumentati.
2

(a) f(x1; x2) = 2x 1 4x1x2


(x1+3x2)
(b) f(x1; x2) = x1e
;
2

8x1 + 3x2;

(c) f(x1; x2) = x 1 3x 2 + 4x1x2 + 10x1 10x2;


2
2
2
(d) f(x1; x2; x3) = 2x1x2 + 2x 1 + x 2 + 2x 3 5x1x3;
2

(e) f(x1; x2; x3) = 2x 1

3x 2

2x 3 + 8x1x2 + 3x1x3 + 4x2x3:


axb

2. Determinati submultimea din fx 2 R : x > 0g pe care functia f(x) = e


este convexa. Parametrii a; b satisfac a > 0; b 1.
2 2

3. In ce domeniu al axei reale este convexa functia f(x) = x (x


n

1)?

4. Fie functiile convexe f1; : : : ; fm : R ! R. Aratati ca urmatoarele compuneri ale acestora sunt convexe:
(a) g(x) =

Pm
i=1

ifi(x); i > 0;

(b) h(x) = maxff1(x); : : : ; fm(x)g:


5. Fie multimea
n

K = fx 2 R : x 0g:
(a) Aratati ca multimea K este un con.
(b) Sa se determine conul dual.
r

= i=1 ix[i] este convexa in x, unde 1


6. Aratati ca functia f(x)
P
a c ea mai mare c omponenta din vec tor ul x.

0 si x[n] reprezinta a n -

7. Determinati functiile conjugate corespunzatoare functiilor:


14

(a) f(x) = max xi cu domeniul R ;


1 i n

(b) f(x) = X cu domeniul R


0.
(c) f(x) =

, unde p > 1. Comentati cazul in care p <

1=n
n
cu domeniul R++ ;

i=1 xi

Q
2
(d) f(x; t) = log(t

++

x x) cu domeniul f(x; t) 2 R

R : kxk2

tg.

8. Aratati ca functia:
1
f(x) =

1
x1

1
x2

x4

de nita pe domeniul in care toti numitorii sunt pozitivi, este convexa si


strict descrescatoare. (Cazul cand n = 4 nu prezinta nicio particularitate,
caracteristicile functiei se mentin si pentru cazul general.)
9. Presupunem ca functia f este convexa, iar 1 > 0, i
k

0; i = 1; : : : ; k si

i=1

i = 1. Fie x1; : : : ; xn 2 domf, aratati ca are loc inegalitatea:

f( 1x1 + + nxn)

1f(x1) + + nf(xn):

10. Aratati ca o functie f : R ! R este convexa daca si numai daca domeniul


domf este convex si
2
3
1
1
1
x
y
z

det f(x) f(y) f(z)


pentru orice x; y; z 2 domf si x < y < z.

0;

11. Aratati maximum-ul unei functii convexe peste poliedrul P = conv fv1; : : : ;
vkg este atins intr-unul dintre varfurile poliedrului, i.e.,
sup f(x) = max f(vi):
i=1;:::;k

x2P

Indiciu: Presupuneti ca a rmatia este falsa si folositi inegalitatea lui


Jensen.
12. Fie functia convexa f. De nim functia g dupa cum urmeaza:
g(x) = min

f( x)

>0

(a) Aratati ca functia g este omogena, i.e. g(tx) = tg(x) pentru orice t 0.
(b) Aratati ca daca o functie h este omogena si h(x) f(x) pentru orice x,
atunci avem h(x) g(x) pentru orice x.
15

(c) Aratati ca functia g de nita mai sus este convexa.


n

13. Fie functia omogena f : R ! R, i.e. f(tx) = tf(x); t 0; 8x 2 R . O functie


omogena se numeste subaditiva daca satisface, in plus, urmatoarea
relatie:
f(x) + f(y) f(x + y):
Aratati ca, pentru functiile omogene, subaditivitatea este echivalenta cu
convexitatea.
n

14. Fie multimea Q nevida, marginita si convexa in R , si functia f de nita


de:
T
f(x) = max y x:
y2Q

Functia f se numeste functia suport a multimii Q.


(a) Aratati ca functia f este omogena si convexa.
(b) Determinati explicit functia suport pentru multimile Qp de nite de
n

Qp = fx 2 R : kAxkp 1g ; p = 1; 2; 1;
unde matricea A este inversabila.
n

15. Fie functia convexa f : R ! R. De nim proprietatea de convexitate tare,


enumerand conditiile de ordin 0; 1 si 2 (ce depind de gradul de
diferentia-bilitate al functiei), intr-un mod similar cu cele
corespunzatoare cazului convex.
Pentru > 0, functia f se numeste tare convexa in raport cu norma-p
daca:
(i) Conditii ordin 0 : functia f satisface urmatoarea inegalitate pentru
orice x; y 2 R

f( x + (1

)y)

f(x) + (1

)f(y)

(1

) x

y :

kp
k
2
(ii) Conditii ordin 1 : functia f este diferentiabila si satisface
urmatoarea inegalitate pentru orice x; y 2 R

n
2

f(y) f(x) + hrf(x); y xi + 2 kx yk p:


(iii) Conditii ordin 2 : functia f este diferentiabila de doua ori si satisface
urmatoarea inegalitate pentru orice x 2 R
2

r f(x)
n

unde kxkp =
ordin n.
Aratati ca:

i=1

In;

xp
i

, 0 < p 1, iar In matricea identitate de

16

(a) Pentru norma 2, conditiile de ordin 1 implica conditiile de ordin 0,


i.e. daca functia f satisface conditiile de ordin 1 atunci ea satisface
si conditiile de ordin 0.
(b) Pentru norma 2, orice functie diferentiabila o data si tare convexa
satisface relatia
2

hrf(x) rf(y); x yi kx yk 2:
1

(c) Functia g(x) = 2 kxk 2 este 1-tare convexa in raport cu norma k k2.
1
2
(d) Functia g(x) = 2 kxk p este (p 1)-tare convexa in raport cu norma
k kp, pentru p > 1.
n
P

(e) Functia g(x) = log n

xi log xi este 1-tare convexa in raport cu

i=1

norma k k1 pe domeniul fx 2 R + : kxk1


16. Fie functia f de nita de:
f(y; t) = max hy; xi
x2R

1g.
2

kxk :

Determinati domeniul functiei f si aratati ca expresia acesteia se rescrie


in urmatoarea forma:
0;
f(y; t) =

daca y = 0; t = 0
:

; daca t > 0:

ky2kt

17. Fie matricea simetrica si pozitiv de nita Q 2 R


T

n n

and u; v 2 R we have

ju vj u Quv Q v:
18. Fie matricile E; H and F de dimensiuni compatibile si F
ca pentru orice > 0, avem
T

EFH + H F

EE +
T

Indiciu: Se foloseste inegalitatea ( E

F I. Aratati

H H:
T

FH) ( E

FH) 0:

19. Fie matricea simetrica M de forma:


A

M=

BT

unde matricea C este inversabila. Se numeste complementul Schur al


1 T
lui M, matricea S = A BC B : Un rezultat des folosit in teoria
matriceala precizeaza ca urmatoarele relatii sunt echivalente:
(a) M 0 (M este pozitiv semide nita);
y

(b) A 0; (I AA )B = 0; C B A B 0;
y

(c) C 0; (I CC )B = 0; A B C B 0;
y

unde cu A am notat pseudo-inversa matricii A. Mai mult, daca M 0


obtinem un caz particular al echivalentelor:
17

(a) M 0 (M este pozitiv de nita);


T

(b) A 0; C B A B 0;
T

(c) C 0; A B C B 0:
Evidentiem, mai departe, un exemplu de aplicatie al acestui rezultat. Fie
n

functia f : R S++ ! R de nita de:


T

f(x; Y ) = x Y

x:

Aratati ca f este convexa folosind proprietatile complementului Schur.


20. Demonstrati ca urmatoarea problema de optimizare este convexa:
2

min f(x) = x1 + x2
x2R

x1

g(x) =

1+
x22
2

h(x)

= (x1 + x2) = 0:

Rezolvare. Pentru a arata convexitatea problemei din enunt:


min f(x)
x2R

s.l. g(x) 0; h(x) = 0:


este su cient sa demonstram convexitatea functiilor f , g si liniaritatea
functiei h.
2

Observam ca hessiana functiei f are forma explicita r f(x) = I2 0, unde I2


este matricea identitate de ordin 2. Deci, functia f satisface

conditia de convexitate de ordin 2.


x1

In c az ul functi ei g, disting em posi bilitatea ca i negalitatea

0 sa

1+x2

e satisfacuta doar in cazul in care x1 0. In concluzie, constrangerea g(x) 0


este echivalenta cu o constrangere liniara (si deci convexa) x1 0.

Similar, pentru egalitatea de nita de functia h, gasim urmatoarea


echiva-lenta intre multimi:
2

fx 2 R : h(x) = 0g fx 2 R : x1 + x2 = 0g;
rezultand o functie liniara in x.
In nal, putem rescrie problema sub forma unui QP:
2

min x1 + x2
x2R

x1

0
x1 + x2 = 0:

18

21. Demonstrati ca o problema de optimizare de tipul:


T

min max a x + bi
n

x2R 1 i m

Ax 0 x
0

poate adusa la forma de programare liniara .


Rezolvare. O rescriere evidenta a problemei din enunt este data
procedura tipica de aducere a unei functii obiectiv oarecare aferenta
unei probleme de optimizare la una liniara:
min t
x2R

max a i x + bi t

1 i m

Ax 0
x 0:

Fie o submultime discreta a spatiului R, A = fa1; : : : ; ang. Daca cel mai


mare element din multime este marginit de un scalar M 2 R, atunci se
deduce usor ca toate elementele multimii sunt marginite de M,i.e.
aj

max ai M; j = 1; : : : ; n:
1 i n

Daca aplicam aceasta ratiune si formularii de mai sus se ajunge la:


min t
x2R

a i x + bi t; i = 1; : : : ; m
Ax 0
x 0:

x
Daca folosim notatiile y =

standard:

,c=

si di = 1 obtinem o forma LP

min c y
y2Rn+1

d i y + bi 0; i = 1; : : : ; m
Ax 0
x 0:

19

22. Fie problema de optimizare :


T

:= c x + d

min f(x)
x2R

eT x + f
Gx h
Ax = b;

cu domf(x) =

x 2 R : e x + f > 0 . Aratati

ca aceasta problema

poate adus a la forma de pr ogramar e li niara.

Rezolvare. Notam u(x) = e x + f > 0.


T
aceasta devine: e x + f 1 = 1 > 0.
u(x)

Impartind relatia prin u(x),

u(x)

De asemenea, folosim notatia y(x) =


Reformuland functia obiectiv avem:
T

c x+d

f(x) =

2R

u(x)

si z(x) =

1
u(x)

2 R.

+d

=c

u(x)

x
u(x)

= c y(x) + dz(x)

u(x)

.
Folosind schimbarea de variabila, putem aduce problema de minimizare
dupa x la una ce presupune minimizarea dupa y(x) si z(x).
Pentru a
schimba variabila constrangerilor, impartim prin u ultimile doua seturi de
egalitati/inegalitati. Astfel, obtinem:
T

min c y + dz
n

y2R ;z2R

e y + fz = 1
Gy hz
Ay = bz:

23. O functie se numeste monomiala daca se prezinta sub forma:


f(x) = cx

a 1 a2

1 2

:::x

an

unde c > 0 si x 2 R++ , daca si numai daca xi > 0; 8i = 1 : n; ai 2 R.


Considerand problema de programare geometrica :
min f(x)
x2R

(4)

gi(x) 1; i = 1 : m
hi(x) = 1; i = 1 : p:

(5)
(6)

cu fi; hi functii monomiale, aratati ca o astfel de problema de


programare geometrica poate scrisa sub forma unui LP.
Rezolvare. Din teoria optimizarii stim ca punctul de optim al unei probleme de optimizare cu functia obiectiv f(x), este acelasi cu cel al
problemei cu functia obiectiv log f(x).
20

In cazul neconstrans, conditiile su ciente de optimalitate pentru pentru


?
problema originala (cu functia obiectiv f(x)) sunt rf(x ) = 0. Obser-vam
ca pentru cazul compunerii cu functia logaritm (cu functia
obiectiv
?
log f(x)) conditiile de optimalitate se transforma in rf( x ) = 0.
?

f(x

Precizam fara demonstratie ca pentru cazul constrans are loc o


echivalenta logaritmica similara, i.e avand problema originala
min
x2R

cx

n
i

8
>

a1 a2
x
1 2

cix 1 x

>

<

d1

ex

>

an
n
b i

d2

x2

1 i=1:m

: : : xnn

>

:::x

: : : xn

dn
= 1 j = 1 : p;

:
compunand functia obiectiv si constrangerile cu functia logaritm,
obtinem o problema cu acelasi punct de optim:
min log(cxa1 x a2
x2R

8
>
>

log(cix

>

b1 b2
2

log(ej x1

<

>

x2

:::x

an
ni

: : : xn n )

0 i=1:m

: : : xn

dn
)

=0

j = 1 : p:

:
Folosind schimbarea de variabila log xi = yi, observam reformularea
func-tiilor monomiale:
a

f(x) = log(cx 1 : : : x n )
n

= log c +
X=1

ai log xi

= log c +

=1

aiyi:

Astfel, rezulta o forma LP a problemei in variabila y.

21

You might also like