Documente Academic
Documente Profesional
Documente Cultură
Curs Functii
Curs Functii
numeric
a
Ion Necoar
a
Departamentul de Automatica si Ingineria Sistemelor
Universitatea Politehnica din Bucuresti
Email: ion.necoara@acse.pub.ro
2013
Prefat
a
Lucrarea de fata este o sinteza, care trateaza n mod concis, dar si
riguros din punct de vedere matematic, principalele metode numerice
de rezolvare a problemelor de optimizare neliniara. Optimizarea este
un proces de minimizare sau maximizare a unei functii obiectiv si,
n acelasi timp, de satisfacere a unor constrangeri. Natura abunda
de exemple unde un nivel optim este dorit si n multe aplicatii din
inginerie, economie, biologie si numeroase alte ramuri ale stiintei se cauta
regulatorul, portofoliul sau compozitia optim(a).
Lucrarea este construita pe structura cursului de Tehnici de Optimizare,
predat de autor la Facultatea de Automatica si Calculatoare a
Universitatii Politehnica din Bucuresti. Lucrarea se adreseaza studentilor
din facultatile cu profil tehnic sau economic, dar n aceeasi masura si celor
de la programele de master si doctorat cu tematici adiacente. Studentii
ce urmeaza acest curs necesita cunostinte de algebra liniara (teoria
matricelor, concepte din teoria spatiilor vectoriale) si analiza matematica
(notiuni de functii diferentiabile, convergenta sirurilor). Sco- pul lucrarii
este prezentarea unei introduceri n metodele numerice de rezolvare a
problemelor de optimizare care serveste la pregatirea studentilor pentru
dezvoltarea si adaptarea acestor metode la aplicatii specifice ingineriei si
altor domenii. Tematica include elemente de optimizare continua ce se
concentreaza n special pe programarea neliniara. In acest sens, structura
lucrarii este divizata n trei parti majore:
Partea I: Introducere - se prezinta formularea matematica a unei
probleme generale de optimizare cu notiunile asociate si se introduc
principalele concepte legate de convexitate (caracterizari si proprietati
ale multimilor si functiilor convexe).
Partea II: Optimizare fara constrangeri - se prezinta proprietatile
de baza ale solutiilor si metodelor numerice, conditiile necesare si
suficiente de optimalitate pentru o solutie n cazul problemelor convexe
si nonconvexe, analiza metodelor de cautare de-a lungul unei directii
de descrestere (metoda gradient, Newton), reguli de selectare a marimii
pasului (conditiile Wolfe, algoritmul de backtracking), aplicatii n
estimare si metoda celor mai mici patrate.
6
Partea III: Optimizare cu constrangeri - se prezinta conditiile necesare si
suficiente de optimalitate pentru o solutie n cazul problemelor convexe si
nonconvexe avand constrangeri (conditiile de tip Karush-Kuhn-Tucker).
Se analizeaza metode bazate pe functii de penalitate si bariera, metode
de punct interior si metode de programare patratica secventiala pentru
probleme generale de optimizare cu constrangeri sub forma de egalitati
si inegalitati. In final, se prezinta formularea sub forma unei probleme
de optimizare a unei probleme de control optimal cu orizont finit si
rezolvarea numerica cu metodele prezentate.
Prin teoria si exemplele expuse n aceasta lucrare se urmareste
familiarizarea studentilor cu formularea corecta a unei probleme de
optimizare, identificarea tipului unei probleme (convexa sau nonconvexa,
cu sau fara constrangeri) si rezolvarea numerica a unei probleme. Sunt
descrisi principalii algoritmi numerici de optimizare (algoritmi de tip
directie de descrestere, e.g. gradient sau Newton, de punct interior)
pentru care se analizeaza convergenta si necesarul de calcul. Algoritmii
prezentati sunt apoi testati pe aplicatii practice, n particular din
inginerie. Pe tot parcursul cartii se prezinta multe exemple de aplicatii
si exercitii rezolvate, tratate amanuntit, pentru a face mai accesibila
ntelegerea teoriei si a conceptelor introduse, si pentru a ajuta studentul
sa nteleaga subtilitatile inerente unei discipline avandu-si originea n
matematica aplicata.
Desi lucrarea de fata adreseaza technici si algoritmi de optimizare
standard, regasiti n majoritatea literaturii de specialitate [2, 9, 11, 13],
am intentionat de asemenea ca ea sa reflecte punctul de vedere modern n
acest domeniu. In acest sens, unul din principalele aporturi l reprezinta
conexiunea dintre caracterul analitic al unei probleme de optimizare,
exprimat prin conditiile de optimalitate, si analiza algoritmilor numerici
de optimizare folositi pentru rezolvarea problemei. Mai mult, conditiile
de optimalitate si algoritmii numerici corespunzatori problemelor de
optimizare constranse sunt prezentate ca o generalizare a conditiilor
de optimalitate si respectiv a algoritmilor numerici dezvoltati pentru
probleme de optimizare fara constrangeri. Aceasta abordare ofera lucrarii
o structura simpla care faciliteaza ntelegerea teoriei prezentate dar si
posibilitatea dezvoltarii de noi rezultate n acest domeniu.
Ca o concluzie, lucrarea de fata reprezinta un mixt reusit ntre
rigurozitatea matematica si practicalitatea inginereasca ce conduce la
7
insusirea cu usurinta si manipularea eficace a unor tehnici de optimizare
neliniara moderne. De aceea, consideram ca aparitia aceastei carti este
extrem de utila, n primul rand studentilor, datorita continutului si
stilului adecvat acestei audiente.
Autorul le este recunoscator referentilor stiintifici prof. univ. dr. C.
Oara si prof. univ. dr. B. Dumitrescu pentru sugestiile si observatiile
extrem de valoroase pe care le-au oferit pe parcursul conceperii acestui
material. Multumiri sunt aduse si studentilor care de-a lungul timpului
au contribuit cu observatii pertinente la mbunatatirea expunerii acestei
lucrari.
Ion Necoara
mai 2013
8
List
a de notatii
Vectori
= R {}
R multimea numerelor reale; R
Rn spatiul Euclidian n dimensional al vectorilor coloana x cu n
componente reale xi R pentru orice i = 1, . . . , n
Span(S) subspatiul liniar generat de vectorii din multimea S Rn
n
n
ei , cu i = 1, . . . , n, baza standard
Pn a lui R si e vectorul din R cu
toate intrarile 1, anume e = i=1 ei
P
hx, yi = xT y = ni=1 xi yi produsul scalar a doi vectori x, y Rn
P
kxk = hx, yi1/2 = ( ni=1 x2i )1/2 norma Euclidiana a vectorului
x Rn
P
Rn , unde p 1;
kxkp = ( ni=1 |xi |p )1/p norma p a vectorului x P
n calcule se utilizeaza n special normele kxk1 = ni=1 |xi |, kxk2 =
kxk si kxk = maxi=1,...,n |xi |
oricare ar fi si exista
Matrice
Rmn spatiul Euclidian al matricelor cu m linii si n coloane cu
elemente aij R pentru orice i = 1, . . . , m si j = 1, . . . , n
S n spatiul matricelor simetrice cu n linii si coloane
A 0 (A<0) matrice pozitiv (semi)definita
S+n spatiul matricelor pozitiv semidefinite
In matricea identitate de ordinul n
aij sau Aij elementul matricei A situat n linia i si coloana j
AT transpusa matricei A, iar A1 /A+ inversa/pseudoinversa
matricei A; AT = (A1 )T = (AT )1
Tr(A) urma matricei patrate A, anume suma elementelor de pe
diagonala principala
9
det(A) determinantul matricei patrate A
i (A) valorile proprii ale unei matrice simetrice de dimensiune n
ordonate crescator; min = 1 si max = n
i (A) valorile singulare ale matricei A ordonate crescator
rang(A) rangul matricei A (numarul valorilor singulare nenule)
kern(A) nucleul matricei A
hA, Bi = Tr(AT B) produsul scalar a doua matrice reale
kAkF = hA, Ai1/2 norma Frobenius; avem relatia kAkF
r
P
( i2 )1/2 , unde r este rangul lui A
i=1
Functii
f
(x)
xi
pentru
L
(x, , )
x
derivata
10
Prescurt
ari
e.g. de exemplu (exempli gratia)
i.e. adica (id est)
NLP programare neliniara (NonLinear Programming)
UNLP programare neliniara fara constrangeri (Unconstrained
NonLinear Programming)
QP programare patratica (Quadratic Programming)
LP programare liniara (Linear Programming)
CP programare convexa (Convex Programming)
KKT Karush-Kuhn-Tucker
DVS descompunerea valorilor singulare
Cuprins
Prefata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introducere
1 Teorie convex
a
1.1 Teoria multimilor convexe . . . . . . . . . . . . . .
1.1.1 Multimi convexe . . . . . . . . . . . . . . .
1.1.2 Conuri . . . . . . . . . . . . . . . . . . . . .
1.1.3 Operatii ce conserva convexitatea multimilor
1.2 Teoria functiilor convexe . . . . . . . . . . . . . . .
1.2.1 Functii convexe . . . . . . . . . . . . . . . .
1.2.2 Conditii de ordinul I pentru functii convexe
1.2.3 Conditii de ordinul II pentru functii convexe
1.2.4 Operatii ce conserva convexitatea functiilor
15
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
18
18
22
24
26
26
28
29
31
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
33
33
36
41
41
42
43
45
48
48
II
Optimizare f
ar
a constr
angeri
51
53
12
Cuprins
3.1
3.2
3.3
. . . . .
. . . . .
convexe
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
54
55
56
58
60
60
65
.
.
.
.
.
.
.
.
.
.
.
.
68
70
73
75
77
.
.
.
.
.
79
80
84
85
85
87
.
.
.
.
.
.
.
.
90
91
93
95
98
99
100
102
105
.
.
.
.
.
.
.
108
109
112
114
117
118
119
121
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13
Cuprins
III
Optimizare cu constr
angeri
123
124
127
129
130
130
132
134
138
9 Teoria dualit
atii
140
9.1 Functia Lagrange . . . . . . . . . . . . . . . . . . . . . . 144
9.2 Problema duala . . . . . . . . . . . . . . . . . . . . . . . 146
9.3 Programare liniara (LP) . . . . . . . . . . . . . . . . . . 153
10 Conditii de optimalitate pentru (NLP)
160
10.1 Conditii de ordinul I pentru (NLP) avand constrangeri de
egalitate . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
10.2 Conditii de ordinul II pentru (NLP) avand constrangeri
de egalitate . . . . . . . . . . . . . . . . . . . . . . . . . 167
10.3 Conditii de ordinul I pentru (NLP) generale . . . . . . . 172
10.4 Conditii de ordinul II pentru (NLP) generale . . . . . . . 175
11 Metode de ordinul I si II pentru
constr
angeri convexe
11.1 Metode de directii de descrestere . . . .
11.1.1 Metoda gradient conditional . . .
11.1.2 Metoda gradient proiectat . . . .
11.2 Metoda Newton proiectat . . . . . . . .
(NLP) av
and
181
. . . . . . . . . 182
. . . . . . . . . 185
. . . . . . . . . 186
. . . . . . . . . 190
14
Cuprins
211
213
216
217
222
222
225
227
230
232
275
Partea I
Introducere
Capitolul 1
Teorie convex
a
In acest capitol vom prezenta notiunile de baza din teoria multimilor
convexe si a functiilor convexe. Aceste notiuni vor fi utilizate deseori n
capitolele urmatoare. Prezentarea realizata n acest capitol este foarte
concisa, dar n acelasi timp suficienta pentru scopul declarat al lucrarii.
O detaliere a teoriei convexitatii poate fi gasita n cartea clasica a lui
R.T. Rockafellar, Convex Theory [14].
Definim mai ntai conceptele algebrice de baza, cum ar fi multimile
convexe, hiperplane, conuri, inegalitati de matrice, dar si concepte
topologice cu privire la conservarea convexitatii sau separarea prin
hiperplane. Apoi continuam cu teoria functiilor convexe si n special
cu acele conditii de caracterizare a functiilor convexe.
In cadrul acestei lucrari fixam simpla conventie de a considera vectorii
x Rn vectori coloana, adica x = [x1 . . . xn ]T Rn . In spatiul Euclidian
Rn produsul scalar este definit dupa cum urmeaza:
hx, yi = xT y =
n
X
xi yi .
i=1
18
1.1
1.1.1
5
4.5
=1.5
x1(0.5,4)
=1
3.5
=0.5
x2(5,3)
=0
2.5
2
4
=0.5
2
10
i xi ,
i=1
unde
p
X
i=1
i = 1, i R.
iI
19
Cu alte cuvinte, Aff(S) este multimea afina cea mai mica ce o contine pe
multimea data S.
Definitia 1.1.2 Multimea S Rn se numeste convexa daca pentru
oricare doua puncte x1 , x2 S si un scalar [0, 1] avem x1 +
(1 )x2 S (i.e. segmentul generat de oricare doua puncte din S
este inclus n S, vezi Fig. 1.2).
x1
x2
x2
x1
i xi ,
unde
p
X
i=1
i=1
i = 1, i 0.
iI
20
n care a 6= 0, a Rn si b R.
aT xb
x0
aT xb
aT x=b
{x Rn : Ax = b, Cx d} .
21
j=1
i=1
a1
a4
a2
a3
22
1.1.2
Conuri
23
24
1.1.3
Operatii ce conserv
a convexitatea multimilor
dom f = x Rn : cT x + d > 0
25
Inegalit
ati Matriceale Liniare (Linear Matrix Inequalities
(LMI)): Se poate arata usor ca multimea matricelor pozitiv
semidefinite (notatiePS+n ) este convexa. Consideram o functie G : Rm
S+n , G(x) = A0 + m
i=1 xi Ai , unde xi sunt componentele unui vector
m
x R , iar matricele A0 , , Am S n sunt simetrice. Expresia
G(x)<0
se numeste inegalitate matriceala liniara (LMI). Aceasta defineste o
multi- me convexa {x Rm : G(x)<0}, cu rolul de preimagine a lui
S+n prin G(x).
Stabilitatea sistemelor: Fie un sistem liniar discret invariant n timp
zt+1 = Azt ,
unde A Rnz nz si zt reprezinta starea sistemului la pasul t. Acest
sistem este asimptotic stabil (adica lim zt = 0 pentru orice stare initiala
t
In mod echivalent, sistemul este asimptotic stabil daca max |i (A)| < 1
i=1,...,n
(i.e. toate valorile proprii ale matricei A sunt incluse strict n cercul
unitate). In reglarea automata (control) ntalnim adesea si inegalitati
matriceale cu necunoscutele P si R, de forma:
P AT R1 A 0, P 0
ce pot fi scrise (prin folosirea complementului Schur), n mod echivalent
ca un LMI:
P AT
0.
A R
Teorema 1.1.2 (Teorema de separare cu hiperplane) Fie S1 si S2
doua multimi convexe astfel ncat S1 S2 = . Atunci, exista un hiperplan
ce separa aceste multimi, i.e. exista a 6= 0, a Rn si b R astfel ncat
aT x b oricare ar fi x S1 si aT x b oricare ar fi x S2 .
26
1.2
1.2.1
27
(1 )kx1 x2 k2 ,
2
f(x1)+(1) f(x2)
0.5
f(x2)
f(x1)
0.4
0.3
0.2
0.1
0
1
f( x1+(1)x2)
0.5
x1
0.5
x2
28
i=1
Pp
1.2.2
(1.1)
29
1.2.3
(1.2)
30
datorita (1.2).
Exemplul 1.2.2
1. Functia f (x) = log(x) este convexa pe R++ = {x R : x > 0}
deoarece 2 f (x) = x12 > 0 oricare ar fi x > 0.
2. Functia patratica f (x) = 21 xT Qx + q T x + r este convexa pe Rn
daca si numai daca Q<0, deoarece pentru orice x Rn Hessiana
2 f (x) = Q (daca Q este simetrica).
3. Se observa ca orice functie afina este convexa si, de asemenea,
concava.
xT x
t
4. Functia f (x, t) =
Hessiana
31
1.2.4
Operatii ce conserv
a convexitatea functiilor
32
altfel.
x>0
Capitolul 2
Concepte fundamentale din
teoria optimiz
arii
In cadrul acestui capitol prezentam o scurta istorie a evolutiei optimizarii
si apoi introducem conceptele fundamentale ale unei probleme de
optimizare (valoarea optima, puncte de extrem, multimea fezabila)
mpreuna cu principalele clase de probleme de optimizare (probleme de
optimizare neliniare, liniare, convexe, patratice).
2.1
34
35
x+y
xy = A,
2
36
2.2
Caracteristicile
optimizare
unei
probleme
de
37
xRn
min f (x)
xRn
xR2
s.l.: x 0, x21 + x2 1 0
x1 x2 1 = 0.
In acest exemplu avem:
- variabila de decizie este x = [x1 x2 ]T R2 si functia obiectiv
f (x) = x21 + x22 este functie patratica convexa;
38
39
3
Punct de maxim local
2
1
0
1
2
*
3
Punct de minim local x*L
5
6
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.1
Figura 2.3: Puncte de minim local (xL ) si punctul de minim global (xG )
pentru f (x) = cos(5x)/x n intervalul [0.1, 1.1].
- reprezent
and grafic functia n Matlab (Fig. 2.3) putem identifica
trei puncte de minim local, dintre care unul singur este de minim
global.
Exemplul 2.2.3 Consideram urmatoarea problema de optimizare:
min2 (x1 3)2 + (x2 2)2
xR
s.l.: x21 x2 3 0, x2 1 0, x1 0.
Functia obiectiv si cele trei constrangeri de inegalitate sunt: f (x1 , x2 ) =
(x1 3)2 + (x2 2)2 si respectiv g1 (x1 , x2 ) = x21 x2 3, g2 (x1 , x2 ) =
x2 1, g3 (x1 , x2 ) = x1 .
Fig 2.4 ilustreaza multimea fezabila si contururile functiei obiectiv.
Problema se reduce la a gasi un punct n multimea fezabil
a n care functia
2
2
obiectiv, (x1 3) + (x2 2) , ia cea mai mica valoare. Observam ca
punctele [x1 x2 ]T cu (x1 3)2 + (x2 2)2 = c sunt cercuri de raza c si
centru n [3 2]T . Aceste cercuri se numesc contururile functiei obiectiv
avand valoarea c. Pentru a minimiza f trebuie sa gasim cercul cu cea mai
mica raza c care intersecteaza multimea fezabila. Dupa cum se observ
a
din Fig. 2.4, cel mai mic cerc corespunde lui c = 2 si intersecteaza
multimea fezabila n punctul de optim x = [2 1]T .
40
g1
3
2
*
(3,2)
1
0
2
zona fezabila
3
4
5
5
41
2.3
2.3.1
Programare neliniar
a (NLP)
min f (x)
(2.1)
xRn
s.l.: g(x) 0,
h(x) = 0,
g : Rn Rm si h : Rn Rp se presupun
n care functiile f : Rn R,
a fi continuu diferentiabile cel putin o data, iar n unele cazuri de doua
sau de mai multe ori diferentiabile.
x1
42
xi l ri , yi L ri i = 1, 2, 3
xR8
s.l.: x 0, xi ri , yi ri , xi l ri , yi L ri
(xi xj )2 + (yi yj )2 (ri + rj )2 i 6= j = 1, 2, 3.
Observam ca n problema anterioara functia obiectiv f (x) = l L nu
este convexa. In anumite situatii nsa, multe dintre probleme prezinta
structuri particulare, care pot fi exploatate pentru o rezolvare mai rapida
a acestora. In cele ce urmeaza enumeram cele mai importante clase de
probleme de optimizare cu structura speciala.
2.3.2
Programare liniar
a (LP)
min cT x
xRn
s.l.: Cx d 0, Ax b = 0.
(2.2)
43
n
X
ci xi
i=1
s.l.: x 0,
n
X
xi = 1.
i=1
LP-urile pot fi rezolvate foarte eficient. Inca din anii 1940 aceste
probleme au putut fi rezolvate cu succes, odata cu aparitia metodei
simplex dezvoltata de G. Dantzig. Metoda simplex este o metoda de
tip multime activa si care este n competitie cu o clasa la fel de eficienta
de algoritmi numiti algoritmi de punct interior. In zilele noastre se pot
rezolva LP-uri chiar si cu milioane de variabile si constrangeri, orice
student din domeniul finantelor avand n curriculum principalele metode
de rezolvare a acestora. Algoritmii specializati pentru LP nu sunt tratati
n detaliu n acest curs, nsa trebuie recunoscuti atunci cand sunt ntalniti
n practica avand la dispozitie mai multe produse software: CPLEX,
SOPLEX, lp solve, lingo, MATLAB (linprog), SeDuMi, YALMIP, CVX.
2.3.3
Programare p
atratic
a (QP)
1 T
x Qx + q T x + r
xR
2
s.l.: Cx d 0, Ax b = 0.
minn
(2.3)
44
ij2
T
1X
(ri (t) ci )(rj (t) cj ) i, j = 1, . . . , n.
=
T i=1
45
minn
xR
s.l.: x 0,
Pn
n
X
i=1
ci xi R,
n
X
xi = 1.
i=1
2.3.4
Optimizare convex
a (CP)
min f (x)
xRn
(2.4)
s.l.: g(x) 0, Ax b = 0,
unde f : Rn R si componentele lui g : Rn Rm sunt functii convexe
si constrangerile de egalitate sunt descrise de functii afine h(x) = Ax b,
unde A Rpn si b Rp . Rezulta deci ca multimea fezabila asociata
X = {x Rn : g(x) 0, Ax = b} este multime convexa.
Exemplul 2.3.2 Programare patratica cu constrangeri patratice
(QCQP - Quadratically Constrained Quadratic Program): O problema
de optimizare convexa de forma (2.4) cu functiile f si componentele
lui g patratice convexe se numeste problema patratica cu constrangeri
patratice:
(QCQP ) :
1 T
x Qx + q T x + r
xR
2
1 T
x Qi x + qiT x + ri 0 i = 1, . . . , m
s.l.:
2
Ax b = 0.
minn
46
15
10
10
2.5
1.5
0.5
0.5
1.5
2.5
Analiza statistic
a: Analiza datelor si interpretarea acestora ntr-un
sens cat mai corect este una din preocuparile principale din domeniul
statisticii. Problema se formuleaza n urmatorul mod: pe baza unei
colectii de date cunoscute (reprezentate n Fig. 2.6 prin puncte), sa
se realizeze predictia cu o eroare cat mai mica a unui alt set de date
partial cunoscut. In termeni matematici, aceasta problema presupune
determinarea unei directii de-a lungul careia elementele date (punctele)
tind sa se alinieze, astfel ncat sa se poata prezice zona de aparitie a
punctelor viitoare. S-a constatat ca directia de cautare este data de
vectorul singular corespunzator celei mai mici valori singulare al matricei
formate din colectia de puncte date, ce poate fi gasit prin intermediul unei
probleme de optimizare convexa:
minn
xR
s.l.:
1 T T
x A Ax
2
xT x 1,
47
min cT x
xRn
s.l.: A0 +
n
X
i=1
Ai xi 40, Ax b = 0,
tR,xRn
s.l.: tIm
n
X
i=1
Ai xi A0 <0.
48
2.3.5
Probleme
(UNLP)
de
optimizare
neconstr
ans
a
2.3.6
Programare mixt
a cu ntregi (MIP)
min
xRn ,zZm
f (x, z)
s.l.: g(x, z) 0,
h(x, z) = 0.
49
variabile din z sunt fixate la anumite valori ntregi si altele sunt relaxate
exploatand proprietatea ca solutia problemelor relaxate este ntotdeauna
mai buna decat orice solutie cu componente ntregi. In acest fel, cautarea
poate avea loc mult mai eficient decat o pura verificare a elementelor
multimii fezabile. Doua exemple importante de asemenea probleme sunt
date n cele ce urmeaza:
(i) Program liniar mixt cu ntregi (MILP - Mixed Integer Linear
Programming): daca functiile f , g si h sunt afine n ambele variabile x si
z obtinem un program liniar mixt cu ntregi. O problema faimoasa din
aceasta clasa este problema comis-voiajorului.
(ii) Program p
atratic mixt cu ntregi (MIQP - Mixed Integer
Quadratic Programming): daca g si h sunt functii afine si f patratica
convexa n ambele variabile x si z rezulta un program patratic mixt cu
ntregi (MIQP).
Probleme (MILP)/(MIQP) de dimensiuni mici/medii (i.e. dimensiunea
variabilei n, m < 100) pot fi rezolvate eficient de pachete de software
comerciale CPLEX, TOMLAB sau lp_solve.
Partea II
Optimizare f
ar
a constr
angeri
Capitolul 3
Metode de optimizare
unidimensional
a
Dupa cum vom vedea n capitolele urmatoare, metodele bazate pe directii
de descrestere presupun gasirea unui pas care, ideal, trebuie ales optim.
Astfel de metode se mai numesc si metode de cautare exacta. In aceasta
situatie, trebuie sa calculam parametrul optim ce determina valoarea
minima a functiei obiectiv f n directia d, cu alte cuvinte minimizarea
functiei () = f (x + d). Din acest motiv, n acest capitol analizam
metode numerice de optimizare unidimensionala, adica pentru functii de
o singura variabila f : R R:
min f ().
R
(3.1)
54
3.1
Metoda forward-backward
functii unimodale
pentru
3.2. Metode de c
autare
55
3.2
Metode de c
autare
56
3.2.1
f()
f(k)>f(k)
kak=bkk
f(k)
bkk
f(k)
kak
ak
bk
(3.3)
57
3.2. Metode de c
autare
(3.4)
(3.5)
In acest caz, noul interval este [ak+1 , bk+1 ] = [ak , k ]. Pentru a reduce
intervalul de incertitudine este necesara selectia parametrilor k+1 si
k+1. Din (3.5) rezulta
k+1 = ak+1 + (bk+1 ak+1 ) = ak + (k ak )
= ak + (ak + (bk ak ) ak ) = ak + 2 (bk ak ). (3.6)
Considerand
rezulta
2 = 1
(3.7)
k+1 = ak + (1 )(bk ak ) = k .
58
1 5
=
.
2
Deoarece > 0 consideram
bk+1 ak+1
=
=
bk ak
51
= 0.618
2
3.2.2
59
3.2. Metode de c
autare
Fkj
Fkj+1
atunci
Fkj
Fkj1
j = aj + 1
(bj aj ) = aj +
j = 1, . . . , k 1
Fkj+1
Fkj+1
j = aj +
Fkj
(bj aj ) j = 1, , k 1.
Fkj+1
(3.8)
Fkj
(bj aj ),
Fkj+1
F1 F2
Fk1
1
F1
(bk1 ak1 ) =
(b1 a1 ) =
(b1 a1 ),
F2
F2 F3
Fk
Fk
avem
b1 a1
.
(3.9)
1+ 5
1 5
r1 =
, r2 =
.
2
2
Fk
!k
!k
1
1 5
1+ 5
Fk =
.
2
2
5
60
51
= .
2
(3.10)
3.3
Metode de interpolare
3.3.1
Metode de interpolare p
atratic
a
(3.11)
61
b = f1 + 21
f1 f2 f1 (1 2 )
.
(1 2 )2
(3.12)
1 fk (k k1)
,
2 fk fk fk1
(3.13)
k k1
(3.14)
De aici se obtine:
1 1 2
b
f
= 1
2a
2 f1 f2 1
(3.15)
62
si formula iterativa:
k+1 = k
1 k k1
fk .
2 fk fk1
(3.16)
.
f (k+1) = f ()fk fk1
)2
2
(fk fk1
Din teorema valorii medii stim ca:
(fk fk1
)
= f (0 ) cu 0 [k1 , k ],
k k 1
63
1 f ()f (k )f (k1 )
(k )(k1 ).
2
2 f (k+1 )f (0 )
(k )(k1 )
2 f ( )
si obtinem urmatoarea relatie ntre distantele pana la punctul de optim:
ek+1 = Mek ek1 ,
unde M = |f (1 )/2f (2 )|, iar 1 {k1, k , } si 2 {k1, k }.
Daca exista o precizie > 0 astfel ncat punctele initiale 0 , 1 (
, + ) si 0 6= 1 , atunci se poate observa din relatiile anterioare ca
sirul k va converge catre . Am demonstrat ca k converge la si ne
mai ramane sa demonstram rata de convergenta. In acest scop notam
i = Mei , yi = ln(i ), i = k 1, k, k + 1, iar conform relatiilor anterioare
avem:
k+1 = k k1 ,
yk+1 = yk + yk1.
(3.18)
r 2 r 1 = 0, r1 = (1 + 5)/2 , r2 = (1 5)/2,
Astfel, secventa Fibonacci yk poate fi scrisa ca:
yk = Ar1k + Br2k k = 0, 1, . . . ,
64
t1 = 1
k
tk1
e(At1 )
|k+1 |
lim
= M t1 1
k |k |t1
si demonstratia este completa.
(3.19)
b
2a
1 (22 32 )f1 + (32 12 )f2 + (12 22 )f3
.
=
2 (2 3 )f1 + (3 1 )f2 + (1 2 )f3
1
(f1 f2 )(2 3 )(3 1 )
1
= (1 + 2 ) +
2
2 (2 3 )f1 + (3 1 )f2 + (1 2 )f3
(3.20)
(3.21)
si formula iterativa:
1
k+1 = (k + k1 )+
(3.22)
2
(fk fk1 )(k1 k2 )(k2 k )
1
.
2 (k1 k2)fk + (k2 k )fk1 + (k k1 )fk2
Metoda interpolarii n trei puncte are urmatorii pasi:
65
Pas 3. Daca (
1 )(
3 ) 0, trecem la Pas 4.; altfel, trecem
la Pas 5.
Pas 4. Construim un nou interval de cautare {1 , 2 , 3 } utilizand
1 , 2 , 3 si .
Revenim la Pas 2.
Pas 5. Daca |
2 | < , ne oprim; altfel, trecem la Pas 4.
Teorema 3.3.2 Fie o functie f care este de cel putin patru ori continuu
diferentiabila si astfel ncat f ( ) = 0 si f ( ) 6= 0. Atunci sirul
{k } generat de (3.22) converge la cu rata de ordinul 1.32.
Observam ca metoda celor trei puncte are o rata de convergenta mai mica
decat cea a metodelor ce folosesc formula secantei. Explicatia consta
n faptul ca metoda celor trei puncte nu foloseste informatie data de
derivatele functiei f n punctele intervalului de cautare. Cu alte cuvinte,
metoda nu tine cont de curbura functiei f . In general, implementarile
avansate folosesc informatie de secanta.
3.3.2
(3.23)
66
=
=
=
=
c4 = f (1 )
c1 (2 1 )3 + c2 (2 1 )2 + c3 (2 1 ) + c4 = f (2 )
c3 = f (1 )
3c1 (2 1 )2 + 2c2 (2 1 ) + c3 = f (2 ).
(3.24)
(3.25)
si
Rezolvand (3.24) avem:
= 1 +
c2
c22 3c1 c3
, daca c1 6= 0
3c1
(3.26)
c3
, daca c1 = 0.
(3.27)
2c2
Pentru a satisface (3.25) consideram radacina corespunzatoare semnului
+ din (3.26), care mpreuna cu (3.27) conduce la:
p
c2 + c22 3c1 c3
c3
1 =
.
(3.28)
=
3c1
c2 + c2 3c1 c3
= 1
= 1
c3
c2 +
c22 3c1 c3
(3.29)
f (2 ) f (1 )
, z = s f (1 ) f (2 ), w 2 = z 2 f (1 )f (2 ).
2 1
67
z = c2 (2 1 ) + c3
w 2 = (2 1 )2 (c22 3c1 c3 ).
Deci rezulta:
(2 1 )c2 = z c3 ,
si
c2 +
c2 3c1 c3 =
c22 3c1 c3 =
w
2 1
z + w c3
.
2 1
(3.30)
1 =
(2 1 )f (1 )
,
z + w f (1 )
1 =
z + w f (1 )
f (2 ) z + w
(2 1 )(f (1 ) + w z)
=
f (2 ) f (1 ) + 2w
f (2 ) + z + w
,
= (2 1 ) 1
f (2 ) f (1 ) + 2w
1 =
sau
= 1 + (2 1 )
w f (1 ) z
.
f (2 ) f (1 ) + 2w
(3.31)
(3.32)
Capitolul 4
Conditii de optimalitate
pentru (UNLP)
Multe probleme din inginerie, economie sau fizica se formuleaza ca
probleme de optimizare fara constrangeri. Astfel de probleme apar
n gasirea punctului de echilibru al unui sistem prin minimizarea
energiei acestuia, potrivirea unei functii la un set de date folosind
cele mai mici patrate sau determinarea parametrilor unei distributii de
probabilitate corespunzatoare unui set de date. Probleme de optimizare
fara constrangeri apar de asemenea cand constrangerile sunt eliminate
sau mutate n cost prin folosirea unei functii de penalitate adecvate,
dupa cum vom vedea n Partea a III-a a acestei lucrari. In concluzie,
n aceasta parte a lucrarii ne concentram analiza asupra problemelor de
optimizare neconstransa de forma:
(UNLP ) :
min f (x).
xRn
(4.1)
69
functia ia valoarea +:
1
+ x,
xR x
Reamintim ca un punct x se numeste punct de minim global pentru
problema (UNLP) precedenta daca f (x ) f (x) pentru orice x domf .
Mai, mult, f = f (x ) se numeste valoarea optima a problemei de
optimizare (UNLP). De asemenea, x este punct de minim local daca
exista un > 0 astfel ncat f (x ) f (x) pentru orice x domf cu
kx x k .
min
70
xR2
4.1
71
3.5
3
2.5
2
f
1.5
1
0
x1 2
72
xR2
73
4.2
(4.3)
1
f (x + td) = f (x ) + tf (x )T d + t2 dT 2 f (x + d)d < f (x ),
{z
}
| {z } 2 |
=0
<0
74
2
2
kdk2
2
)
+ R(kdk
Stiind ca min > 0 atunci exista > 0 si > 0 astfel ncat min
2
kdk2
xR2
x21 + 4x2 = 0.
Acest sistem are doua solutii [0 0]T si [6 9]T . Hessiana are expresia:
6x1 2x2 2x1
.
f (x) =
2x1
4
2
75
4.3
Conditii de optimalitate
probleme convexe
pentru
min f (x)
xX
76
77
4.4
Analiza perturbatiilor
xRn
.
a
x
a
{z
}
|
0=
=2x f
78
Capitolul 5
Convergenta metodelor de
descrestere
In Capitolul 4 s-a demonstrat ca pentru aflarea unui punct de minim
local/global corespunzator unei probleme de optimizare neconstransa:
(UNLP ) :
f = minn f (x),
xR
(5.1)
80
5.1
81
82
0 lim
n care precizam ca limita superioara a unui sir zk sup lim este definita
de:
lim zk = lim yn , unde yn = sup zk .
k
kn
83
kxk+1 x k
= 0, aici de asemenea
k kxk x k
kxk+1 x k k kxk x k cu k 0.
De exemplu, sirul xk =
1
.
k+1
1
k!
xk+1
xk
kxk+1 x k
= , unde (0, ) si
k kxk x k2
kxk+1 x k kxk x k2 .
De exemplu sirul xk =
xk+1
(xk )2
2k+1
1
22k
2
= 1 < . Pentru k = 6, xk = 2164 0, de aceea, n
= (2
2k )2
practica, convergenta la acuratetea masinii de calcul se realizeaza dupa
aproximativ sase iteratii.
Intalnim adesea si convergenta subliniara definita astfel:
kxk x k
,
kq
unde q > 0.
R-convergenta : Daca sirul de norme kxk x k este marginit superior
de sirul yk 0, adica kxk x k yk si daca yk converge cu o
rata data, i.e. liniara, superliniara sau patratica, atunci xk converge
R- liniar, R-superliniar sau R-patratic la x . Aici, R indica root, deoarece
convergent
a R-liniara poate fi de asemenea definita prin criteriul radacinii
p
k
limk kxk x k < 1.
Exemplul 5.1.1 Consideram sirul de numere reale convergent la zero:
1
daca k este par
2k
xk =
0
altfel.
84
superliniar
liniar
5.2
85
5.3
Metode de descrestere
5.3.1
86
x2
d
x
f(x)
x+ d
x1
87
Conditiile Wolfe:
T
acceptabil
adecvat astfel ncat sa nu fie prea scurt, conditia (W1) este suficienta.
De aceea, definim o a treia posibilitate de cautare a pasului k , mai
putin costisitoare decat primele doua metode prezentate anterior, care se
bazeaza pe backtracking:
0. se alege > 0 si , c1 (0, 1)
1. cat timp
f (xk + dk ) > f (xk ) + c1 k f (xk )T dk
se actualizeaza =
2. iesirea: k = .
In general, se considera valoarea initiala = 1, dar n alte cazuri aceasta
valoare trebuie aleasa cu grija. Se observa ca prin tehnica backtracking
putem gasi k ntr-un numar finit de pasi. Mai mult, k gasit prin aceasta
metoda nu este prea mic ntrucat k are o valoare apropiata de k , valoare
respinsa la iteratia precedenta datorita faptului ca inegalitatea (W1) nu
avea loc deoarece pasul era prea lung.
5.3.2
88
X
k=0
c2 1 f (xk )T dk
.
L
kdk k2
(f (xk )T dk )2 c2 1
kdk k2
L
ce conduce la:
f (xk+1 ) f (xk ) c1
.
L
kdk k2 kf (xk )k2
89
N
1
X
j=0
X
k=0
Capitolul 6
Metode de ordinul I pentru
(UNLP)
In acest capitol prezentam metodele numerice de optimizare de ordinul
ntai (i.e. metode bazate pe informatia provenita din evaluarea functiei
si a gradientului sau) pentru rezolvarea problemei neconstranse de
optimizare:
(UNLP ) :
f = minn f (x),
xR
91
6.1
Metoda gradient
Metoda gradient este una din cele mai vechi si mai cunoscute metode
iterative n optimizare, fiind propusa pentru prima data de Cauchy n
1847. Metoda gradient mai este cunoscuta si sub numele de metoda celei
mai abrupte descresteri. Ea este foarte importanta din punct de vedere
teoretic, deoarece este una din cele mai simple metode pentru care exista
o analiza satisfacatoare cu privire la convergenta.
1.6
1.4
1.2
x2
0.8
0.6
0.4
1.2
1.4
1.6
1.8
2.2
2.4
2.6
2.8
92
1.8
|| f(xk) ||
f(xk)f
1.6
0.3
1.4
0.25
1.2
0.2
0.15
0.8
0.6
0.1
0.4
0.05
0
0
0.2
10
20
30
40
50
60
0
0
10
20
30
40
50
60
1
ky xk k2 ,
2k
93
f(x)
xk+1 xk
6.1.1
Convergenta global
a a metodei gradient
94
k0
95
6.1.2
Rata de convergent
a global
a a metodei
gradient
L
kx yk2 x, y domf.
2
L 2
kf (xk )k2
2
L
)kf (xk )k2 .
2
1
kf (xk )k2 ,
2L
adica:
N 1
1 X
kf (xk )k2 f (x0 ) f (xN ) f (x0 ) f .
2L k=0
(6.1)
96
In continuare definim:
kfN k = arg
min
k=0, ,N 1
kf (xk )k.
x, y domf.
97
(6.2)
L
)kf (xk )k2 ,
2
k+1 k 2 2k ,
R0
unde = (1 L2 ). Deci,
1
k+1
1
k
1
+ 2
+ 2.
k R0 k+1
k R0
+ 2 N.
N
0 R0
Mai departe, daca alegem = =
convergenta:
f (xN ) f
1
L
L
kx0 x k2 .
2
L
kx0 x k2
2
.
f (xk ) f
k+4
98
6.1.3
Rata de convergent
a local
a a metodei gradient
T
= x Qx q x ,
f = minn f (x)
xR
2
unde Q este matrice simetrica pozitiv definita. In acest caz problema de
optimizare patratica convexa precedenta are un singur punct de minim
global x ce satisface relatia Qx q = 0. De asemenea, dand xk la
iteratia k, definim reziduul rk = Qxk q = f (xk ). Atunci, pasul optim
(obtinut prin metoda ideala de alegere a pasului) se obtine explicit din
minimizarea functiei patratice unidimensionale n (0, ): () =
f (xk rk ):
r T rk
k = Tk
.
rk Qrk
Astfel, metoda gradient are urmatoarea iteratie pentru cazul patratic
convex:
r T rk
f (xk ).
xk+1 = xk Tk
rk Qrk
Ca sa evaluam rata de convergenta, introducem urmatoarea functie ce
masoara eroarea:
1
e(x) = (x x )T Q(x x ) = f (x) f ,
2
unde am folosit ca Qx q = 0 si f = f (x ). Observam ca eroarea e(x)
este zero daca si numai daca x = x . Prin calcule simple se poate arata
ca
2k rkT Qyk k2 rkT Qrk
e(xk ) e(xk+1 )
,
=
e(xk )
ykT Qyk
unde yk = xk x . T
inand cont ca Qyk = rk , obtinem:
(rkT rk )2
e(xk+1 ) = 1 T
e(xk ).
(rk Qrk )(rkT Q1 rk )
Putem arata usor utilizand inegalitatea lui Kantorovich:
min
y6=0
(y T y)2
4min max
=
T
T
1
(y Qy)(y Q y)
(min + max )2
99
6.2
100
6.2.1
101
dTi Qx
dTi q
=
.
dTi Qdi
dTi Qdi
n
X
dTi q
di
x =
T
d
Qd
i
i
i=1
rkT dk
,
dTk Qdk
rk = Qxk q
vectorii
sunt
liniar
x x0 = 0 d0 + 1 d1 + + n1
dn1
dTk Q(x x0 )
.
dTk Qdk
102
In concluzie,
k =
dTk Q(x xk )
rkT dk
=
dTk Qdk
dTk Qdk
xx0 +Sk
1 T
x Qx q T x;
2
6.2.2
103
d1
x2
x1
d0
f(x1)
T
Qdk
rk+1
.
dT
k Qdk
rkT rk
;
dT
k Qdk
T
rk+1
rk+1
.
rkT rk
104
1 T
r r .
k k+1 k+1
105
6.2.3
pentru orice
k = 0, 1, , n 1, unde k =
T
2 f (xk )dk
rk+1
;
2 f (x )d
dT
k k
k
106
T
rk+1
rk+1
;
T
rk rk
(rk+1 rk )T rk+1
.
k =
rkT rk
k =
107
Capitolul 7
Metode de ordinul II pentru
(UNLP)
Metodele de ordinul doi sunt cele mai complexe metode numerice de
optimizare, deoarece folosesc informatie despre curbura functiei obiectiv
sau matricea Hessiana. De obicei, aceste metode converg mult mai rapid
decat metodele de ordinul ntai, dar sunt n general dificil de implementat
deoarece calcularea si memorarea matricei Hessiane poate fi costisitoare
din punct de vedere numeric. Metoda Newton este un exemplu de metoda
de ordinul doi care consta n devierea directiei antigradientului prin
premultiplicarea lui cu inversa matricei Hessiane. Aceasta operatie este
motivata prin gasirea unei directii adecvate pentru aproximarea Taylor de
ordinul doi a functiei obiectiv. In general, pentru probleme de dimensiuni
mari, se prefera implementarea unei metode de ordinul ntai care ia n
calcul structura functiei obiectiv. Adesea un sir de gradienti pot fi folositi
la aproximarea curburii de ordinul doi a functiei obiectiv. Metode ce se
bazeaza pe aceasta procedura se numesc metode quasi-Newton.
In acest capitol ne ocupam de rezolvarea unei probleme generale neliniare
de optimizare neconstransa (UNLP) cu metode numerice ce utilizeaza
informatie furnizata de gradient si Hessiana (informatie de ordin doi)
sau o aproximare a acesteia (adica ce se bazeaza pe informatie de ordinul
ntai):
(UNLP ) :
f = minn f (x),
xR
(7.1)
109
7.1
Metoda Newton
F
(yk )(y yk ) = 0.
y
(7.2)
F
(yk )
y
1
F (yk ).
110
x 1.2
2
1
0.8
0.6
0.4
0.6
0.8
1.2
1.4
1.6
111
f(x)
xk+1 x
k
strict convexe obtinem din nou xk+1 = xk (2 f (xk ))1 f (xk ), adica
aceeasi formula, nsa cu o interpretare diferita. Facand analogia cu
interpretarea metodei gradient, observam ca n ambele metode iteratia
xk+1 se genereaza din rezolvarea unei aproximari patratice n care
termenul liniar este acelasi, dar termenul patratic n metoda gradient este
(yxk )T In (yxk ) n timp ce n metoda Newton este (yxk )T 2 f (xk )(y
xk ). Este clar ca aproximarea patratica a functiei f folosita n metoda
Newton este mai buna decat cea folosita n metoda gradient si deci ne
asteptam ca metoda Newton sa performeze mai bine fata de metoda
gradient.
Putem ntr-o maniera similara celei anterioare sa interpretam derivarea
directiei Newton, si anume din aproximarea Taylor avem:
1
f (xk + d) f (xk ) + f (xk )T d + dT 2 f (xk )d
2
si deci definim directia Newton:
1
dk = arg min f (xk ) + f (xk )T d + dT 2 f (xk )d.
d
2
Se observa ca daca 2 f (xk )0, din conditiile de optimalitate
corespunzatoare unei probleme QP strict convexe obtinem din nou
directia Newton dk = 2 f (xk )1 f (xk ).
112
7.1.1
Rata de convergent
a local
a a metodei Newton
f (xk ) = f (x ) +
2 f (x + (xk x ))(xk x )d .
0
Se obtine:
113
Intrucat
k2 f (xk ) 2 f (x )k Mkxk x k
2 l
,
3M
de unde rezulta:
0 (2 f (xk ))1
Concluzionam urmatoarele:
kxk+1 x k
2
1
In .
l Mkxk x k
l Mkxk x k 0
Z 1
1
M(1 )d kxk x k2
l Mkxk x k 0
1
M
kxk x k2 .
l Mkxk x k 2
kxk+1 x k 2l kxk x k .
Remarca 7.1.1 Din teorema anterioara putem concluziona ca metoda
Newton are o rata de convergenta foarte rapida n apropierea punctului
de optim local. Mai mult, observam ca metoda Newton converge ntr-un
singur pas pentru probleme patratice convexe. Deci n comparatie cu
metodele de ordinul ntai unde n cel mai bun caz convergenta se atinge
n n pasi, n metoda Newton obtinem convergenta n exact un pas
pentru problemele patratice convexe. Principalul dezavantaj al acestei
metode este necesitatea de a calcula Hessiana functiei f si inversarea
acestei matrice. Aceste operatii sunt costisitoare, complexitatea fiind de
ordinul O(n3 ), si deci pentru dimensiuni mari ale problemei de optimizare
(UNLP), de exemplu n > 103 , aceste operatii sunt foarte greu de realizat
pe un calculator obisnuit.
114
7.1.2
Convergenta global
a a metodei Newton
|| f(x ) ||
|f(xk)f |
4.5
0.25
4
3.5
0.2
0.15
2.5
2
0.1
1.5
1
0.05
0.5
10
12
14
10
12
14
115
c1 k 1 kf (xk )k2 0.
(7.3)
k
k
f (xk + dk ) f (xk ) > c1 f (xk )T dk .
k
d )
k
116
k
,
avem:
k
1 c1
Lkdk k2 > (1 c1 )dTk 2 f (xk )dk
kdk k2 ,
2
ceea ce conduce la k >
(1c1 )
2 L
1 )
de o constanta pozitiva min = (1c
. Am folosit faptul ca valorile
2 L
proprii ale matricei Hessiane satisfac conditia: 11 (2 f (xk )) 12 .
Din faptul ca k min > 0 si relatia (7.3) obtinem ca kf (xk )k 0
pentru k .
1
f (xk ),
(7.4)
7.2
117
Metode quasi-Newton
(7.5)
1
sau echivalent, notand Hk+1 = Bk+1
obtinem:
(7.6)
Ecuatia (7.5) sau (7.6) este cunoscuta sub numele de ecuatia secantei.
118
1
Pentru Hk+1
= 2 f (xk ) recuperam metoda Newton. Se observa ca avem
o interpretare similara celei a metodei Newton, si anume ca la fiecare
iteratie consideram o aproximare patratica convexa a functiei obiectiv
(i.e. Bk <0) si o minimizam pentru a obtine directia de la urmatorul pas:
1
dk = arg minn f (xk ) + f (xk )T d + dT Bk d.
dR
2
(7.7)
7.2.1
Actualiz
ari de rang unu
119
= |(k Bk k )T k |1/2 .
1
(k Bk k )(k Bk k )T .
(k Bk k )T k
1
Aplicand formula Sherman-Morrison pentru Hk+1 = Bk+1
obtinem urmatoarea actualizare pentru Hk+1 :
Hk+1 = Hk +
kT (k
1
(k Hk k )(k Hk k )T .
Hk k )
7.2.2
Actualiz
ari de rang doi
min
B=B T , Bk =k
kB Bk k,
120
n care k =
1
.
T
k k
1
obtinem ca actualizarea pentru Hk+1 = Bk+1
este data de expresia:
Hk+1 = Hk +
1
Tk k
k Tk
1
kT Hk k
(Hk k )(Hk k )T .
min
H=H T , Hk =k
kH Hk k,
121
calcularea noului punct xk+1 este de ordinul O(n2 ), mult mai mic decat
n cazul metodei Newton care are complexitate de ordinul O(n3 ). Mai
mult, directiile generate de metodele quasi-Newton sunt directii de
descrestere daca asiguram satisfacerea conditiei Hk 0. In general,
Hk (2 f (x ))1 pentru k , iar n anumite conditii vom arata ca
aceste metode au rata de convergenta superliniara.
7.2.3
Convergenta local
a a metodelor quasi-Newton
(7.8)
2(1 )
.
(7.9)
M
Atunci xk converge la x cu rata superliniara sub ipoteza ca k 0 sau
rata liniara daca k > > 0.
kx0 x k
Hk (Hk1
f (xk ))(xk x )
Z 1h
i
2
2
Hk
f (x + (xk x )) f (xk ) (xk x )d.
0
122
k kxk x k +
Mkx + (xk x ) xk kd kxk x k
0
Z 1
= k + M
(1 )d kxk x k kxk x k
0
M
= k + kxk x k kxk x k.
2
kxk+1 x k k kxk x k,
unde k = k + M2 kxk x k. Observam ca obtinem rata de convergenta
superliniara daca k 0, care are loc cand k 0.
Convergenta globala a metodelor quasi-Newton se poate arata n
aceeasi maniera ca n Teorema 7.1.2 corespunzatoare cazului metodei
Newton. Metodele quasi-Newton care se bazeaza pe aproximarea
inversei Hessianei reprezinta clasa de metode cea mai sofisticata pentru
rezolvarea problemelor de optimizare fara constrangeri si constituie
punctul culminant n dezvoltarea de algoritmi eficienti pentru aceste
tipuri de probleme. Desi folosesc numai informatie de gradient, n
special prin masurarea schimbarilor n gradienti, metodele quasi-Newton
construiesc o aproximare patratica a functiei obiectiv suficient de
buna pentru a produce convergenta superliniara. Aceste metode sunt
implementate n majoritatea pachetelor software existente: Matlab,
IPOPT, etc.
Capitolul 8
Probleme de estimare si
fitting
Problemele de estimare si fitting sunt probleme de optimizare avand
functii obiectiv cu structura speciala, si anume de tipul celor mai mici
patrate:
1
(8.1)
minn k M(x)k2 .
xR
2
In aceasta problema de optimizare, Rm sunt m masuratori si
M : Rn Rm este un model, iar x Rn se numesc parametrii modelului.
Daca adevarata valoare a lui x ar fi cunoscuta, am putea evalua
modelul M(x) pentru a obtine predictiile corespunzatoare masuratorilor.
Calculul lui M(x), ce poate reprezenta o functie foarte complexa si
de exemplu include n structura sa solutia unei ecuatii diferentiale, se
numeste uneori problema forward : pentru intrari date ale modelului, se
determina iesirile corespunzatoare.
In problemele de estimare si fitting se cauta setul de parametri ai
modelului x ce realizeaza o predictie M(x) cat mai exacta pentru
masuratorile date. Aceasta problema este denumita uzual problema
inversa : pentru un vector de iesiri ale modelului , se cauta intrarile
corespunzatoare folosind un model ce depinde de setul de parametri
x Rn . Aceasta clasa de probleme de optimizare (8.1) este frecvent
intalnita n cadrul unor aplicatii cum ar fi:
- aproximare de functii si estimare de parametri;
- estimare online pentru controlul proceselor dinamice;
- prognoza meteo (asimilare de date meteorologice).
124
8.1
1
1
1
.
..
..
.
=
, definim + =
r
r1
0
0
Teorema 8.1.1 Daca rang(J) = n, atunci
J + = (J T J)1 J T .
Daca rang(J) = m, atunci
J + = J T (JJ T )1 .
125
x = (J T J)1 J T = J + .
(8.2)
1
1 1 1
m
126
1 X
x =J =
i = .
m i=1
n care este acelasi vector ca si n cazul (8.3), iar matricea J are forma:
1 t1
J = ... ... .
1 tn
Punctul de minim local este determinat de ecuatia (8.2), unde calculul
matricei (J T J) este trivial:
P
1 t
m
t
i
T
P 2 =m
.
J J= P
ti
ti
t t2
Pentru a obtine x , n primul rand se calculeaza (J T J)1 :
1
t2 t
T
1
(J J) =
.
m(t2 (t)2 ) t 1
1 1 ..
i
T
=m .
J =
. = P
i ti
t1 tm
t
m
(8.4)
(8.5)
127
1 t2 t t
tt
x = 2
.
t t + t
t
p(t; x ) = + (t t) .
t
8.1.1
2
2
min f(x) = k Jxk + kxk ,
(8.7)
xRn
2
2
cu o constanta > 0 suficient de mica. Se stie ca problema de optimizare
(8.7) este echivalenta cu problema de optimizare (8.6) cu conditia ca
128
(8.8)
q
Lema 8.1.1 Urm
atoarea relatie are loc pentru o matrice J Rmn :
lim (J T J + In )1 J T = J + .
VVT
T
= V ( + In ) V V U
U T V T
= V (T + In )1 T U T .
1
12 +
1
.
..
..
.
V
2
r +
r
0
Calcularea produsului de matrice conduce la:
1
12 +
..
r
r2 +
T
U
T
U .
129
8.1.2
Formularea statistic
a a problemelor CMMP
liniare
m
Y
i=1
P (i | x) =
m
Y
exp
i=1
(i Mi (x))2
2i2
(8.9)
m
X
i=1
(i Mi (x))2
.
2i2
xR
= arg minn
xR
m
X
(i Mi (x))2
i=1
2 2
log(P (|x))
= arg minn
xR
1
kS 1( M(x))k2 ,
2
2
unde S = diag(12 , . . . , m
). Deci, concluzionam ca problema CMMP are
o interpretare statistica. Se observa ca datorita faptului ca putem avea
diferite deviatii standard i pentru diferite masuratori i , se recomanda
scalarea masuratorilor si functiilor modelului pentru a obtine o functie
130
8.2
1
kS 1 S 1 M(x)k2 .
2
8.2.1
131
F (x)
,
x
132
8.2.2
Metoda Levenberg-Marquardt
133
134
(8.11)
2(1 )
.
M
(8.12)
8.3
135
xt = G(ut )
A(q 1 ) = 1 + a1 q 1 + a2 q 2 + + anA q nA
B(q 1 ) = b0 + b1 q 1 + b2 q 2 + + bnB q nB .
(8.13)
T
xa = [a1 a2 anA ]
T
xb = [b0 b1 bnB ]
(8.16)
T
x = [1 2 n ] ,
unde pentu consistenta notam i pentru i cu 1 , 2 , , m
(m reprezinta cardinalitatea multimii ) si cu fi , functiile de baza
136
(8.17)
j = [b0 j b1 j bnB j ]T
(8.18)
(8.19)
F (xa , xb , x ) =
T
T
yNmax a (Nmax ) xa xb QNmax x
(8.20)
T
unde F are o structura biliniara, x = xTa xTb xT Rn si n = nA +
nB + m. Observam ca functia F (xa , xb , x ) este diferentiabila:
T
a (N0 )T
xT BN
xTb BN0
0
.
F (xa , xb , x ) =
T
T
T T
a (Nmax ) x BNmax xb BNmax
Din Fig. 8.3 se observa o urmarire foarte buna a traiectoriei masurate
ym de catre sistemul Hammerstein ai carui parametri au fost obtinuti ca
solutie a problemei celor mai mici patrate neliniare rezolvata cu metoda
Gauss-Newton.
137
0.14
y estimat
ym masurat
0.12
0.1
y, y
0.08
0.06
0.04
0.02
0
0.02
0.04
0
50
100
150
200
300 masuratori
250
300
prezentate aici cat si alte metode care nu au fost abordate se pot gasi n
cartile clasice de optimizare neliniara ale lui Bertsekas [2], Luenberger [9],
Nesterov [11] si Nocedal si Wright [13]. Teoria optimizarii dezvoltata aici
urmeaza n linii mari prezentarea din [9]. Pentru cazul convex, o analiza
completa a metodelor de optimizare existente se gaseste n [11]. Dintre
cartile dedicate implementarii numerice a acestor metode de optimizare
amintim de exemplu lucrarea lui Gill, Murray si Wright [7]. O descriere
detaliata a pachetelor software existente pe piata este data n More si
Wright [10].
Partea III
Optimizare cu constr
angeri
Capitolul 9
Teoria dualit
atii
In aceasta parte finala a lucrarii ne ndreptam din nou atentia asupra
problemelor de optimizare cu constrangeri (NLP). Expunerea noastra
va prezenta cazul constrans ca o generalizare a cazului neconstrans:
vom defini conditiile de optimalitate pentru cazul constrans (de ordinul
ntai si doi), apoi vom arata cum metodele numerice de optimizare de
ordinul ntai si doi pentru probleme de optimizare neconstranse pot fi
extinse la cazul n care avem constrangeri. In final vom discuta algoritmi
specializati pentru cazul particular al problemelor convexe constranse.
Incepem expunerea noastra cu teoria dualitatii, fundamentala n ntelegerea algoritmilor de optimizare prezentati ulterior. Reamintim ca o
problema neliniara cu constrangeri (NLP) (NonLinear Programming) n
forma standard este descrisa de:
min f (x)
xRn
min f (x)
xRn
141
defineste constrangerile de egalitate h : Rn Rp se presupune a fi de
doua ori diferentiabile. In acest caz, multimea fezabila asociata problemei
(NLP) este:
X = {x Rn : g(x) 0, h(x) = 0}
si astfel putem rescrie problema (NLP) si sub forma:
min f (x).
xX
contextul rutarii de
scalarul re reprezentand traficul de intrare n e. In
date ntr-o retea, re este rata de trafic ce intr
a si iese din retea prin
originea si destinatia lui e (masurata n unitati de date pe secunda).
Obiectivul de rutare este acela de a mparti fiecare trafic re ntre diferitele
rute existente de la originea i la destinatia j n asa fel ncat fluxul total
rezultat minimizeaza o functie cost adecvata. Notam cu Pe multimea
tuturor rutelor existente ntre originea i si destinatia j a lui e si cu xc
partea de trafic din re atribuita rutei c Pe , numita de asemenea fluxul
rutei c. Colectia tuturor fluxurilor de date {xc : c Pe , e E} trebuie
sa satisfaca urmatoarea constrangere:
X
cPe
xc = re
e E
142
P
Putem defini o functie cost de forma:
(i,j)E fij (tij ). Problema este
sa gasim toate fluxurile xc care minimizeaza aceasta functie cost cu
constrangerile anterioare:
X
min
fij (tij )
xc , tij
(i,j)E
s.l. : xc 0 c Pe , e E
X
X
xc = re e E, tij =
xc
cPe
c: (i,j)c
(i, j) E.
143
9.2). Inlocuind
x = ta n ecuatia ce defineste hiperplanul si rezolvand
pentru scalarul t obtinem t = b/(aT a), iar proiectia este data de expresia:
x =
b
aT a
a.
144
xR3 , R>0
s.l. : Ri R + ksi xk i = 1, . . . , m.
9.1
Functia Lagrange
valoarea optim
a globala a problemei de optimizare (NLP) cu f si o vom
numi valoarea optima primala:
(9.1)
f = minn f (x) : g(x) 0, h(x) = 0 .
xR
145
f = min f (x).
xX
(9.3)
146
9.2
Problema dual
a
(9.4)
0 si
orice pereche duala (,
) fezabila, adica
Rp , urmatoarea
inegalitate are loc:
q(,
) f .
(9.5)
Demonstratie: Aceasta lema este o consecinta directa a ecuatiei (9.3)
si a definitiei functiei duale: pentru x fezabil (i.e. g(
x) 0 si h(
x) = 0)
avem
p
Rm ,
q(,
) L(
x, ,
) f (
x)
x X,
+ R .
147
xR
= q(1 , 1 ) + (1 )q(2 , 2 ).
max
0, Rp
q(, ),
(9.6)
q f .
(9.7)
148
Interpretarea geometric
a: Dam o interpretare simpla a functiei
duale si a dualitatii slabe n termeni geometrici. Pentru a vizualiza
grafic, consideram un caz particular al problemei (NLP) de forma
minxRn {f (x) : g(x) 0}, avand o singura constrangere de inegalitate.
Definim multimea
S = {(u, t) : x Rn , f (x) = t, g(x) = u}.
Deoarece fezabilitatea cere ca g(x) 0, problema primala presupune
gasirea celui mai de jos punct al lui S situat n partea stanga a axei
verticale (vezi Fig. 9.4).
Este clar ca pentru un scalar dat functia duala se obtine din urmatoarea
problema de minimizare:
q() = min u + t.
(u,t)S
149
(9.8)
T v + t (u, v, t) S1
150
si
T u +
T v + t (u, v, t) S2 .
0 si 0 (altfel
T u + t
Din prima inegalitate se observa ca
este nemarginita inferior peste multimea S1 ). A doua inegalitate implica
t pentru orice t < f si deci f . Din aceasta discutie putem
concluziona ca pentru orice x Rn :
T g(x) +
f (x) +
T (Ax b) f .
Presupunem ca > 0. In acest caz, impartind ultima inegalitate prin
obtinem:
L(x, /,
/) f
x Rn .
=
Introducand notatiile = /,
/ si minimizand dupa x n
inegalitatea precedenta obtinem q(, ) f , ceea ce implica q(, ) =
f , adica dualitatea puternica are loc n acest caz.
Daca = 0 avem ca pentru orice x Rn :
T g(x) +
T (Ax b) 0.
Aplicand aceasta relatie pentru vectorul Slater x avem:
T g(
x) 0.
0, ceea ce conduce la
= 0. Dar avem
Dar stim ca gi (
x) < 0 si
(,
, ) 6= 0, ceea ce implica
6= 0. In concluzie, obtinem ca pentru
n
T
orice x R avem
(Ax b) 0. Dar pentru vectorul Slater x avem
T
(A
x b) = 0 si deci exista vectori x Rn astfel ncat
T (Ax b) < 0,
exceptie facand cazul n care AT
= 0. Dar AT
= 0 nu este posibil
deoarece rang(A) = p si
6= 0. In concluzie, cazul = 0 nu poate avea
loc.
Conditia Slater poate fi relaxata cand anumite constrangeri de inegalitate
gi sunt functii afine. De exemplu, daca primele r m constrangeri de
inegalitate sunt descrise de functiile g1 , . . . , gr afine, atunci dualitatea
puternica are loc daca urmatoarea conditie Slater relaxata este
satisfacuta: functiile f si gr+1, , gm sunt functii convexe, iar functiile
g1 , . . . , gr si h1 , . . . , hp sunt functii afine si exista x astfel ncat g (
x) 0
pentru = 1, . . . , r, gl (
x) < 0 pentru l = r + 1, . . . , m si h(
x) = 0.
151
xRn 0
0 xR
152
f = minn
L(x, , ) =
Functia dual
a este infimumul neconstrans al Lagrangianului n functie
de variabila x, Lagrangian ce este o functie patratica de x. Obtinem ca
duala are forma:
T
1 T
T
T
T
T
q(, ) = d b + infn
x Qx + q + C + A x
xR
2
T
1
q + C T + AT Q1 q + C T + AT ,
= T d T b
2
C
1 C
q = max p
Q
A
A
0, R
2
T
1
d + CQ1 q
q T Q1 q.
1
b + AQ q
(9.9)
153
de (9.9) are constrangeri mult mai simple, adica multimea fezabila este
descrisa de constrangeri foarte simple: 0 si Rp . Observam
ca ultimul termen n functia duala este o constanta, care trebuie nsa
pastrata pentru ca q = f , adica dualitatea puternica sa fie mentinuta.
9.3
Programare liniar
a (LP)
s.l.: Cx d 0,
Ax b = 0.
xRn
154
xRn
j = 1, . . . , m
x =
q
X
i vi ,
i=1
P
unde i 0 si qi=1 i = 1. Este clar ca cT vi f , deoarece vi este
fezabil pentru orice i. Notam cu I multimea de indecsi definita astfel:
I = {i : i > 0}. Daca exista i0 I astfel ncat cT vi0 > f , atunci:
X
X
f = cT x = i0 cT vi0 +
i cT vi >
i f = f
iI\{i0 }
iI
155
xRn
156
Figura 9.6: V
arfurile unui simplex in R3 .
157
xRn
s.l.:
n
X
10ni xi
i=1
i1
X
j=1
10ij xj
+ xi 100i1
i = 1, . . . , n
xi 0 i = 1, . . . , n.
Pentru o astfel de problema, la 100 de variabile, algoritmul va avea 2100
1030 iteratii, si chiar la o viteza de un miliard iteratii pe secunda (mult
peste puterea unui calculator actual) va termina n 1013 ani. Nu se stie
nca daca exista sau nu o alta modalitate de trecere de la o baza la
alta, folosind tabelele simplex, prin care algoritmul simplex standard sa
devina polinomial. Au fost nsa gasiti algoritmi alternativi care nu se
bazeaza pe tabele simplex, primul de acest gen fiind algoritmul de punct
interior al lui Karmakar, despre care s-a demonstrat ca are complexitate
polinomiala.
In ciuda dezavantajelor amintite, algoritmul simplex ramane si n zilele
noastre cel mai eficient algoritm n ceea ce priveste viteza de lucru,
simplitatea si implementarea pe calculator. Mai mult, folosirea acestuia
aduce informatii mult mai ample decat gasirea solutiei propriu-zise, este
mult mai maleabil n cazul modificarilor ulterioare ale datelor problemei
si se preteaza mult mai bine la interpretari economice. Un argument
158
altfel.
Astfel, functia obiectiv duala q(, ) este de asemenea liniara si ia
valoarea n toate punctele ce nu satisfac egalitatea liniara c + C T +
AT = 0. Din moment ce vrem sa maximizam functia duala, aceste
puncte pot fi privite ca puncte nefezabile a problemei duale (de aceea,
le numim dual nefezabile), si putem scrie n mod explicit duala LP-ului
precedent ca:
T
q =
max
m
p
b
R , R
s.l.: 0,
c + C T + AT = 0.
159
Capitolul 10
Conditii de optimalitate
pentru (NLP)
In acest capitol vom defini conditiile necesare si suficiente de optimalitate
pentru cazul problemelor constranse. Vom arata ca aceste conditii de
optimalitate pot fi privite ca o generalizare a cazului neconstrans la
cel constrans n care n locul functiei obiectiv folosim Lagrangianul.
Reamintim problema (NLP) n forma standard:
(NLP ) :
min f (x)
xRn
(10.1)
161
minxX f (x) urmatoarele conditii de optimalitate sunt satisfacute: daca
x este minim local atunci:
f (x )T (x x ) 0 x X.
Daca n plus f este functie convexa atunci x este punct de minim daca
si numai daca:
f (x )T (x x ) 0 x X.
Punctele x ce satisfac inegalitatea anterioara se numesc puncte
stationare pentru problema (NLP) cu constrangeri convexe. Inainte sa
continuam cu definirea altor conditii de optimalitate mai generale, vom
avea nevoie sa introducem notiunea de constrangere activa/inactiva.
Definitia 10.0.1 (Constr
agere activ
a/inactiv
a) O constrangere de
inegalitate gi (x) 0 se numeste activa n punctul fezabil x X daca
si numai daca gi (x) = 0, altfel ea se numeste inactiva. Desigur, orice
constrangere de egalitate hi (x) = 0 este activa ntr-un punct fezabil.
Definitia 10.0.2 (Multimea activ
a) Multimea de indecsi, notata
A(x) {1, . . . , m}, corespunzatoare constrangerilor active este numita
multimea activ
a n punctul x X.
Considerarea constrangerilor active este esentiala deoarece ntr-un punct
fezabil x acestea restrictioneaza domeniul de fezabilitate aflat ntr-o
vecina- tate a lui x, n timp ce constrangerile inactive nu influenteaza
aceasta vecinatate. In particular, se poate observa usor ca daca x este
un punct de minim local al problemei (NLP), atunci x este de asemenea
minim local pentru probleme de optimizare numai cu constrangeri de
egalitate:
min f (x)
xRn
162
10.1
min
xRn
f (x)
(10.2)
s.l.: h(x) = 0.
Observatiile obtinute din aceasta categorie de probleme, n care toate
constrangerile sunt considerate active, vor fi utilizate ulterior pentru
problemele (NLP) generale. Mai ntai nsa, trebuie sa definim anumite
notiuni ce se vor dovedi esentiale n analiza noastra. O curba pe o
suprafata S este o multime de puncte x(t) S continuu parametrizate n
t, pentru a t b. O curba este diferentiabila daca x(t)
= dx(t)
exista
dt
si este de doua ori diferentiabila daca x(t) exista. O curba x(t) trece
prin punctul x daca x = x(t ) pentru un t ce satisface a t b.
Derivata curbei n x este desigur definita ca x(t
). Acum, consideram
toate curbele diferentiabile aflate pe suprafata S, ce trec printr-un punct
x . Planul tangent in x S este definit ca multimea tuturor derivatelor
acestor curbe diferentiabile in t , adica multimea tuturor vectorilor de
forma x(t
) definite de curbele x(t) S.
Pentru o functie h : Rn Rp , cu h(x) = [h1 (x) . . . hp (x)]T notam
Jacobianul sau prin h(x), unde reamintim ca h(x) este o matrice
p n cu elementul hxi (x)
pe pozitia (i, j):
j
h1 (x)
x1
h(x) =
..
.
hp (x)
x1
...
..
.
...
h1 (x)T
..
=
.
h1 (x)
xn
..
.
hp (x)
xn
hp (x)
(10.3)
Definitia 10.1.1 (Punct regulat) Un punct x ce satisface contrangerea h(x ) = 0 se numeste punct regulat daca gradientii componentelor lui
h, h1 (x ), . . . , hp (x ), sunt liniar independenti.
De exemplu, daca h(x) este afina, adica h(x) = Ax b cu A Rpn ,
atunci conditia de regularitate este echivalenta cu matricea A sa aiba
rangul egal cu p.
Teorema 10.1.1 Intr-un punct regulat x al suprafetei S definita de
constrangerile de egalitate h(x) = 0, planul tangent este egal cu:
M = {d Rn : h(x )d = 0}.
Demonstratie: Notam prin T planul tangent n x . Pentru ca T = M
trebuie sa demonstram incluziunea dubla T M si M T . Este clar ca
T M, chiar daca x este regulat sau nu, deoarece orice curba x(t) ce
trece prin x la t = t , avand derivata x(t
) astfel ncat h(x )x(t
) 6= 0
nu ar fi n S (tinem seama ca h(x(t)) = 0 pentru orice a t b). Pentru
a demonstra ca M T , trebuie sa aratam ca pentru un d M exista
o curba n S ce trece prin x cu derivata d n t . Pentru a construi o
asemenea curba, consideram ecuatia:
h(x + td + h(x )T u(t)) = 0
n care pentru un t fixat, consideram u(t) Rp ca fiind necunoscuta.
Aceasta ecuatie este un sistem de p ecuatii si p necunoscute, parametrizat
n mod continuu prin t. La t = 0 avem solutia u(0) = 0. Jacobianul
sistemului n functie de u la t = 0 este matricea:
h(x )h(x )T Rpp ,
ce este nesingulara din moment ce x este un punct regulat si astfel
h(x ) este de rang maxim. Ca urmare, prin teorema functie implicite
(vezi Apendice), exista o solutie continuu diferentiabila u(t) ntr-o
regiune a t a. Curba x(t) = x + td + h(x )T u(t) este astfel, prin
constructie, o curba in S. Prin derivarea sistemului la t = 0 avem:
d
0 = h(x(t)) = h(x )d + h(x )h(x )T u(0).
t=0
dt
= 0. Astfel
x(0)
= d + h(x )T x(0)
=d
164
iar h(x ) = [3 3 1], ceea ce arata ca x este punct regulat. Astfel, din
definitia planului tangent (conform teoremei anterioare), orice directie
tangenta d = [d1 d2 d3 ]T va trebui sa satisfaca
h(x )d = 0,
si anume 3d1 + 3d2 + d3 = 0. In Fig. 10.1 am reprezentat suprafata
definita de h(x) = 0 si planul tangent n punctul x = [0 0 1]T .
50
x3 0
50
100
150
200
250
10
10
5
x2
0
5
10
10
x1
h(x )d = 0
f (x )T d = 0.
f (x ) + h(x )T = 0 si h(x ) = 0.
s.l.: h(x )d = 0
este zero. Astfel, din moment ce LP-ul are o valoare optima finita, atunci
din teorema dualitatii pentru LP, duala ei va fi fezabila. In particular,
exista un Rp astfel ncat f (x ) + h(x )T = 0.
Punctele x pentru care exista astfel ncat conditiile (KKT-NLPe)
sunt satisfacute se numesc puncte stationare pentru problema (NLPe).
Observam ca daca exprimam Lagrangianul asociat problemei constranse:
L(x, ) = f (x) + T h(x)
atunci conditiile necesare de ordinul I pot fi rescrise sub forma:
x L(x , ) = 0
L(x , ) = 0
166
x1 + x2 .
Mai ntai observam ca orice punct fezabil este regulat (punctul x = [0 0]T
concluzie, orice minim local al acestei probleme
nu este fezabil). In
satisface sistemul L(x, ) = 0 care se poate scrie explicit astfel:
2x1 = 1
2x2 = 1
x21 + x22 = 2.
Aceste sistem de trei ecuatii cu trei necunoscute x1 , x2 si are
urmatoarele doua solutii: (x1 , x2 , ) = (1, 1, 1/2) si (x1 , x2 , ) =
(1, 1, 1/2). Se poate observa (vezi Fig. 10.2) ca prima solutie este un
minim local, n timp ce cealalta solutie este un maxim local.
Este important sa observam ca pentru ca un punct de minim sa satisfaca
conditiile de ordinul I este necesar sa avem regularitate. Cu alte cuvinte,
conditiile de optimalitate de ordinul I pot sa nu aiba loc la un punct de
minim local care nu este regulat.
Exemplul 10.1.3 Consideram problema:
min x1
xR2
10.2
168
h(x ) = 0.
p
X
i=1
i 2 hi (x )
+ f (x )T x(0).
2
dt
t=0
(10.5)
p
X
i=1
i 2 hi (x ) x(0)
+ ( )T h(x )
x(0) = 0.
(10.6)
0.
f (x(t)) = x(0)
2
t=0
dt
(10.7)
Presupunem de asemeneaP
ca matricea data de Hessiana Lagrangianului
2
k2 T 2
s hj (j )sk
2 k
k2 T 2
s f (0 )sk ,
2 k
(10.8)
(10.9)
170
x1 x2 x1 x3 x2 x3 .
0 1 1
2x L(x, ) = 2 f (x) = 1 0 1 ,
1 1 0
0
2
D(x) = 1 1 .
1 1
Obtinem:
T
D(x )
2x L(x , )D(x )
2 0
=
0,
0 2
xRn
172
10.3
min f (x)
xRn
f (x ) + h(x )T + g(x )T = 0
T
g(x ) = 0
g(x ) 0, h(x ) = 0
Rp , 0.
(10.10)
(10.11)
173
174
xR2
175
10.4
= f (x ) +
p
X
i=1
i 2 hi (x )
m
X
i=1
i 2 gi (x )
176
177
unde am definit multimile de indecsi A+ (x ) = j : gj (x ) = 0, j > 0
si A0 (x ) = j : gj (x ) = 0, j = 0 .
Exemplul 10.4.1 Consideram problema:
min
x2 .
1 + 2x2 = 0,
178
f = minn f (x)
xR
s.l: g(x) 0, Ax = b,
n care functiile f si g1 , , gm sunt functii convexe. Daca urmatoarele
conditii (KKT) sunt satisfacute pentru tripletul (x , , ):
(KKT-CP) :
f (x ) + g(x )T + AT = 0
g(x )T = 0
g(x ) 0, Ax = b
Rp , 0,
179
x: Ax=b
Ax = b.
x: Ax=b
1 T
x Qx + q T x,
2
xR2
s.l.:
2x1 1/2 1 0
2(x1 5)
= 0
+
2x2 1
0 1
2(x2 5)
gi (x ) 0, i 0, i gi (x ) = 0 i = 1, . . . , 4.
(10.12)
180
care are solutia x = [2 1]T , si deci x este punct de minim global pentru
problema convexa considerata.
Capitolul 11
Metode de ordinul I si II
pentru (NLP) av
and
constr
angeri convexe
In acest capitol vom analiza metode numerice de optimizare pentru
probleme (NLP) unde multimea fezabila este convexa, adica:
min f (x),
xX
(11.1)
Notam cu [x0 ](In ,X) solutia optima a acestei probleme, adica proiectia
[x0 ](In ,X) este acel vector din X care se afla la cea mai mica distanta de
182
x X.
(11.2)
(11.3)
11.1
183
k k0
184
k k,
unde
k = k /. Din teorema valorii medii avem ca exista scalarul
k [0,
k ] astfel ncat
f (xk +
k dk )T dk < c1 f (xk )T dk k k.
Evaluand limita n ambele parti obtinem:
f (
x)T d c1 f (
x)T d
sau echivalent
Dar c1 < 1 si deci
0 (1 c1 )f (
x)T d.
0 f (
x)T d,
11.1.1
185
186
k k0
lim sup k
xk xk k < .
k k0
Deoarece X este compacta, atunci este evident ca cea de-a doua relatie
are loc. Pentru a demonstra prima relatie, observam mai ntai
f (xk )T (
xk xk ) f (xk )T (x xk ) x X
si evaluand limita obtinem:
lim sup f (xk )T (
xk xk ) f (
x)T (x x) x X.
k k0
k k0
xX
11.1.2
187
1
(x xk )T In (x xk ).
2sk
188
k=0
sk = , de
k k0
lim sup k
xk xk k < .
k k0
189
(11.4)
L
k
xk xk k2 .
2
L 1
)k
xk xk k2 .
2
s
Daca s (0, 2/L), partea dreapta a acestei relatii este negativa si deci
daca sirul xk este convergent, partea stanga tinde la 0. In concluzie, sirul
190
k
xk xk k tinde la 0 si deci pentru orice punct limita x al sirului xk avem
x = [
x sf (
x)](In ,X) , i.e. x este punct stationar.
Rata de convergenta a metodei gradient proiectat este n esenta similara
celei corespunzatoare cazului neconstrans. De exemplu, consideram cazul
patratic:
1
f (x) = xT Qx q T x,
2
unde Q este matrice pozitiv definita. Fie x unicul punct de minim
al lui f peste multimea fezabila X. Consideram cazul cand k = 1 si
sk = s. Folosind proprietatile proiectiei (n particular proprietatea de
nonexpansiune) avem:
kxk+1 x k = k[xk sf (xk )](In ,X) [x sf (x )](In ,X) k
kxk sf (xk ) (x sf (x ))k = k(In sQ)(xk x )k
max{|1 smin|, |1 smax |}kxk x k,
adica rata de convergenta liniara. De aceea, n partea finala a acestui
capitol vom considera metode bazate pe scalare, adica aplicarea metodei
gradient proiectat ntr-un sistem de coordonate diferit. Un caz particular
al acestor metode este metoda Newton.
11.2
1
(x xk )T 2 f (xk )(x xk ). (11.5)
2sk
191
xX
x = Hk
y.
Yk = {y : Hk
y X}.
1
ky yk k2 .
2sk
xk = Hk
yk ,
1/2
xk = Hk
yk ,
1/2
fk (yk ) = Hk
f (xk ).
192
1
(x xk )T Hk (x xk )
2sk
(11.6)
x X.
193
kxk+1 x kHk M
k2 f (xk )2 f (x + (xk x ))kHk d kxk x kHk ,
0
Capitolul 12
Metode de optimizare pentru
(NLP) av
and constr
angeri de
egalitate
In acest capitol consideram metode numerice de optimizare pentru
problema (NLP) avand constrangeri de tip egalitate:
(NLP e) :
min f (x)
(12.1)
s.l.: h(x) = 0,
(12.2)
xRn
x L(x , ) = 0
h(x ) = 0,
195
Exemplul 12.0.1 (Control optimal) Consideram sistemul dinamic
liniar discret:
zt+1 = At zt + Bt ut t 0,
N
X
zt (zt )
t=1
N
1
X
ut (ut )
(12.3)
t=0
s.l.: zt+1 = At zt + Bt ut
t = 0, . . . , N 1.
si functia obiectiv
f (x) =
N
X
t=1
zt (zt ) +
N
1
X
ut (ut ).
t=0
196
0
0 ...
0
0
0
B0 Inz
A0 z0
0
0
0
0
0
A1 B1 Inz . . .
A = ..
s
i
b
=
.. .
..
..
..
..
..
..
..
.
.
.
.
.
.
.
.
.
0
0
0
0
0 . . . AN 1 BN 1 Inz
12.1
1 T
x Qx q T x
2
s.l.: Ax = b,
min
xRn
A 0
Q AT
numita matricea (KKT).
Definim matricea K =
A 0
Lema 12.1.1 Observam ca matricea (KKT) este ntotdeauna indefinita.
Daca matricea A Rpn are rangul p si pentru orice d kernel(A) cu
d 6= 0 avem dT Qd > 0, atunci matricea (KKT) este inversabila.
Demonstratie: Reamintim definitia subspatiului kernel(A) = {x
Rn : Ax = 0}. O formulare echivalenta a proprietatii de inversabilitate
pentru o matrice patratica implica faptul ca singura solutie a sistemului:
Q AT
y = 0,
(12.4)
A 0
197
u
,
este vectorul 0. Daca partitionam solutiile sistemului astfel: y =
v
ramane de aratat ca singurele instante ale vectorilor u si v care satisfac
sistemul (12.4) sunt nule. Din (12.4) avem:
Qu + AT v = 0 si Au = 0.
A doua ecuatie indica u kernel(A). Inmultind la stanga n prima
ecuatie cu uT obtinem:
uT Qu + uT AT v = 0.
(12.5)
T
inand cont ca u kernel(A), iar n enunt am presupus ca uT Qu > 0,
concluzionam ca relatia (12.5) este imposibil de satisfacut pentru orice
u 6= 0. Pe de alta parte, considerand u = 0 si v 6= 0, prima ecuatie a
sistemului (12.4) devine AT v = 0. Deoarece matricea A are rang maxim
pe linii, matricea AT are rang maxim pe coloane, si deci singurul vector
ce satisface AT v = 0 este v = 0. In final, am aratat ca unicul vector ce
satisface sistemul (12.4) este vectorul nul.
Daca A are rang p, atunci conditia de regularitate este ndeplinita pentru
orice punct x Rn n problema (QPe) precedenta. Mai departe, daca
pentru orice d kernel(A) cu d 6= 0 avem dT Qd > 0, atunci conditiile
suficiente de ordinul II sunt satisfacute pentru (QPe). In concluzie,
pentru o problema patratica cu constrangeri de egalitate n forma
(QPe), existenta unui minim local este echivalenta cu inversabilitatea
matricei (KKT). Exista multe modalitati de rezolvare a sistemului (KKT)
anterior. Dintre aceste metode, enumeram:
(i) metoda factorizarii LU se bazeaza pe factorizarea LU a matricei
KKT si apoi rezolvarea celor doua sisteme triunghiulare. Datorita
faptului ca K este matrice indefinita, nu putem folosi factorizare
Cholesky. In schimb, putem utiliza eliminarea gaussiana cu
pivotare partiala pentru a obtine factorii L si U. In aceasta
factorizare nu luam n calcul simetria. De aceea, n general se
utilizeaza o factorizare Cholesky indefinita: P T KP = LDLT , unde
P este o matrice de permutare, L este inferior triunghiulara si D
este o matrice bloc diagonala cu blocuri de dimensiune 1 sau 2.
Putem de asemenea utiliza metode iterative din algebra liniara sau
optimizare (e.g. metoda gradientilor conjugati sau metode Krylov).
(ii) metoda complementului Schur presupune ca matricea Q este
inversabila si A are rangul p si se bazeaza pe eliminarea lui x din
198
prima ecuatie:
x = Q1 (AT q)
si apoi introducerea acestei expresii n cea de-a doua ecuatie
obtinand
AQ1 AT = AQ1 q b.
Rezolvam sistemul liniar n cu matricea AQ1 AT pozitiv definita
si apoi recuperam x. Aceasta metoda necesita ca Q sa fie
inversabila, ceea ce nu este ntotdeauna valabil, si apoi calcularea
factorizarii matricei AQ1 AT , care este complementul Schur al lui
Q n matricea K.
(iii) metoda spatiului nul se bazeaza pe gasirea unei baze Z Rn(np)
pentru kernel(A) si apoi se defineste x = Zv + y, unde y este
o solutie particulara a sistemului Ay = b. Orice x = Zv + y
satisface Ax = b, astfel ncat trebuie sa luam n considerare doar
prima ecuatie din sistemul (KKT). Aceasta se poate reformula ca
o problema de minimizare neconstransa:
min
np
vR
1
(Zv + y)T Q(Zv + y) q T (Zv + y).
2
v = (Z T QZ)1 (Z T qZ T Qy).
xR3
s.l.: x1 + x2 = 3,
x2 + x3 = 0.
6 2 1
8
3
1
0
1
Q = 2 5 2 , q = 3 , A =
.
, b=
0
0 1 1
1 2 4
3
199
12.2
Metode Lagrange
L(x, ) = 0.
x L(x, )
,
si F (y) = L(x, ) =
h(x)
200
201
12.2.1
yk+1 = yk k L(yk ),
202
ale acestei metode prin alegerea altei functii merit. De exemplu, putem
utiliza urmatoarea functie merit:
1
1
M (x, ) = kx L(x, )k2 + kh(x)k2 L(x, ),
2
2
unde > 0 este suficient de mic. In aceeasi maniera ca mai nainte
se poate arata ca directia (x L(xk , k ), h(xk )) este o directie de
descrestere pentru M , si anume:
[(Lk lk + ATk hk lk )T (Ak lk hk )T ][lkT hTk ]T
= lkT (Lk In )lk h2k < 0,
R =
L(x , ) H(x , )
sunt n interiorul cercului unitate. Atunci, (x , ) este un punct de
atractie al iteratiei (ML) si cand sirul generat (xk , k ) converge la
(x , ), rata de convergenta este liniara.
Demonstratie: Notam cu y = [xT T ]T si cu M(y) =
[L(x, ) H(x, )]. Din teorema valorii medii avem ca pentru orice doi
vectori y si y:
M(
y ) M(y) = RT (
y y),
203
si n acelasi timp:
Re(
y T By) = Re zT 2x L(x , )z + zT h(x )w w T h(x )z .
204
Deoarece Re(
z T Dw) = Re(w T Dz) pentru orice matrice D cu intrari
numere reale, obtinem:
Re(
y T By) = Re zT 2x L(x , )z = Re()(kzk2 + kwk2).
12.2.2
Metoda Lagrange-Newton
F
(yk )(y yk ) = 0
y
(12.7)
F
(yk )
y
1
F (yk ).
205
(12.8)
206
2
1.5
1
0.5
2
0.5
1
1.5
2
0.8
1.2
1.4
1.6
1.8
(12.9)
12.3
min f (x)
(12.10)
s.l.: Ax = b,
(12.11)
xRn
f (x ) + AT = 0, Ax = b.
208
vRnp
(12.12)
xRn : x1 ++xn =b
f (x).
Putem elimina de
xn = b x1 xn1 care corespunde lui
exemplu
In1
Rnn1. Problema fara constrangeri devine:
y = ben si Z =
eT
min f (x1 , . . . , xn1 , b x1 xn1 ).
xRn1
(12.13)
10
8
x2 6
4
2
0
0
x1
10
1/2
xk+1 = xk + k dk ,
210
Capitolul 13
Metode de optimizare pentru
(NLP) generale
In acest capitol vom prezenta metode numerice de optimizare pentru
cazul general al problemelor (NLP) n forma standard:
(NLP ) :
min f (x)
(13.1)
xRn
f (x ) + h(x )T + g(x )T = 0
g(x )T = 0
g(x ) 0, h(x ) = 0
Rp , 0.
212
Capitolul 13.
operare ale fiecarui generator s-a construit o curba de fitting astfel ncat
combustibilul necesar n generatorul 1 pentru producerea de x1 MW poate
fi exprimata sub forma:
w1 (x) = 1.46 + 0.15x1 + 0.0014x21
w2 (x) = 1.57 + 0.16x1 + 0.0013x21 ,
unde w1 si w2 sunt cantitatile de petrol, respectiv de gaz n unitati pe
ora. Similar pentru generatorul 2; pentru a produce cantitatea de x2
MW cerintele de combustibil sunt urmatoarele:
v1 (x) = 0.8 + 0.2x2 + 0.0009x22
v2 (x) = 0.72 + 0.22x2 + 0.0007x22 ,
unde v1 si v2 sunt cantitatile de petrol, respectiv de gaz n unitati pe
ora. De asemenea, generatorul 1 poate produce putere n intervalul
[18, 30] MW si generatorul 2 n intervalul [14, 25] MW. De asemenea,
combustibilul poate fi combinat aditiv, adica pentru a produce o cantitate
x1 de energie orice combinatie liniara de rate de combustibil utilizat va
produce aceeasi cantitate de electricitate:
x3 w1 (x1 ) + (1 x3 )w2 (x1 ),
unde x3 [0, 1]. La fel pentru generatorul 2. Problema de optimizare se
pune astfel: sa se determine ratele de producere a energiei x1 si x2 cat
si fractiunea de combustibil mixat x3 si x4 astfel ncat sa se minimizeze
consumul total de petrol, i.e.
min x3 w1 (x) + x4 v1 (x)
xR4
s.l.: x1 + x2 = 50
(1 x3 )w2 (x) + (1 x4 )v2 (x) 10
18 x1 30, 14 x2 25, 0 x3 1, 0 x4 1.
Acesta este un exemplu de problema neconvexa (NLP) avand constrangeri
de egalitate liniare si constrangeri de inegalitate de tip box si neconvexe.
Exemplul 13.0.3 (Compresia multi-nivel a unui gaz) O anumita
cantitate de gaz cu un flux de moli pe ora la presiunea de 1 atmosfera
se urmareste a fi comprimat la 64 atmosfere, folosind un compresor cu
trei niveluri. Presupunem ca procesul de compresie are loc reversibil
213
Pout
Ener = RT
,
RT
1 Pin
1
n care reprezinta raportul capacitatilor de ncalzire ale gazului, T
temperatura, R constanta ideala a gazului, iar Pin si Pout reprezinta
presiunea gazului la intrarea, respectiv iesirea dintr-un nivel. Pentru
compresia pe trei niveluri, efortul energetic este dat de:
x2
64
x1 +
+
3 .
Enertotala = RT
1
x1
x2
unde x1 este presiunea gazului la iesirea din primul nivel, x2 presiunea
la iesirea din cel de-al doilea nivel si = ( 1)/. Daca consider
am
1
cazul particular cand = 4 , iar parametrii si T sunt fixati, presiunile
optimale impuse x1 si x2 inter-nivel sunt solutiile urmatoarei probleme
de optimizare avand constrangeri de inegalitate (NLP):
1 41
x2 4
64
min2 f (x) = x1 +
+
xR
x1
x2
s.l.: x1 1, x2 x1 , 64 x2 ,
1
4
13.1
214
Capitolul 13.
(13.2)
xRn
h(x) = 0,
gi (x) = 0 i A
215
216
13.1.1
Capitolul 13.
CI x < d I .
Qx q + CAT A = 0
< 0, CA x dA = 0
A 0.
In plus, = [( )T ( )T ]T , unde = 0.
I
I
A
Principalii pasi n metoda multimilor active pentru problemele (QP) sunt:
13.2. Metoda p
atratic
a secventiala
217
13.2
Metoda p
atratic
a secvential
a
(13.3)
218
Capitolul 13.
d(x)
(x) = (x) ,
A (x)
219
13.2. Metoda p
atratic
a secventiala
m
X
i=1
|max{0, gi (x)}| .
k+1 ,
Mai exact, fie dk si (
k+1)) solutia si respectiv multiplicatorii
Lagrange pentru inegalitati si egalitati ai problemei patratice (13.3).
k+1 k . Atunci algoritmul
Definim de asemenea dk =
k+1 k si dk =
general are urmatoarea iteratie:
(SQP ) :
220
Capitolul 13.
unde (0, 1). Functia fmincon din Matlab utilizeaza aceasta metoda
pentru gasirea unui punct de minim local al problemei generale (NLP).
Ca si n capitolul anterior, putem aproxima Hessiana Lagrangianului
2x L(xk , k , k ) cu o matrice Bk , unde Bk se poate actualiza folosind
updatari cvasi-Newton de rang unu sau doi derivate din ecuatia secantei:
Bk+1 (xk+1 xk ) = x L(xk+1, k+1 , k+1) x L(xk , k+1 , k+1).
Exemplul 13.2.1 Consideram urmatoarea problema:
x1 x2
+
xR
x2 x1
s.l.: h(x) = x1 x2 2 = 0,
min2 f (x) = 6
g(x) = 1 x1 x2 0.
x1 ]T ,
g(x) = [1 1]T .
13.2. Metoda p
atratic
a secventiala
221
1
4
8
4 d +
= 0,
0
47 +
25
4
4 24
2
de unde avem 1 = 2.52723. In concluzie, prima iteratie si valorile
aferente sunt date de:
x1 = [1.07921 1.4604]T , f (x1 ) = 5.68779, h(x1 ) = 0.42393, g(x1 ) < 0.
Observam ca functia a progresat substantial nsa constrangerea de
egalitate nu este satisfacuta. A doua subproblema necesita urmatoarele
derivate:
f (x1 ) = [1.78475 2.17750]T h(x1 ) = [1.4604 1.07921]T
6.45944 4.40442
0 1
2
2
f (x1 ) =
, h(x1 ) =
,
4.40442 4.15790
1 0,
iar Hessiana termenului patratic va fi (reamintim ca 1 = 0):
6.45924 6.93165
2
2
2
x L = f + h =
.
6.93165 4.15790
In concluzie, a doua subproblema este data de:
1 T 6.45924 6.93165
min q(d; x1 ) = 1.78475 2.17750 d + d
d
6.93165 4.15790
xR2
2
s.l.: 1.4604d1 + 1.07921d2 = 0.42393, [1 1]d 1.539604 0,
cu solutia d1 = [0.00614 0.38450]T si apoi calculam x2 = x1 + d1 =
[1.08535 1.8449]T . Din nou, avand constrangerea de inegalitate strict
satisfacuta [1 1]d1 1.539604 < 0, atunci 2 = 0. Mai mult, 2 se
obtine din conditiile de optimalitate ale subproblemei rezultand n 2 =
final avem f (x2 ) = 5.09594, g(x2 ) < 0 si h(x2 ) = 2.36 103.
0.5757. In
Repetand aceiasi pasi pentru urmatoarele doua iteratii obtinem:
3 = 0, 3 = 0.44046, x3 = [0.99266 2.00463]T
f (x3 ) = 4.99056, g(x3 ) < 0, h(x3 ) = 1.008 102
4 = 0, 4 = 0.49997 x4 = [0.99990 2.00017]T
f (x4 ) = 5.00002, g(x4 ) < 0, h(x4 ) = 3.23 105 .
222
13.3
Capitolul 13.
13.3.1
Metode de penalitate
(13.4)
xRn
223
(13.6)
xRn
P (xk ) P (xk+1 ) si
f (xk ) f (xk+1 ).
224
Capitolul 13.
P (
x) = 0 si deci x este fezabil pentru problema (13.4). Pe de alta parte,
f (
x) = lim f (xk ) f si deci x este minim global pentru problema de
k
x1 +x2 5=0
x1 +x2 50
k (xk )1 = (xk )2
0
4
0.1
3.75
1
3
10
2.5714
100
2.5075
2.5
225
13.3.2
Metode de barier
a
(13.7)
226
Capitolul 13.
xRn
227
k
(xk )1 = (xk )2
100
-1.80
10
1.5
1
2.34
0.1
2.483
0.01
2.498
0
2.5
F (xk , k )
-147.89
5.56
6.64
4.94
4.566
4.5
13.4
0.
228
Capitolul 13.
=1
=0.5
=0.1
3.5
=1
=0.5
=0.1
3
2.5
0
2
2
1.5
4
1
0.5
6
1000 900
800
700
600
500
400
300
200
100
0.2
0.4
0.6
0.8
m
X
I (gi (x))
i=1
s.l.: h(x) = 0,
229
min f (x)
x
m
X
log(gi (x))
(13.9)
i=1
s.l: h(x) = 0.
unde
P se numeste parametru de bariera si am utilizat functia B(x) =
a si bariera logaritmica pentru problema
m
i=1 log(gi (x)), numit
(NLP). Aceasta aproximare a problemei originale poate fi rezolvata acum
prin metoda Lagrange-Newton pentru probleme avand constrangeri de
egalitate descrisa n capitolul anterior. Pentru a simplifica calculele
viitoare, mentionam ca gradientul si Hessiana barierei logaritimice sunt
date de urmatoarele expresii:
B(x) =
2 B(x) =
m
X
i=1
m
X
i=1
1
gi (x)
gi (x)
1
1
gi (x)gi (x)T
2 gi (x).
2
gi (x)
gi (x)
f (x)
m
X
i=1
gi (x) + h(x)T = 0
gi (x)
h(x) = 0.
230
13.4.1
Capitolul 13.
min f (x)
xRn
s.l.: g(x) 0, Ax = b,
unde functia obiectiv f : Rn R si functia vectoriala ce defineste
constrangerile de inegalitate g : Rn Rm sunt convexe si de doua
ori diferentiabile, iar A Rpn cu rangul p < n. Metodele de punct
interior rezolva problema (CP) sau conditiile KKT corespunzatoare prin
aplicarea metodei Newton unei secvente de probleme supuse numai la
constrangeri de egalitate, sau asupra unei secvente de conditii (KKT)
perturbate. In acest scop, consideram aproximarea problemei originale
(CP) cu o problema ce contine doar constrangeri liniare de egalitate:
min f (x)
x
s.l: Ax = b.
m
X
log(gi (x))
(13.10)
i=1
P
a si bariera
unde am utilizat functia B(x) = m
i=1 log(gi (x)), numit
logaritmica pentru problema (CP). Aceasta aproximare a problemei
originale este de asemenea o problema convexa si poate fi rezolvata prin
metoda Newton pentru probleme avand constrangeri de egalitate descrisa
n capitolul anterior. Un concept esential n metodele de punct interior
este acela de cale centrala: punctele x( ) se afla pe calea centrala daca
sunt strict fezabile, si anume satisfac:
Ax( ) = b, g(x( )) < 0,
si exista un
Rp astfel ncat:
f (x( )) + B(x( )) + AT
= 0.
Ca urmare, putem deriva o proprietate importanta a punctelor de pe
calea centrala: orice punct de pe aceasta cale produce un punct dual
fezabil, si astfel o limita inferioara a lui f . In mod specific, considerand
i ( ) =
si ( ) =
,
gi (x( ))
231
m
X
i=1
= f (x( )) m.
In mod particular, diferenta de dualitate dintre functiile f si q, asociata
cu punctul x( ) si perechea duala fezabila (( ), ( )) este simplu
cantitatea m . Drept urmare, avem:
f (x( )) f m,
ceea ce confirma ideea intuitiva ca x( ) converge catre punctul de optim
cand 0, adica avem o aproximare cat mai buna a problemei (CP).
Iteratia metodei de punct interior este definita n urmatorul mod: fie un
punct initial x0 strict fezabil, 0 > 0, < 1 si acuratetea fixata > 0
Cat timp mk se repeta urmatorii pasi:
1. calculam solutia xk+1 = x(k ) a problemei convexe cu constrangeri
de egalitate (13.10) pornind din punctul initial xk (warm start);
2. descrestem parametrul k+1 = k .
Dupa cum se observa si n practica, pentru aceasta metoda un aspect
esential este selectarea unei actualizari corespunzatoare pentru la
fiecare pas, n particular este esential felul cum alegem . Un aspect
important al metodei de punct interior este strategia de warm start:
metoda folosita n rezolvarea problemei convexe (13.10) la k porneste
din solutia problemei precedente corespunzatoare parametrului k1 .
Analiza convergentei metodei de punct interior pentru cazul convex
este evidenta. Presupunand ca problema perturbata (13.10) se rezolva
cu metoda Lagrange-Newton pentru = 0 , 0 , 2 0 , . . . , k 0 , atunci
dupa k pasi distanta de la functia obiectiv la valoarea optima este
mai mica decat m0 k . Pe de alta parte, pentru anumite clase de
probleme convexe (de exemplu, pentru probleme (CP) cu functia obiectiv
auto-concordanta) se poate determina riguros o margine superioara
asupra numarului total de iteratii Newton necesare pentru rezolvarea
problemei, n particular se poate arata ca metoda de punct interior are
complexitate polinomiala [3, 12].
232
Capitolul 13.
xR2
unde A = 2 3 si b = 12. Rezolvam aceasta problema prin metoda
3
2.5
2
1.5
1
x2
0.5
0
0.5
1
1.5
2
x1
13.4.2
xRn ,sRm
f (x)
m
X
log(si )
i=1
(13.11)
233
x
2
f + hT + g T
d
x L 0 hT g T
s
0
s e
0
S
, (13.12)
d =
h 0
h
0
0 d
g+s
d
g I
0
0
unde S = diag(s1 , . . . , sm ) si L(x, s, , ) = f (x) + (g(x) + s)T + h(x)T .
Sistemul precedent se numeste sistemul liniar primal-dual. Pentru o
rezolvare numerica mai eficienta, sistemul primal-dual se aduce ntr-o
forma simetrica. De obicei, n aceasta metoda pentru a defini criteriul
de oprire introducem urmatoarea functie:
E(x, s, , ; )
= max{kf (x) + hT (x) + g T (x)k, ks ek, kh(x)k, kg(x) + sk}.
Metoda Newton pentru rezolvarea sistemului perturbat (KKT-IPs)
corespunzator unei valori fixate k are urmatoarea iteratie:
(MNs) : xk+1 = xk + kx dxk ,
k+1 = k + k dk ,
sk+1 = sk + kx dsk
k+1 = k + k dk ,
(0, max
], iar pasul kx se aleg pe baza unei functii merit. De obicei, se
considera urmatoarea functie merit:
M (x, s, ) = f (x)
m
X
i=1
log(si ) + kh(x)k1 +
m
X
i=1
|max{0, gi (x)}| .
234
Capitolul 13.
235
Capitolul 14
Studii de caz din inginerie
In acest capitol final prezentam cateva studii de caz ce implica
optimizarea unor sisteme din domeniul ingineriei. In primul studiu de
caz analizam problema de control optimal al unui sistem dinamic supus
constrangerilor, n particular urmarirea unei referinte impuse pentru un
robot si o instalatie cu patru rezervoare. O alta aplicatie importanta din
teoria sistemelor este analiza stabilitatii unui sistem liniar dinamic pe
care o vom formula ca o problema de optimizare. In final, vom analiza
problema Google (ierarhizarea paginilor web) si problema nvatarii
automate (sau clasificarea de obiecte). Fiecare studiu de caz ilustreaza
formulari specifice si strategii de pregatire a modelului matematic de
optimizare pentru sistemul respectiv. Acest capitol demonstreaza astfel
aplicabilitatea metodelor numerice de optimizare prezentate n capitolele
anterioare la exemple reale si actuale din inginerie.
14.1
t 0,
237
X
1X
2
min
kut uref
kzt ztref k2Qt +
t kRt
zt ,ut 2
t=0
t=1
(14.1)
s.l: z0 = z, zt+1 = Az zt + Bu ut
lbz zt ubz , Cu ut du t = 0, . . . , N 1,
14.1.1
Formularea
st
arilor
(QP)
rar
a
f
ar
a
eliminarea
In acest caz, vom defini varibila de decizie x RN (nz +nu ) care sa cuprinda
variabilele de stare si intrare peste ntreg orizontul de predictie N, i.e.:
T T
.
x = uT0 z1T uT1 z2T . . . uTN 1 zN
0
0 ...
0
0
0
Bu Inz
Az z0
0
0
0
0
0
Az Bu Inz . . .
A = ..
..
..
..
..
..
..
.. , b = .. .
.
.
.
.
.
.
.
.
.
0
0
0
0 . . . Az Bu Inz
0
238
dz
Matricea C RN (2nz +ni )N (nz +nu ) si vectorul d vor avea astfel urmatoarea
forma:
du
Cu 0 0 0 0
dz
0 Cz 0 0 0
C = 0 0 . . . 0 0 , d = ... .
du
0 0 0 Cu 0
0 0 0 0 Cz
dz
Cu x si xref definiti anterior putem rescrie ntreaga functie cost din (14.1)
sub forma:
1
1
kx xref k2Q = (x xref )T Q(x xref ),
2
2
N (nz +nu )N (nz +nu )
n care Q R
va fi bloc diagonala de forma:
R0 0 . . .
0
0
0 Q1 . . .
0
0
(14.2)
Q = 0 0 ...
.
0
0
0 0 . . . RN 1 0
0 0 ...
0
QN
239
(14.3)
min
xRN(nz +nu )
14.1.2
Formularea
st
arilor
(QP)
dens
a
cu
eliminarea
240
T T
si de asemenea introducem notatia z = [z1T . . . zN
] RN nz . Ecuatiile
+ Ap z0 , unde matricele AB
anterioare pot fi scrise sub forma z = ABx
N nz N nu
N nz nz
R
si Ap R
sunt definite astfel:
Bu
0
0
0
... 0
Az
2
Az Bu
Bu
0
0
... 0
Az
2
= Az Bu
Az Bu
Bu
0
. . . 0 , Ap = A3z
AB
.
..
..
..
..
..
..
..
.
.
.
.
.
.
.
N 1
N 2
N 3
N 4
Az Bu Az Bu Az Bu Az Bu . . . Bu
AN
z
=dx
Cx
dx
Observam ca matricea C RN (2nz +ni )N nu este bloc inferior
este bloc inferior triunghiulara si
triunghiulara deoarece matricea AB
1
1X
1
kzt ztref k2Qt = k
z zref k2Q = kABx
+ Ap z0 zref k2Q
2 t=1
2
2
1
TQ
ABx
+ z T AT Q
AB
x,
z ref )T Q
= xT AB
0 p AB (
2
241
= diag(Q1 , . . . , QN ) RN nz N nz si zref =
n care am folosit notatiile Q
ref T
ref T T
N nz
[(z1 ) . . . (zN ) ] R
si am neglijat termenii constanti. Se observa
2
ref k2R
kut uref
t kRt = kx x
1
+ 1 (
xref ,
= xT Rx
(
xref )T Rx
xref )T R
2
2
= diag(R0 , . . . , RN 1 ) RN nu N nu si definim
unde am notat cu R
ref T
T T
N nu
ref
este pozitiv
. Matricea R
vectorul x = [(u0 ) . . . (uref
N 1 ) ] R
definita deoarece am presupus ca matricele Rt sunt pozitiv definite peste
orizontul de predictie. Ignorand termenii constanti, functia obiectiv
devine patratica convexa:
1 T
x Qx + q T x
2
unde matricea Q RN nu N nu n acest caz este data de expresia:
+ AB
TQ
AB.
Q=R
Se observa imediat ca matricea Q este pozitiv definita, deoarece
si R
sunt pozitiv definite, nsa are o structura densa
matricele Q
TQ
AB,
unde reamintim ca AB
este bloc inferior
datorita termenului AB
triunghiulara. Mai mult, vectorul q are urmatoarea expresie:
T QA
p z0 AB
T Q
z ref R
xref .
q = AB
In final, obtinem urmatoarea problema patratica convexa avand numai
constrangeri de inegalitate:
1 T
x Qx + q T x
2
s.l.: Cx d.
min
xRNnu
(14.4)
242
14.1.3
Control
optimal
pentru
traiectoriei cu un robot E-Puck
urm
arirea
243
y =
u2
modelului precedent va avea urmatoarea forma:
u u,
z = Az z + B
r
r
22
2
u = r2
. Pentru a putea sa efectuam
n care Az = 0 R
si B
2lr
2l
experimente numerice, avem nevoie de discretizarea sistemului liniar
continuu anterior. Una dintre metodele cele mai vechi si mai simple
este metoda Euler de discretizare, ce presupune aproximarea derivatei
unei functii diferentiabile f (t) cu urmatoarea expresie:
df
f (t + t) f (t)
(t)
,
dt
t
n care intervalul t se determina n functie de viteza de evolutie a
procesului. Obtinem aproximarea discreta a modelului pentru robot data
de urmatoarea relatie de recurenta:
u ut ,
zt+1 = I2 tAz zt + tB
244
1
unde Az = I2 Az ,
2
1
Bu = B
u.
2
si uref
= 0. Alegand orizontul de predictie N = 2, problema de control
t
optimal ce rezulta din urmarirea traiectoriei sinusoidale se poate enunta
astfel:
1
(z1 z1ref )T Q1 (z1 z1ref )+(z2 z2ref )T Q2 (z2 z2ref )+uT0 R0 u0 +uT1 R1 u1
zt ,ut 2
s.l.:
z0 = z, z1 = Az z0 + Bu u0 , z2 = Az z1 + Bu u1 ,
umin u0 umax , umin u1 umax ,
min
245
(14.5)
R0 0
0 0
u0
0 Q1 0 0
z1
B
I
0
0
u
2
,
x=
u1 , Q = 0 0 R1 0 , A =
0
Az Bu I2
0 0
0 Q2
z2
0
I2
Q1 z1ref
I
A
z
2
z 0
, b =
, C=
q=
0
0
0
0
Q2 z2ref
0 0
0 0
0 I2
0 I2
umax
0
0
, d = umin .
umax
0
umin
0
X
1
min xT Qx + q T x
log(di Ci x)
x
2
i=1
(14.6)
s.l.: Ax = b,
246
Traiectorie
1
0.5
0
0.5
1
1.5
0
20
40
60
80
100
0.8
viteza unghiulara 1
viteza unghiulara 2
0.6
Intrari optime (u1, u2)
0.4
0.2
0
0.2
0.4
0.6
0
20
40
60
80
100
14.1.4
247
0.0013
1.0259
0.504 0 0
1.0389
1.0259 0 0
si Bu = 0.0504 .
Az =
0.0006
0.0006
0
1 0.05
0.025
0.0247 0.0006 0 1
La pendulul invers, obiectivul de control este sa mentinem tija suficient
de aproape de verticala, anume sa mentinem starea z1 = ntr-un interval
admisibil centrat n 0 , adica min z1 max , ce reprezinta constrangeri
pe stare ale sistemului, unde max = min = 10 . Astfel, formulam
problema de control optimal pe un orizont finit N, cu scopul mentinerii
tijei n pozitie verticala (n acest caz ztref = 0 si uref
= 0 pentru orice
t
t 0):
min
zt ,ut
N
X
1
k=1
ztT Q0 zt
N
1
X
t=0
1
R0 u2t
2
s.l.: z0 = z, zt+1 = Az zt + Bu ut
min (zt )1 max t = 0, . . . , N 1,
(14.7)
248
1 0 0 0
0 0.01 0 0
Q0 =
0 0 1 0 si R0 = 10.
0 0 0 0.01
0
0
C = ..
.
0
Cz 0 0 . . . 0
dz
dz
0 0 Cz . . . 0
.. .. ..
..
.. , d = ..
.
. . .
.
.
dz
0 0 0 . . . Cz
Cx d.
249
unghiul()
0.15
0.1
0.05
0
0.05
0.1
0.15
0.2
0.25
0
10
15
20
25
14.2
(14.8)
N
X
t=1
s.l.: z0 = z,
zt (zt )
N
1
X
ut (ut )
(14.9)
t=0
zt+1 (zt , ut ) = 0 t = 0, . . . , N 1,
(14.10)
14.2.1
250
xRN(nz +nu )
f (x)
(14.11)
s.l: h(x) = 0,
PN 1 u
P
z
ia
n care functia obiectiv este f (x) = N
t=0 t (ut ), iar funct
t=1 t (zt )+
N (nz +nu )
N nz
h:R
R
ce descrie constrangerile de egalitate este data de
expresia:
z1 (z0 , u0 )
z2 (z1 , u1 )
h(x) =
.
..
.
zN (zN 1 , uN 1 )
Functia Lagrange pentru multiplicatorii = [T1 . . . TN ]T are forma:
L(x, ) = f (x) + T h(x)
=
N
X
t=1
zt (zt )
N
1
X
ut (ut )
t=0
N
1
X
t=0
h(x) = 0.
(zt , ut )T t+1 = 0
zt
(zt , ut )T t+1 = 0.
ut
k+1 = QP
k
251
(14.12)
min
N nu
xR
N
X
t=1
zt (t (z0 , x))
N
1
X
ut (ut ).
t=0
14.2.2
252
a
qa ,
S
b
qb ,
S
5a
0
z1 5aS1 2gz1 + 5aS4 2gz4
S
5b
z2 5a2 2gz2 + 5a3 2gz3
0
S
S
S
(z) =
B
=
u
5(1a )
z3 5aS3 2gz3
0
S
5a4
5(1b )
z4 S 2gz4
0
S
253
s.l.:
N
N 1
1X
1X
2
kzt ztref k2Q0 +
kut uref
t kR0
2 t=1
2 t=0
z0 = z,
zt+1 = (zt ) + Bu ut t = 0, . . . , N 1.
(14.13)
h(x) = 0.
(14.14)
254
40
nivel(cm)
35
30
25
href
20
h4
hr ef
4
15
0
500
timp(sec)
1500
40
h
35
nivel(cm)
href
2
30
href
25
20
15
10
0
500
timp(sec)
1500
14.3
255
14.3.1
max
n
xR
(14.16)
256
maxn
(14.17)
x 0.
maxn
(14.18)
xR ,x6=0
xT Ax
xT x
min
n
xR ,x6=0
xT x
.
xT Ax
257
=1
=5
=10
=50
=150
45
Eroare f(x ) f
40
35
30
25
20
15
10
5
0
0
0.5
1.5
2
2.5
Iteratii
3.5
4
4
x 10
14.4
Problema
Google
paginilor web)
(ierarhizarea
258
x 0.
259
14.5
Inv
atare automat
a si clasificare
260
f(xk) f
0.5
0.4
0.3
0.2
0.1
0
0
10
15
20
25
Iteratii (k)
0.8
0.6
0.7
0.6
*
=10
0.4
=15
=30
f(x ) f
0.4
f(x ) f*
=5
0.5
0.5
0.3
0.3
0.2
0.1
0
0
=50
0.2
0.1
0.5
1.5
2
2.5
Iteratii (k)
3.5
0
0
x 10
2
3
Iteratii (k)
5
x 10
261
262
urmeaza:
1
kak2
aR ,bR 2
s.l.: ci aT yi b 1 i = 1, . . . , m,
min
n
(14.22)
(a)
(b)
Figura 14.12: Multimea de antrenare a modelului matematic de separare:
(a) imagini ce fac parte din clasa I; (b) imagini ce fac parte din clasa II.
263
pixel la randul sau este definit de o valoare (e.g. ntre 0 si 256) data
de culoarea acestuia. Pentru a simplifica exemplul, consideram imagini
mono-colore compuse din 49 de pixeli, n care pixelii sunt reprezentati de
nivele de gri cu valori intre 0 si 5 (vezi Fig. 14.12). In etapa de initializare
a tehnicii SVM se fixeaza o multime de antrenare compusa din diferite
imagini ce contin variante ale cifrei 7 (ce fac parte din clasa I de obiecte)
si imagini aleatorii complet diferite de cifra 7 (ce fac parte din clasa II de
obiecte). Deoarece aceasta etapa se mai numeste si antrenare, se cunoaste
pentru fiecare imagine clasa din care face parte. Fiecarei imagini i i se
asociaza un vector de 49 de componente (fiecare componenta luand valori
ntregi ntre 0 si 5) si un parametru c ce reprezinta indexul clasei din care
face parte imaginea respectiva (daca c = 1 atunci imaginea contine cifra
7, daca c = 1 atunci imaginea este aleatorie). Pe baza acestei multimi
de antrenare, urmarim realizarea unui hiperplan de separare a acestor
doua clase.
Dorim sa rezolvam problema SVM (14.22) n contextul prezentat anterior
si, de asemenea, sa testam eficienta solutiei (hiperplanului) obtinute prin
evaluarea ratei de succes n recunoasterea cifrei 7. Pentru aceasta alegem
un set de imagini ale cifrei 7 (vezi Fig. 14.12 (a)) si un set de imagini
aleatorii (vezi Fig. 14.12 (b)) ce reprezinta multimea de antrenare a
hiperplanului de separare.
Transformam aceste imagini din Fig. 14.12 n vectori de pixeli dupa
cum am descris mai nainte, apoi acestia vor fi introdusi ntr-o functie
Matlab si folositi n rezolvarea problemei (14.22). In final, pentru a testa
solutia gasita x = [(a )T b ]T din rezolvarea problemei convexe patratice
(14.22), calculam pentru anumite puncte de test (imagini de test date n
Fig. 14.13) valoarea hiperplanului:
(
< 0, atunci imaginea data de y nu contine cifra 7;
aT y b
0, atunci imaginea data de y contine cifra 7.
Putem trage urmatoarele concluzii:
daca testam hiperplanul cu diferite imagini aleatorii cu densitate
mare de pixeli gri (vezi Fig. 14.13) si respectiv, imagini cu cifra
7 transformata n diverse moduri (translatie la stanga/dreapta,
nclinare, etc.) atunci rezulta o rata de succes (recunoastere
corecta) de aproximativ 80%;
daca pentru testare consideram imagini aleatorii cu densitate mica
(vezi Fig. 14.12 (b)) si respectiv, imagini cu cifra 7 transformata
Apendice A
Notiuni de algebr
a liniar
a si
analiz
a matematic
a
In acest capitol reamintim pe scurt notiunile de baza din algebra liniara
si analiza matematica ce se vor fi utilizate n aceasta lucrare. Pentru mai
multe detalii si demonstratii ale rezultatelor prezentate n acest capitol
se pot consulta cartile [4, 8, 17] pentru algebra liniara si [15, 16] pentru
analiza matematica.
A.1
Notiuni de analiz
a matriceal
a
hx, yi = x y =
n
X
xi yi .
i=1
n
X
i=1
266
Unghiul [0, ] dintre doi vectori nenuli x si y din Rn este definit de:
cos =
hx, yi
.
kxk kyk
n
X
Qii .
i=1
267
i (Q ) =
n
Y
i=1
ki
i si Tr(Q) =
n
X
i=1
si i (In + Q) = + i , R si i = 1, , n.
xT Qx > 0 x Rn , x 6= 0.
268
min =
max
min
n
In concluzie avem:
minIn Q max In .
kQk ,
kQxk
= sup
=
sup
kQxk Q Rmn .
269
A.2
1
1+
v T A1 u
A1 uv T A1 .
Notiuni de analiz
a matematic
a
y0
R(kyk)
kyk
f (x)
x1
f (x) = .
f (x)
xn
f (x; d) = lim
270
y0
R(kyk2 )
kyk2
f (x)
2 f (x)
2
x1 xn
x1
.
2 f (x) =
2
2 f (x)
2fx(x)
xn x1
n
Functia f se numeste diferentiabila de doua ori pe multimea X domf
daca este diferentiabila de doua ori n fiecare punct din X. Matricea
Hessiana poate fi considerata derivata vectorului f :
f (x + y) = f (x) + 2 f (x)y + R(kyk).
Exemplul A.2.2 Fie f o functie patratica:
1
f (x) = xT Qx + q T x + r,
2
271
1
f (y) = f (x) + hf (x), y xi + (y x)T 2 f (x + (y x))(y x)
2
272
L
ky xk2 x, y domf.
2
L
ky xk2 + hf (x), y xi + f (x) x, y domf.
2
x, y domf.
M
ky xk2 x, y domf.
2
273
h1 (x)
. . . hx1 (x)
h1 (x)T
x1
n
..
.. =
..
h(x) = ...
.
.
.
.
T
hp (x)
hp (x)
hp (x)
. . . x
x
n
xX u
274
Daca valorile optime ale celor doua probleme sunt egale, i.e. sup inf si
inf sup sunt egale, atunci valoarea optima comuna se numeste valoarea
minimax sau valoarea sa. Se pune problema determinarii de conditii cand
valoarea minimax exista. Se poate arata usor ca urmatoarea inegalitate
are loc:
sup inf F (u, x) inf sup F (u, x).
u xX
xX u
u , x X.
xX u
Bibliografie
[1] I. Necoara, D. Clipici, and A. Patrascu. Metode de Optimizare
Numerica: Culegere de Probleme. Editura Politehnica Press, 2013.
[2] D.P. Bertsekas. Nonlinear Programming. Athena Scientific, 1999.
[3] S. Boyd and L. Vandenberghe. Convex Optimization. Cambridge
University Press, 2004.
[4] B. Dumitrescu, C. Popeea, and B. Jora. Metode de calcul numeric
matriceal: algoritmi fundamentali. Editura All, 1998.
[5] A.V. Fiacco. Introduction to sensitivity and stability analysis in
nonlinear programming. Academic Press, 1983.
[6] T. Gal. Postoptimal analyses, parametric programming, and related
topics. de Gruyter, 1995.
[7] P.E. Gill, W. Murray, and M.H. Wright. Practical Optimization.
Academic Press, 1981.
[8] R.A. Horn and C.R. Johnson.
University Press, 1985.
Matrix Analysis.
Cambridge
SIAM
276
Bibliografie