tehnici de optimizare curs i concepte fundamentale din teoria
TRANSCRIPT
Tehnici de Optimizare
Curs IConcepte fundamentale din teoria optimizarii
Ion Necoara
2014
Personal
I Curs: Prof. Dr. Ion Necoara ([email protected])
I Seminar: Drd. Andrei Patrascu ([email protected])
Examinare
I 15 puncte seminar, lab (prezenta obligatorie) si curs
I 25 puncte colocviu (≈ saptamana 8)
I 60 puncte examen final
Optimizarea matematica numita adesea“Science of the Better”
In 1744 Leonhard Euler, unul din cei mai mari matematicieni:
“Namely, because the shape of the whole universe is most perfectand, in fact, designed by the wisest creator, nothing in all of theworld will occur in which no maximum or minimum rule issomehow shining forth.”
In latina: “...nihi omnino in mundo contingint, in quo non maximiminimive ratio quapiam eluceat.”
De fapt, conceptul de derivata a functiei (una din cele maiimportante constructii matematice) a fost introdus de Fermat in1637 cu scopul rezolvarii unei probleme de optimizare
Bibliografie
I Note de curs/lab: http://acse.pub.ro/person/ion-necoara
I Carte: Necoara, Metode de Optimizare Numerica, PolitehnicaPress
I Culegere: Necoara, Metode de Optimizare Numerica:Culegere de Probleme, Politehnica Press
Alte carti:
I Bertsekas, Nonlinear Programming, Athena Scientific
I Nesterov, Introductory Lectures on Convex Optimization: ABasic Course, Kluwer
I Luenberger, Linear and Nonlinear Programming, Kluwer
Obiectivele cursului si subiectele atinse
Obiective
I recunoasterea/formularea de probleme de optimizare
I dezvoltarea de cod Matlab pentru rezolvarea problemelor deoptimizare
I caracterizarea/identificarea solutiilor
I caracterizarea limitelor de performanta a algoritmilor numericide optimizare
Subiecte atinse
I multimi si functii convexe
I clase de probleme de optimizare
I conditii de optimalitate
I algorimi numerici de optimizare si proprietatile lor
I exemple si aplicatii
Notatii
In cadrul cursului vom utiliza urmatoarele notatii:
• Vectori (considerati intotdeauna vector coloana) cu litere mici,
i.e. x ∈ Rn, x =
x1...xn
• Produs scalar in spatiul Euclidian: ⟨x , y⟩ = xT y =
∑ni=1 xiyi
• Norma Euclidiana standard ∥x∥ =√
⟨x , x⟩ =√
x21 + · · ·+ x2n
• Multimi cu litere mari: S ,Q,U ⊆ Rn ( Rn+ - orthantul
nenegativ, Sn+ - multimea matricelor pozitiv semidefinite)
• Matrice cu litere mari: A,B,C ,H ∈ Rn×m
• Norma spectrala a unei matrici ∥A∥ =√
λmax(ATA)
• Matrice pozitiv definita: A ≻ 0, si pozitiv semidefinita A ≽ 0
NotatiiIn cadrul cursului vom utiliza urmatoarele notatii:
• Functii cu litere mici: f , g , h : Rn → R.• Gradientul, respectiv matricea Hessiana a functiei continuudiferentiabile f : Rn → R: ∇f (x) ∈ Rn,∇2f (x) ∈ Rn×n.
Hessiana este matrice simetrica (i.e. in Sn)!
∇f (x) =
∂f (x)∂x1...
∂f (x)∂xn
, ∇2f (x) =
∂2f (x)∂2x1
. . . ∂2f (x)∂x1∂xn
......
...∂2f (x)∂xn∂x1
. . . ∂2f (x)∂2xn
,
Teorema de medie: fie functia g : R → R atunci exista θ ∈ [a, b]
a.i. g(b)− g(a) = g ′(θ)(b − a) =∫ ba g ′(τ)dτ =⇒ pentru
f : Rn → R luam g(t) = f (x + t(y − x)):
f (y) = f (x) + ⟨∇f (x + θ(y − x)), y − x⟩ θ ∈ [0, 1]
f (y) = f (x) +
∫ 1
0⟨∇f (x + τ(y − x)), y − x⟩dτ
Optimizarea matematica = Urcarea unui munte
Optimizarea matematica
f ∗ = minx∈Rn
f (x)
s.l.: g1(x) ≤ 0, . . . , gm(x) ≤ 0
h1(x) = 0, . . . , hp(x) = 0.I x variabila de decizie
I functia obiectiv f : Rn → RI constrangeri de inegalitate si egalitate gi , hj : Rn → R
In solutia optima x∗ functia obiectiv ia valoarea cea mai mica(valoarea optima f ∗) in raport cu toti vectorii ce satisfacconstrangerile (restrictiile)
Scurta istorie:
I Antichitate: abordare geometrica (aplicatii izoperimetrice -Problema Dido sec. IX i.H.)
I Evul mediu: abordare algebrica (folosind e.g. inegalitateamediilor)
I Dupa sec XIX: abordare pe baza calculului diferential
Scurta istorie• teorie: conditii de optimalitate, analiza convexa (1900-1970)• algoritmi:
I 1947: algoritmul simplex pentru programare liniara (Dantzig)I 1950: programarea dinamica (Bellman ’52)I 1960: metoda gradientilor conjugati (Fletcher & Reeves ’64);
metode quasi-Newton (David-Fletcher-Powel ’59)I 1970: metode de penalitate si bariera (Fiacco & McCormick);
programare patratica secventiala; probleme de mari dimensiuni(Lasdon ’70); metoda subgradient (scoala ruseasca)
I 1980-2000: metode de punct interior cu complexitatepolinomiala (Karmakar ’84; Nesterov & Nemirovski ’94)
• aplicatii:I inainte de 1990: cercetari operationale (finante, logistica,
manufacturing, scheduling)I dupa 1990: aplicatii ingineresti (control, procesare de semnal,
motoare de cautare, retele); medicina (tomografie); biologie(recunoasterea de gene); fizica (predictia vremii)
Probleme de optimizare
Problema de optimizare neliniara:
f ∗ = minx∈Rn
f (x)
s.l.: g1(x) ≤ 0, . . . , gm(x) ≤ 0
h1(x) = 0, . . . , hp(x) = 0.
O problema de optimizare contine urmatoarele trei componente:
(i) o functie obiectiv, f (x), ce va fi minimizata/maximizata;
(ii) variabile de decizie, x ∈ Rn, care se pot alege dintr-o anumitamultime;
(iii) constrangeri (numite si restrictii) ce vor fi respectate, deforma g(x) ≤ 0 (constrangeri de inegalitate) si/sau h(x) = 0(constrangeri de egalitate).
Probleme de optimizareFormularea standard a unei probleme de optimizare:
minx∈Rn
f (x)
s.l.: g1(x) ≤ 0, . . . , gm(x) ≤ 0
h1(x) = 0, . . . , hp(x) = 0.
Functia obiectiv f : Rn → R si variabila de decizie x ∈ Rn
Notatii compacte:
g : Rn → Rm, g(x) = [g1(x) . . . gm(x)]T
h : Rn → Rp, [h1(x) . . . hp(x)]T
⇒ forma compacta a problemei de optimizare neliniara ((NLP) -nonlinear programming)
(NLP) : minx∈Rn
f (x)
s.l.: g(x) ≤ 0, h(x) = 0.
Probleme de optimizare
Remarca: o problema de maximizare poate fi transformataintr-una de minimizare, maxx f (x) = −minx −f (x).Exemplu problema de optimizare:
minx∈R2
2x31 + 3x22 + 4x1
s.l.: x ≥ 0, x21 + x22 − 1 ≤ 0
x1x2 − 1 = 0.
In acest exemplu avem:
I variabila de decizie: x = [x1 x2]T ∈ R2 si functia obiectiv
f (x) = 2x31 + 3x22 + 4x1I trei constrangeri de inegalitate: g : R2 → R3, unde
g1(x) = −x1, g2(x) = −x2 si g3(x) = x21 + x2 − 1.
I o singura constrangere de egalitate definita de functiah(x) = x1x2 − 1.
Probleme de optimizare
Alte definitii esentiale:
I Multimea x ∈ Rn : f (x) = c este multimea nivel (conturul)a functiei f pentru valoarea c ∈ R.
I Multimea fezabila a problemei de optimizare (NLP) este:
X = x ∈ Rn : g(x) ≤ 0, h(x) = 0.
I Punctul x∗ ∈ Rn este un punct de minim global (adeseadenumit minim global) daca si numai daca x∗ ∈ X sif (x∗) ≤ f (x) oricare ar fi x ∈ X .
I Punctul x∗ ∈ Rn este minim local daca si numai daca x∗ ∈ X .si exista o vecinatate N a lui x∗ (e.g. o bila deschisa cucentrul ın x∗) astfel ıncat f (x∗) ≤ f (x) oricare ar fix ∈ X ∩N .
Minime-maxime locale/globaleExemplu: puncte de minim local (x∗L) si punctul de minim global(x∗G ) pentru f (x) = cos(5πx)/x ın intervalul [0.1, 1.1].
0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1
Punct de minim local x*L
Punct de minim local x*L
Punct de minim global x*G
Punct de maxim localPunct de maxim global
I Punctul x∗ ∈ Rn este un punct strict de minim global daca sinumai daca x∗ ∈ X si f (x∗) < f (x) oricare ar fi x ∈ X \ x∗.
I Punctul x∗ ∈ Rn este un punct strict de minim local daca sinumai daca x∗ ∈ X si exista o vecinatate N a lui x∗ astfelıncat f (x∗) < f (x) oricare ar fi x ∈ (X ∩N ) \ x∗.
Minime-maxime locale/globale
Minime-maxime locale/globaleExistenta punctelor de minim (teorema lui Weierstrass): dacamultimea fezabila X ⊂ Rn este compacta (adica marginita siinchisa) si f : X → R este continua atunci exista un punct deminim global pentru problema de minimizare minx∈X f (x).
Exemplu: pentru functia f (x) din figura consideram multimeafezabila compacta X = x : a ≤ x ≤ b si observam ca are punctde minim global in d .
Probleme de optimizare - NLPCategorii diferite de probleme de optimizare si exemple.
Reamintim categoria cea mai generala, problema de optimizareneliniara (NLP):
(NLP) : minx∈Rn
f (x)
s.l.: g(x) ≤ 0, h(x) = 0,
In mod obisnuit, f (x), g(x) si h(x) se presupun a fi continuudiferentiabile cel putin o data. NLP rezolvate cu algoritmi predatiin acest curs!Exemplu:
minx∈R3
x61 + x42 + x3
s.l.: 5x1 + 6x2 ≤ 0, x1 + x3 = 4, x1 + x2 = −2
f : R3 → R, f (x) = x61 + x42 + x3g : R3 → R, g(x) = 5x1 + 6x2
h : R3 → R2, h(x) =
[x1 + x3 − 4x1 + x2 + 2
]
Probleme de optimizare - LPDaca f (x), g(x) si h(x) din problema NLP sunt afine (f (x) = cT x ,g(x) = Cx − d , h(x) = Ax − b), atunci problema NLP devine oproblema de programare liniara (LP sau linear programming):
(LP) : minx∈Rn
cT x
s.l.: Cx − d ≤ 0, Ax − b = 0.
I LP-urile pot fi rezolvate eficient, cu teorie dezvoltata incepandcu anii 1940 (metoda simplex). Astazi se pot rezolvaprobleme LP cu 109 variabile!
Aplicatii in toate domeniile: economie (optimizare de portfoliu);assigment (companie aeriana numeste echipajul fiecarui zbor a.i.:fiecare zbor este acoperit, indeplinite regulamentele - fiecare pilotzboara un nr maxim de ore/zi, cost minim - hotel pt. echipaj);productie si transport (companie petroliera: petrol in Arabia,rafinarie in Romania si clienti in SUA); telecomunicatii (multetelefoane din Cluj la Bucuresti si Iasi la Timisoara - cum facemrout-rea optima in retea); problema comis-voiajorului; ...
Probleme de optimizare - LPExemplu de problema LP:
minx∈R3
3x1 + 2x2 + 4x3 (1)
s.l.: 0 ≤ x1 ≤ 10, x2 ≥ 0, x3 ≥ 0
x1 + x2 = 2
x2 + x3 = 1
Observam: f (x) = 3x1 + 2x2 + 4x3 =[3 2 4
]︸ ︷︷ ︸cT
x1x2x3
︸ ︷︷ ︸
x
= cT x
Constrangeri de egalitate: h(x) : R3 → R2 h(x) = Ax − b = 0
[1 1 00 1 1
]︸ ︷︷ ︸
A
x1x2x3
︸ ︷︷ ︸
x
−[21
]︸︷︷︸b
= 0
Probleme de optimizare - LP
Constrangeri de inegalitate: g(x) : R3 → R4, g(x) = Cx − d ≤ 0
Inegalitatile 0 ≤ x1 ≤ 10, x2 ≥ 0, x3 ≥ 0 pot fi scrise drept:1 0 0−1 0 00 −1 00 0 −1
︸ ︷︷ ︸
C
x1x2x3
︸ ︷︷ ︸
x
−
10000
︸ ︷︷ ︸
d
≤ 0
Astfel, problema (1) poate fi scrisa ca problema LP standard.
Probleme de optimizare - QPDaca g(x) si h(x) din problema NLP sunt afine iar functia obiectivf (x) este o functie patratica, atunci problema NLP devine oproblema de programare patratica (QP sau quadraticprogramming):
(QP) : minx∈Rn
1
2xTQx + qT x + r
s.l.: Cx − d ≤ 0, Ax − b = 0.
Conditii de convexitate pentru functii de doua ori continuudiferentiabile: o functie este convexa daca ∇2f (x) ≽ 0. Pentru oproblema QP, daca Q = QT , atunci ∇2f (x) = Q. In acest caz,functia obiectiv este convexa daca Q ≽ 0.
QP-urile se rezolva cu metode punct interior, “active set” sau detip gradient: astazi se pot rezolva probleme de dimensiuni foartemari (109 variabile) ce apar in multe aplicatii: optimizareamotoarelor de cautare, procesarea de imagine, predictiemeteo (vezi pagina mea: http://acse.pub.ro/person/ion-necoara)
Probleme de optimizare - QPExemple de probleme QP:
minx∈Rn
x21 + x22 + x1x2 + 3x1 + 2x2
s.l.: x ≥ 0, x1 + x2 = 5
Observam
f (x) = x21 + x22 + x1x2 + 3x1 + 2x2
=1
2
[x1 x2
] [2 11 2
]︸ ︷︷ ︸
Q
[x1x2
]+
[3 2
]︸ ︷︷ ︸qT
[x1x2
]
Constrangeri de inegalitate: −I2x ≤ 0
Constrangeri de egalitate:[1 1
]x = 5
Calcule simple: Λ(Q) = 3, 1, deci Q ≻ 0 iar f (x) este convexa
• Ierarhizarea in motoarele de cautare se pune ca o problema QP
minx∈Rn: eT x=1, x≥0
∥Ex − x∥2
E matrice de adiacenta (http://acse.pub.ro/person/ion-necoara)
Probleme de optimizare - CPProbleme de optimizare convexa:
(CP) : minx∈Rn
f (x)
s.l.: g(x) ≤ 0, Ax − b = 0,
O problema de optimizare este convexa daca functia obiectiv f (x)si multimea fezabila sunt convexe.
Daca g(x) convexa si h(x) afina (i.e. h(x) = Ax − b), atuncimultimea fezabila X = x : g(x) ≤ 0,Ax = b este convexa.
• Observatie: problemele LP si problemele QP (cu Q ≽ 0) suntprobleme de optimizare convexa. Problemele convexe sunt, ingeneral, mai usor de rezolvat decat (NLP)-urile. Foarte multeaplicatii: procesare de semnal, control optimal, design optim
• Observatie: o problema de optimizare convexa undef (x) = 1
2xTQx + qT x si gi (x) =
12x
TQix + qTi x + ri , i.e. f sifunctiile din constrangerile de inegalitate sunt patratice, senumeste QCQP(quadratically constrained quadratic program)
Probleme de optimizare - SDPProblema SDP (semidefinite programming): probleme convexeunde multimea fezabila este descrisa de LMI-uri.Aceste probleme se numesc SDP-uri deoarece se impune caanumite matrice sa ramana pozitiv definite. O problema generalaSDP poate fi formulata drept:
(SDP) : minx∈Rn
cT x
s.l.: A0 +n∑
i=1
Aixi40, Ax − b = 0,
unde matricele Ai ∈ Sm oricare ar fi i = 0, . . . , n. Remarcam caproblemele LP, QP, si QCQP pot fi de asemenea formulate caprobleme SDP. Foarte multe aplicatii: control optimal si robust,stabilitatea sistemelor dinamice, probleme de localizare,matrix completion, ...
Problemele convexe sunt mult mai usor de rezolvat decat celeneconvexe! (software gratuit de optimizare bun pentru problemeconvexe este CVX)
Probleme de optimizare - QCQP
Exemplu de problema QCQP convexa scrisa ca un SDP:
minx∈Rn
1
2xTQx + qT x
s.l.:1
2xTQ1x+qT1 x+r1 ≤ 0
⇐⇒min
x∈Rn,t∈Rt
s.l.: t ≥ 1
2xTQx + qT x
1
2xTQ1x+qT1 x+r1 ≤ 0
SDP echivalent =⇒min
x∈Rn,t∈Rt
s.l.:
[In 1/
√2Q
12 x
1/√2xTQ
12 x t − qT x
]≽ 0[
In 1/√2Q
121 x
1/√2xTQ
121 −qT1 x − r1
]≽ 0
APLICATII REALE
Data fitting - CMMP
• se dau functiile de baza f1, · · · , fn (numite si regresori)• se dau date (masuratori) (si , yi ), i = 1, · · · ,m
Formularea problemei: gasiti coeficientii x1, · · · , xn ∈ R:
x1f1(si ) + · · ·+ xnfn(si ) ≈ yi ∀i = 1, · · · ,m
i.e. gasiti combinatii liniare de functii care fit datele
CMMP fit: alegem x care minimizeaza eroarea de fitting patratica
m∑i=1
(x1f1(si ) + · · ·+ xnfn(si )− yi )2
Data fitting - CMMP
• in notatie matriceala: Aij = fi (sj) =⇒ problema de optimizare
minx∈Rn
∥Ax − y∥2
• daca m ≥ n si A are rang n =⇒ solutia
x∗ = (ATA)−1AT y
• functia corespunzatoare este:
fcmmpfit(s) = x∗1 f1(x) + · · ·+ x∗n fn(s)
• aplicatii: interpolare, netezire de date, identificare de sisteme,...
Data fitting polinomial - CMMP
• fit un polinom de grad < n
p(s) = a0 + a1s + · · ·+ an−1sn−1
la datele (si , yi ), i = 1, · · · ,m• functiile de baza sunt fj(s) = s j−1, j = 1, · · · , n• matricea A are forma Aij = s j−1
i :1 s1 s21 · · · sn−1
1
1 s2 s22 · · · sn−12
......
......
...1 sm s2m · · · sn−1
m
matricea Vandermonde!
Data fitting polinomial - CMMP• fit la functia
sin(x)
un polinom de grad ≤ 4
p(s) = a0 + a1s + · · ·+ an−1sn−1
• variabilele de decizie sunt coeficientii polinomului; consideramm = 100 puncte (date)• CMMP fit pentru polinom de grad 1, 2, 3, 4 are rezidul:0.135, 0.076, 0.025 si 0.005
Localizarea• se dau 3 ancore (antene) a caror pozitie este cunoscuta:x1, x2, x3 ∈ R2 (sau R3)• se cunosc distantele de la un obiect (e.g. avion) necunoscut lacele 3 ancore: R1,R2,R3 > 0
Formularea problemei: estimarea pozitiei obiectului x siestimarea incertitudinii (zona)
Localizarea• pozitiile ancorelor x1, x2, x3 cunoscute, dar distantele la obiectulnecunoscut R1,R2,R3 nu se stiu exact:
minx∈R3,δ∈R3
∥δ∥p
s.t.: ∥x − xi∥ ≤ Ri + δi ∀i = 1, 2, 3
unde norma p = 1 sau p = 2 sau p = ∞.
Localizarea• pozitiile ancorelor x1, x2, x3 si distantele la obiectul necunoscutR1,R2,R3 cunoscute =⇒ estimarea zonei unde se gaseste obiectul
o sfera de centru x si raza R se gaseste intr-o sfera de centru xi siraza Ri daca diferentele intre raze depaseste distantele dintre
centre: ∥x − xi∥ ≤ Ri − R
maxx ,R
R
s.t.: ∥x − xi∥+ R ≤ Ri ∀i = 1, 2, 3
Stabilirea fluxului optim de putere intr-o retea electrica
• N noduri (magistrale de transmisie)
• Ng generatoare de putere
• M linii de transmisie intre magistrale
Obiectiv: stabilirea puterii generate optime ce asigura cel maiscazut cost de productie
Formularea problemei (I)
• matrice de adiacenta intre magistrale si linii de transmisie: E
• variabile de decizie: θi (unghiul de faza) si Pgi (puterea
generata)
• constrangeri impuse asupra unghiului si puterii: θi ∈ Θi siPgi ∈ Pi
• matricea diagonala a reactantelor liniilor de transmisie: R
• cererea de putere pe fiecare magistrala: Pdi
• ecuatiile de conservare a puterii: ETREθ = AgPg − Pd
• limitele impuse fluxului de putere minim si maxim pe liniile detransmisie: F ≤ REθ ≤ F
• functia cost (patratica) atasata generarii puterii Pgi :
fi (Pi ) = aiPgi + bi (P
gi )
2
Formularea problemei (II)
Problema de optimizare:
minθi∈Θi ,P
gi ∈Pi
∑i
aiPgi + bi (P
gi )
2
s.l.: ETREθ − AgPg = −Pd , F ≤ REθ ≤ F .
Avantajele optimizarii:
10 20 30
Pretul energiei
iteratii0 10 20 30
220
240
260
280
300
320
340Puterea generata
iteratii
Pg i[M
Wh]
Controlul unei bile pe un plan inclinat
• Sistem rapid format dintr-o bila aflata pe un plan mobil
• Sistem MIMO: 4 stari (viteza si pozitia bilei) si 2 intrari(unghiul de inclinare al planului)
Obiectiv: pozitionarea si mentinerea bilei in centrul planului sauurmarirea unei traiectorii prestabilite
Controlul predictiv bazat pe model
• Reprezentarea pe stare: xk+1 = Axk + Buk
• Constrangeri fizice pe stare si intrare: xk ∈ X , uk ∈ U
• Functii cost patratice: ℓ(xk , uk) =12∥xk∥
2Q + r
2∥uk∥2R
(notatie ∥x∥2Q = xTQx)
• ℓf =12∥ · ∥
2P si Xf cost si constrangeri pentru starea finala
alese pentru stabilitatea sistemului in bucla inchisa
Problema de control optimal pe orizont finit N, pentru stareainitiala x formulata ca un QP:
minxk ,uk
∑N−1k=0 ℓ(xk , uk) + ℓf(xN)
s.l. xk+1 = Axk + Buk , x0 = x ,xk ∈ X , uk ∈ U ∀k, xN ∈ Xf
Rezolvam acest QP la fiecare pas de esantionare si utilizamprincipiul orizontului alunecator!
Rezultate
Procesare de imagini
In general, procesele ingineresti implica achizitia/ prelucrarea/comunicatia unui numar de semnale/date.
Problema majora:modificari nedorite ale semnalelor (zgomot) rezultate din:
I Achizitia semnalelor (e.g. imagine, video, audio)
I Comunicatii imperfecte
Exemplu: semnale cu detalii excesive au variatie totala mare (i.e.integrala gradientului absolut al semnalului este mare) =⇒reducerea zgomotului echivalenta cu reducerea variatiei totale
Procesare de imagini
I Recuperarea perfecta a semnalului original este imposibila
I Concluzie: cautam “cea mai buna” aproximare a imaginiicorupte
I Aproximarea se determina utilizand algoritmi de optimizare(pentru niveluri rezonabile de zgomot avem recuperare“aproape” perfecta)
Modelare pentru semnale 2D (tip imagine):
I Asociem imaginii o matrice X ∈ Rm×n sau un vector x ∈ Rmn
I Dimensiunile (m, n) reprezinta numarul de pixeli pe linii sicoloane.
I Ex.: Pentru o imagine cu dimensiuni 640× 480 pixeli asociemX ∈ R640×480.
Procesare de imagini - total variation denoisingSemnale cu detalii excesive au variatie totala mare (i.e. integralagradientului absolut al semnalului este mare) =⇒ reducereazgomotului echivalenta cu reducerea variatiei totale:
minY∈Rm×n
1
2∥Y − X∥2 + TV (Y )
I TV =“total variation” functie cuantificare variatiei totalaI TV (y) =
∑i ,j|yi+1,j − yi ,j |+ |yi ,j+1 − yi ,j |;
Rezultate (noisy image/denoised image):
Procesare de imagine - compresia imaginilorI O imagine se reprezinta numeric printr-o matrice !
Aproximare matrice cu matrice de rang mai mic via DVS:
I fie A ∈ Rm×n cu rang(A) = r si A = UΣV T =∑r
i=1 σiuivTi
I cautam matricea A avand rangul p < r a.i. A ≈ A, i.e.min
A:rangA≤p∥A− A∥
I solutie: A =∑p
i=1 σiuivTi , deci ∥A− A∥ =
∑ri=p+1 σiuiv
Ti
Demontratie: fie rang(B) ≤ p, deci dim Null(B) ≥ n − p. Apoi:dim Span v1, · · · , vp+1 = p + 1. Cele 2 spatii se intersecteaza:
∃z : ∥z∥ = 1, Bz = 0, z ∈ Spanv1, · · · , vp+1
(A− B)z = Az =
p+1∑i=1
σiuivTi z =
p+1∑i=1
(σivTi z)ui (z ⊥ vp+2)
Cum uTi uj =δij avem ∥(A−B)z∥2=p+1∑i=1
σ2i (v
Ti z)2∥ui∥2≥σ2
p+1∥z∥2.
∥A− B∥ = max∥x∥=1
∥(A− B)x∥ ≥ ∥(A− B)z∥∥z∥=1
≥ σp+1 = ∥A− A∥
Procesare de imagine - compresia imaginilorInterpretare: pentru A = UΣV T =
∑ri=1 σiuiv
Ti componentele
principale de rang 1, uivTi , sunt ordonate in functie de importanta
lor data de σi .
Fie imaginea originala 359×371 pixeli (Melancolia de Durer, 1514):
pe care o putem scrie ca o matrice A de dimensiune 359× 371(fiecare intrare (i , j) reprezinta intensitatea de gri a pixelului (i , j)cu valori intre 0 (negru) si 255 (alb)), ce poate fi descompusa viaDVS: A = UΣV T , unde U este 359× 359, Σ este 359× 371 si Veste 371× 371.
Compresia imaginilorImaginea originala are 359×371 = 133.189 pixeli. Dar matricea Apoate fi scrisa ca suma de componente principale:
A = σ1u1vT1 + σ2u2v
T2 + · · ·+ σnunv
Tn ,
unde fiecare matrice uivTi (componenta principala) de rang 1 este
de marimea matricei originale A. Dar pentru ca valorile singulareσi sunt ordonate σ1 ≥ σ2 ≥ · · · ≥ σn ≥ 0, este posibila ocompresie semnificativa a imaginii, atata timp cat spectrul valorilorsingulare are doar cateva intrari mari si restul sunt mici!
Spectrul lui A contine doar 100− 200 componente principale max.!
Compresia imaginilorPutem deci reconstrui fidel imaginea folosind doar o submultime decomponente principale. De exemplu, putem recupera o imagineasemenatoare cu doar 20 de componente principale folosindcomenzile din Matlab:
[U, S ,V ] = svd(A) si B = U(:, 1 : 20) S(1 : 20, 1 : 20) V (:, 1 : 20)
Imaginea B foloseste doar 10% din memoria imaginii A:
20× 359 + 20× 371 + 20 = 14.620 vs. 359× 371 = 133.189 pixeli
Compresia imaginilor
Putem recupera o imagine fidela cu doar 200 de componenteprincipale, in loc de 359 cat are imaginea originala (i.e. 50%informatie din imaginea originala):
[U, S ,V ]=svd(A) si B=U(:, 1 : 200) S(1 : 200, 1 : 200) V (:, 1 : 200)
Simplificare modelSimplificare model:
I fie modelul y = Ax + vI A ∈ R100×30 are VS σi : 10, 7, 2, 0.5, 0.01, · · · , 0.0001I ∥x∥ ≤ 1 si zgomotul v are norma mai mica decat 0.1
• atunci termenii σiuivTi x sunt mai mici decat v pentru i ≥ 5
• modelul simplificat: y =∑4
i=1 σiuivTi x + v (i.e. descris de o
matrice de rang 4, nu rang 30!)
Alta interpretare pentru σi :
σi = minB:rang(B)≤i−1
∥A− B∥
i.e. σi reprezinta distanta (in norma matriceala) la cea maiapropriata matrice de rang i − 1
Exemplu: pentru A ∈ Rn×n, σn reprezinta distanta la cea maiapropiata matrice singulara (deci σn mica inseamna ca A estefoarte apropiata de o matrice singulara).
Matrix completionI se da o matrice X cu elemente lipsa (e.g. o imagine)I se presupune ca matricea X este de rang scazutI scopul este sa se gaseasca elementele lipsa din XI pentru a impune rang mic asupra unei matrici se foloseste
nuclear norm ∥ · ∥∗: daca A are descompunerea DVSA =
∑ri=1 σiuiv
Ti , atunci ∥A∥∗ =
∑ri=1 σi
I problema se pune astfel:
minX∈Rm×n
rang(X ) =⇒︸︷︷︸relaxare convexa
minX∈Rm×n
∥X∥∗
s.l.: Xij = Aij ∀i , j ∈ S s.l.: Xij = Aij ∀i , j ∈ Sunde se dau valorile Aij cu (i , j) ∈ S o submultime aelementelor matricei cautate
I relaxarea convexa se poate scrie ca un SDP:
minX ,W1,W2
tr(W1) + tr(W2)
s.l.: Xij = Aij ∀i , j ∈ S ,
[W1 XXT W2
]≽ 0
Matrix completion - aplicare in recuperarea de imagine
imaginea data (40% elemente lipsa) si imaginea recuperata
Truss topology design
I constructia de poduri, acoperisuri...capabile sa suporte diferiteincarcaturi
I scop: configurarea optima a structurii create pentru a suportadiferite incarcaturi
I criterii de optimizare: rigiditatea (stabilitatea) structurii,cantitatea de material folosita,...
Roboti (e-puck)
I 4 roboti e-puck disponibili
I determinarea pozitiei folosindprocesare de imagine
Formulare problema: urmarirea unei traiectorii prestabilite,control cooperative, controlul unei formatii=⇒ probleme de optimizare (NLP)
20 40 60 80 100Numar iteratii
Pozitia zReferinta
0 20 40 60 80 100−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
t
Intr
ari o
ptim
e (
u1, u
2)
viteza unghiulara 1viteza unghiulara 2
Instalatie 4 rezervoare
I instalatie cu 4 rezervoare disponibila
I placa de achizitie NI
Formulare problema: sistem complex (4 stari - niveluri; 2 intrari -debite prin pompe); urmarirea unor referinte de niveluri prestabilite=⇒ problema de optimizare (QP)
500 1000 1500 1800time(seconds)
h1sh1
h4sh4
500 1000 1500 1800time(seconds)
h2sh2
h3sh3
Sisteme de recomandare - problema NetflixI sistem de recomandare pentru filme: predictie cu acuratete
cat mai mare a cat de mult iti va placea un film bazat pepreferintele tale
I concursul privind imbunatatirea algoritmului de recomandareNetflix a pornit in 2006.
I In 2008 un premiu de 50K pentru 9.44% imbunatatire, iar in2009 premiul cel mare de 1 milion pentru 10.06% imbunatatire
Problema Netflix
I datele de antrenare pentru algoritmul de recomandare: 100milioane ratings; 480.000 utilizatori; 17.700 filme; date stransein 6 ani (2000–2005)
Problema NetflixPrincipalele obstacole:
I dimensiunea datelor foarte mare: este nevoie de algoritmieficienti din punct de vedere al calculelor si al memoriei
I datele de test si cele de antrenare sunt diferite: e.g. datele detest ratings sunt mai recente
I 99% date lipsesc, deci metodele standard nu se aplicaI multi factori afecteaza rating-ul unui film: actorii, regizorul,
stilul actiunii, muzica, genulMatematica aplicata ajuta: Metodele Numerice si Optimizarea!
I utilizator Y caracterizeazafilmele prin atribute: violenta(x1 = 1.5); umor (x2 = 3.5);acest actor sau regizor(x3 = 0.5), etc ...
I factorizarea de matrici esteprincipala abordare
I combinata cu metodagradient din optimizare
Problema NetflixEstimarea rating-urilor necunoscute folosind factorizarea matricilor!
Aproximarea cu produs de matrici de rang 3: dar algebra standardse aplica numai matricilor cu toate intrarile cunoscute ⇒ netezireadatelor este necesara via optimizare pentru a evita overfitting
Reconstructie tomografica
Tomografie computerizata = tehnica noninvaziva ce folosesteraze X (sau alte tipuri de radiatii) pentru a produce imagini 2D/3Dale interiorului obiectului scanat.Procedura de functionare consta in:
1. Se achizitioneaza o serie deproiectii, din diferite unghiuri,ale obiectului scanat;
www.merckmanuals.com
2. Prin intermediul proiecti-ilor obtinute, se reconstruiesteinteriorul obiectului cu ajutorulunui algoritm iterativ;
www.mathworks.com
In majoritatea cazurilor, radiatiile folosite sunt daunatoare; deaceea se urmareste achizitionarea unui numar minim de proiectii.
Reconstructie tomograficaFormularea problemei:
• Fie x ∈ Rn imaginea interiorului de reconstruit.• Pentru reconstructie, dispunem de diferite masuratori liniare(proiectii) ale imaginii x : bi = Aix , i = 1, · · · ,m.• Notam vectorul proiectiilor b ∈ Rm si A = [AT
1 · · ·ATm]
T ∈ Rm×n
matricea de achizitie.• Imaginea interiorului reprezinta solutia sistemului liniar(subdeterminat deoarece sunt mai putine masuratori m decatdimensiunea imaginii n): Ax = b.• Reformulare in termeni de problema CMMP:
minx∈Rn: Ax=b
∥x∥α
unde de obicei se alege α = 2 sau α = 0 sau α = 1. Alegemα = 0 ∨ 1 pentru a induce o reprezentare rara a imaginii (vectorulsolutie). Se doreste o reprezentare rara a imaginii deoarece aceastapermite: compresie usoara; algoritmi rapizi pt. procesare; memoriede stocare mica; eliminarea usoara a zgomotului;...
Raritate in solutie - cazul vectorDefinim o masura a raritatii ∥x∥0 =/ i : xi = 0 si ∥x∥1 =
∑i |xi |
si apoi problemele de optimizare asociata sistemului liniar Ax = b:
minx∈Rn
∥x∥0 s.l. Ax = b =⇒︸︷︷︸relaxare convexa
minx∈Rn
∥x∥1 s.l. Ax = b
• Mutual coherence: µ(A) = max1≤k,j≤m, k =j
|aTk aj |∥ak∥2∥aj∥2
Pentru o matrice A cu rang intreg pe linii (i.e. m < n), daca existao solutie x∗ satisfacand relatia:
∥x∗∥0 <1
2
(1 +
1
µ(A)
)atunci x∗ este solutie pentru amandoua problemele de optimizare!
• Restricted Isometry Property (RIP): matricea A ∈ Rm×n areRIP(δ, k) daca orice submatrice AI (obtinute din combinarea a celmult k coloane din A) are toate valorile singulare marginite intre1− δ si 1 + δ. Pentru matricea A cu RIP(0.41, 2k) avem ca celedoua probleme de mai sus au aceeasi multime de solutii pemultimea vectorilor de raritate k (Candes & Tao 2005).
Raritate in solutie - cazul matriceDefinim o masura a raritatii ∥X∥0 = rang(X ) si ∥X∥∗ =
∑i σi si
problemele de optimizare asociate functiei liniare A : Rm×n → Rp:
minX∈Rm×n
∥X∥0 s.l. A(X ) = b =⇒︸︷︷︸relaxare convexa
minX∈Rm×n
∥X∥∗ s.l. A(X ) = b
• Restricted Isometry Property de ordin r : cea mai micaconstanta δr (A) a.i. pt. orice matrice X de rang cel mult r avem:
1− δr (A) ≤ ∥A(X )∥∥X∥F
≤ 1 + δr (A)
• Presupunem ca δ2r < 1 pentru un intreg r ≥ 1. Atunci unicasolutie a problemei originale neconvexe este matricea de rang celmult r satisfacand A(X ) = b.
• Presupunem ca r ≥ 1 satisface δ5r < 0.1, atunci cele douaprobleme de mai sus (cea originala si relaxarea ei convexa) auaceeasi solutie optima (Recht & Parrilo 2010).
Tehnici de Optimizare
Curs IIMultimi si Functii Convexe
Ion Necoara
2014
Euler (1744):
“Nothing in the world takes place without optimization, and thereis no doubt that all aspects of the world that have a rational basis
can be explained by optimization”
Notatii
In cadrul cursului vom utiliza urmatoarele notatii:
• Vectori (considerati intotdeauna vector coloana) cu litere mici,
i.e. x ∈ Rn, x =
x1...xn
• Produs scalar in spatiul Euclidian: ⟨x , y⟩ = xT y =
∑ni=1 xiyi
• Norma Euclidiana standard ∥x∥ =√
⟨x , x⟩ =√
x21 + · · ·+ x2n
• Multimi cu litere mari: S ,Q,U ⊆ Rn ( Rn+ - orthantul
nenegativ, Sn+ - multimea matricelor pozitiv semidefinite)
• Matrice cu litere mari: A,B,C ,H ∈ Rn×m
• Norma spectrala a unei matrici ∥A∥ =√
λmax(ATA)
• Matrice pozitiv definita: A ≻ 0, si pozitiv semidefinita A ≽ 0
NotatiiIn cadrul cursului vom utiliza urmatoarele notatii:
• Functii cu litere mici: f , g , h : Rn → R.
• Gradientul, respectiv matricea Hessiana a functiei continuudiferentiabile f : Rn → R: ∇f (x) ∈ Rn,∇2f (x) ∈ Rn×n.
Hessiana este matrice simetrica (i.e. in Sn)!
∇f (x) =
∂f (x)∂x1...
∂f (x)∂xn
, ∇2f (x) =
∂2f (x)∂2x1
. . . ∂2f (x)∂x1∂xn
......
...∂2f (x)∂xn∂x1
. . . ∂2f (x)∂2xn
,
Teorema de medie: fie functia g : R → R atunci exista θ ∈ [a, b]
a.i. g(b)− g(a) = g ′(θ)(b − a) =∫ ba g ′(τ)dτ =⇒ pt. f : Rn → R
f (y) = f (x) + ⟨∇f (x + θ(y − x)), y − x⟩ θ ∈ [0, 1]
f (y) = f (x) +
∫ 1
0⟨∇f (x + τ(y − x)), y − x⟩dτ
Optimizarea matematica
f ∗ = minx∈Rn
f (x)
s.l.: g1(x) ≤ 0, . . . , gm(x) ≤ 0
h1(x) = 0, . . . , hp(x) = 0.I x variabila de decizie
I functia obiectiv f : Rn → RI constrangeri de inegalitate si egalitate gi , hj : Rn → R.
Multimea fezabila X = x : gi (x) ≤ 0, hj(x) = 0 ∀i , j.
(NLP) : minx∈X
f (x)
In solutia optima x∗ functia obiectiv ia valoarea cea mai mica(valoarea optima f ∗) in raport cu toti vectorii ce satisfacconstrangerile (restrictiile). Pentru probleme generale avemminime locale si globale!
Teorema: Daca functia obiectiv f este convexa si multimeafezabila X este convexa atunci avem numai minime globale!
Multimi convexeMultime afina:S ⊆ Rn este afina daca ∀x1, x2 ∈ S si ∀α ∈ R avem
αx1 + (1− α)x2 ∈ S
Exemplu multime afina:
I Multimea solutiilor unui sistem de ecuatii liniare x : Ax = bInterpretare:
I Orice punct pe dreapta definita de x1 si x2 se afla in multime.
−4 −2 0 2 4 6 8 102
2.5
3
3.5
4
4.5
5
x2(5,3)
x1(0.5,4)
α=1.5
α=1
α=0.5
α=0
α=−0.5
Exemplu multime afinaI Multimea solutiilor unui sistem de ecuatii liniare x : Ax = b
Ax = b, Ay = b, α ∈ R
Multimi convexe
Multime convexa:S ⊆ Rn este convexa daca ∀x1, x2 ∈ S si ∀α ∈ [0, 1] avem
αx1 + (1− α)x2 ∈ S
Interpretare:
I Orice punct pe segmentul de dreapta definit de x1 si x2 se aflain multime
Exemplu de multime convexa si neconvexa:
I Orice multime afina este multime convexa (orice combinatieconvexa intre x1 si x2 se afla in multime)
x1
x2
x1
x2
Multimi convexe• Acoperirea convexa: multime formata din toate combinatiileconvexe posibile de puncte ale unei multimi S
Conv(S) =
∑i∈I,I finit
αixi : xi ∈ S ,∑i∈I
αi = 1, αi ≥ 0
• Exemplu de acoperire convexa: pentru o multime formata dintrei puncte S = x , y , z avem
Conv(S) =
α1x + α2y + α3z : x , y , z ∈ S , αi ∈ [0, 1],
3∑i=1
αi = 1
Multimi convexe
• Hiperplan si semiplan: multimi convexe definite astfel
I hiperplan:x ∈ Rn : aT x = b
, a = 0, a ∈ Rn, b ∈ R
I semiplan:x ∈ Rn : aT x ≥ b
saux ∈ Rn : aT x ≤ b
, a =
0, a ∈ Rn, b ∈ R• Exemplu de hiperplan si semiplanele aferente:
aT x≥b
a
x0
aT x≤b
aT x=b
x ∈ R2 : x1 + 2x2 = 1 ⇒ a = [1 2]T & b = 1
Multimi convexePoliedru:• multime convexa definita de p hiperplane sau m semiplanex ∈ Rn : aTi x = bi ∀i = 1, . . . , p, cTj x ≤ dj ∀j = 1, . . . ,m
sau
mai compact x : Ax = b, Cx ≤ d
• poate fi reprezentat si prin varfuri vi si raze afine rj :∑n1i=1 αivi +
∑n2j=1 βj rj :
∑n1i=1 αi = 1, αi ≥ 0, βj ≥ 0 ∀i , j
• exemplu de poliedru nemarginit: R2
+ = x ∈ R2 : x1, x2 ≥ 0
a4
a5
a1
a2
a3
• Politop:poliedru marginit, e.g simplex :
x ∈ R3 : x1+x2+x3 ≤ 1, x ≥ 0
Multimi convexeBila:multime convexa definita de o norma ∥ · ∥, un centru xc si o raza r :
B(xc , r) = x ∈ Rn : ∥x − xc∥ ≤ r
Exemplu, bila Euclidiana de centru zero si raza 1 in R2:
B2(0, 1) =
x ∈ R2 :
√x21 + x22 ≤ 1
Elipsoid:multimea convexa definita de un centru xc si o matrice Q ≻ 0x ∈ Rn : (x − xc)
TQ−1(x − xc) ≤ 1
Multimi convexeCon:K este con daca ∀x ∈ K si ∀α ≥ 0 avem αx ∈ K
Con convex:K este con si multime convexa
Exemplu con Lorentz : Ln =[xT t]T ∈ Rn+1 : ∥x∥ ≤ t
Exemplu conul Lorentz pentru n = 2:
L2 =
[x1 x2 t]
T ∈ R3 :√
x21 + x22 ≤ t
Multimi convexeAcoperire conica:
Con(S) =∑
i∈I,I finit αixi : xi ∈ S , αi ≥ 0
I Conul dual: K ∗ = y : ⟨x , y⟩ ≥ 0 ∀x ∈ KI Daca K = K ∗ atunci K este con auto-dual
Exemple conuri:I Multimea Rn este un con, iar conul sau dual este (Rn)∗ = 0.I Rn
+ = x ∈ Rn : x ≥ 0 se numeste conul orthant si esteauto-dual in raport cu produsul scalar uzual ⟨x , y⟩ = xT y , i.e.(Rn
+)∗ = Rn
+.
Multimi convexe
Con pozitiv semidefinit: multime formata din matrice pozitivsemidefinite, notatie Sn
+ =X ∈ Rn×n : X = XT , X ≽ 0
X ∈ Sn
+ ⇐⇒ xTXx ≥ 0 ∀x ∈ Rn
X ,Y ∈ Sn+, α ∈ [0, 1] ⇒ xT(αX+(1−α)Y )x = αxTXx+(1−α)xTYx ≥ 0
• Exemplu:
[x yy z
]∈ S2
+ ⇔ x , z ≥ 0 & xz − y2 ≥ 0
• Observatie: conul Sn+ este auto-dual, i.e. Sn
+ = (Sn+)
∗ in raportcu produsul scalar ⟨X ,Y ⟩ = Trace(XY )
Multimi convexeOperatii ce conserva convexitatea:
I intersectia: fiind data o familie de multimi convexe Sii∈I ,atunci
∩i∈I Si este o multime convexa
I suma si scalarea: fiind date doua multimi S1, S2, atunciS1 + S2 = x + y : x ∈ S1, y ∈ S2 este o multime convexa.Mai mult, αS = αx : x ∈ S este convexa daca S esteconvexa si α ∈ R
I fie o functie afina f (x) = Ax + b si S multime convexa, atuncif (S) = f (x) : x ∈ S, este convexa. Similar, preimaginea:f −1(S) = x : f (x) ∈ S este si ea convexa
Exemplu intersectie multimi convexe:
Multimi convexeInegalitate matriceala liniara (LMI): Consideram o functieG : Rm → Sn
+, G (x) = A0 +∑m
i=1 xiAi , unde xi suntcomponentele unui vector x ∈ Rm, iar matricele A0, · · · ,Am ∈ Sn
sunt simetrice.
Expresia G (x) ≽ 0 se numeste inegalitate matriceala liniara.
Multimea x ∈ Rm : G (x) ≽ 0 este o multime convexa, fiind opreimagine a lui Sm
+ prin G (x).
Exemplu: avem inegalitatea ∥A∥ ≤ γ cu γ > 0 si variabila A.Inegalitatea este echivalenta cu λmax(A
TA) ≤ γ2 sau:
γ2I − ATA ≽ 0
Prin complementul Schur, aceasta poate fi scrisa ca un LMI:[I AAT γ2I
]≽ 0
Multimi convexeTeorema de separare prin hiperplane: Fie S1 si S2 convexe iarS1 ∩ S2 = ∅. Atunci, exista un hiperplan aT x = b, cu a = 0,a ∈ Rn si b ∈ R astfel incat aT x ≥ b oricare ar fi x ∈ S1 siaT x ≤ b oricare ar fi x ∈ S2.
Teorema de suport cu un hiperplan: Fie S convexa six0 ∈ bd(S) = cl(S)− int(S). Atunci, exista a = 0, a ∈ Rn astfelincat aT x ≥ aT x0 oricare ar fi x ∈ S .
Functii convexeDomeniu efectiv: notam R = R ∪ +∞. O functie scalaraf : Rn → R are domeniul efectiv descris de multimea:
domf = x ∈ Rn : f (x) < +∞.
Functie convexa : O functie f este convexa daca domf este omultime convexa si are loc inegalitatea:
f (αx1 + (1− α)x2) ≤ αf (x1) + (1− α)f (x2)
pentru orice x1, x2 ∈ domf si α ∈ [0, 1]• Daca in plus
f (αx1 + (1− α)x2) < αf (x1) + (1− α)f (x2),
∀x1 = x2 ∈ domf si α ∈ (0, 1), atunci f functie strict convexa• Daca exista o constanta σ > 0 astfel incat
f (αx1+(1−α)x2) ≤ αf (x1)+(1−α)f (x2)−σ
2α(1−α)∥x1−x2∥2,
∀x1, x2 ∈ domf si α ∈ [0, 1], atunci f functie tare convexa
Functii convexe
• Exemplu de functie convexa f : R → R, f (x) = x2
−1 −0.5 0 0.5 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
f(α x1+(1−α)x
2)
f(x)=x2
α f(x1)+(1−α) f(x
2)
f(x2)
f(x1)
x1
x2
• Alte exemple de functii convexe
I Functia definita de orice norma este convexa, i.e. f (x) = ∥x∥este convexa pe Rn (folositi definitia).
I Functia f (x) = − log(x) este convexa pe R++.
I Functia f (x) = maxx1, . . . , xn este convexa pe Rn.
I Functia f (X ) = − log det(X ) este convexa pe spatiulmatricelor pozitiv definite Sn
++ (dificil de aratat!).
• Ineg alitatea lui Jensen este o generalizare a convexitatii: feste convexa daca si numai daca domf este convexa si
f
(p∑
i=1
αixi
)≤
p∑i=1
αi f (xi )
pentru orice xi ∈ domf si∑p
i=1 αi = 1 cu αi ∈ [0, 1]
• Functie concava: o functie f (x) este concava daca −f (x) esteconvexa (e.g. functia f (x) = log(x) este concava pe R++)
• Remarca: o functie f : Rn → R este convexa daca si numaidaca restrictia domeniului sau la o dreapta (care intersecteazadomeniul) este, de asemenea, convexa. Cu alte cuvinte, f esteconvexa daca si numai daca oricare ar fi x ∈ domf si o directied ∈ Rn, functia scalara g(t) = f (x + td) este convexa pe domeniult ∈ R : x + td ∈ domf .
Functii convexe• Exemplu restrictie domeniu la o dreapta: fie functia
f (X ) = −log detX
avand domeniul de definitie domf = Sn++
Avem pentru orice X ∈ Sn++ si D ∈ Sn:
g(t) = −log det(X + tD) = −log det X − log det(I + tX− 1
2DX− 12
)= −log det X −
n∑i=1
log(1 + tλi ),
unde λi sunt valorile proprii ale lui X− 12DX− 1
2 . Din moment ce− log(t) este functie convexa, rezulta ca g(t) este functie convexasi implicit f (X ) este convexa.
• Reamintim ca pentru o matrice X ∈ Sn din DVS avem:X = UΣUT , unde U ortogonala, i.e. UTU = In. Atunci definim
Σ1/2 = diag(σ1/2i ) si
X 1/2 = UΣ1/2UT
Functii convexeMultimi subnivel si epigraful functiei.
• Convexitate multimii subnivelPentru un scalar c ∈ R, multimea subnivel x ∈ domf : f (x) ≤ ca unei functii convexe f : Rn → R este convexa.
• Epigraful functieiFie f : Rn → R, atunci epigraful (numit si supragrafic) functieieste definit ca fiind urmatoarea multime:
epif =[xT t]T ∈ Rn+1 : x ∈ domf , f (x) ≤ t
.
• Rezultat: o functie f : Rn → R este convexa daca si numai dacaepigraful sau este o multime convexa.
Functii convexeConditii de convexitate pentru functii continuu diferentiabile.
Conditii de ordinul I: daca f : Rn → R este continuudiferentiabila si domf este o multime convexa. Atunci, f esteconvexa daca si numai daca:
f (x2) ≥ f (x1) +∇f (x1)T (x2 − x1) ∀x1, x2 ∈ domf .
Functii convexeConditii de convexitate pentru functii continuu diferentiabile.
Conditii de ordinul II: daca f : Rn → R este de doua ori continuudiferentiabila si domf este multime convexa. Atunci f este convexadaca si numai daca pentru orice x ∈ domf matricea Hessiana estepozitiv semidefinita, adica:
∇2f (x) ≽ 0 ∀x ∈ domf .
Functii convexe
Exemplu conditii de ordin I si II:
I Functia f (x) = − log(x) este convexa peR++ = x ∈ R : x > 0 deoarece ∇2f (x) = 1
x2> 0 oricare ar
fi x > 0.
I Functia patratica f (x) = 12x
TQx + qT x + r este convexa peRn daca si numai daca Q ≽ 0, deoarece pentru orice x ∈ Rn
Hessiana ∇2f (x) = Q (daca Q este simetrica).
I Se observa ca orice functie afina este convexa si, de asemenea,concava.
I Conditia domf multime convexa impusa in toate teoremeleprecedente este necesara. De exemplu, consideram functiaf (x) = 1/x2 avand domf = R \ 0 multime neconvexa.Observam ca Hessiana ∇2f (x) = 6
x4≽ 0, dar functia nu este
convexa.
Functii convexeOperatii ce conserva convexitatea functiilor:
I Daca f1 si f2 sunt functii convexe si α1, α2 ≥ 0 atunciα1f1 + α2f2 este de asemenea convexa.
I Daca f este convexa atunci g(x) = f (Ax + b) (adicacompunerea unei functii convexe cu o functie afina) este deasemenea convexa:
1
2∥Ax − b∥2 = 1
2xTATAx − bTAx − 1
2bTb
I Fie f : Rn × Rm → R astfel incat functia f (·, y) este convexapentru orice y ∈ S ⊆ Rm. Atunci urmatoarea functie esteconvexa:
g(x) = supy∈S
f (x , y).
I Compunerea cu o functie convexa monotona unidimensionala:daca f : Rn → R este convexa si g : R → R este convexa simonoton crescatoare, atunci functia g f : Rn → R este deasemenea convexa.
Functii tari convexe
• Daca domf convex si exista o constanta σ > 0 a.i.
f (αx1+(1−α)x2) ≤ αf (x1)+(1−α)f (x2)−σ
2α(1−α)∥x1−x2∥2,
∀x1, x2 ∈ domf si α ∈ [0, 1], atunci f functie tare convexa
Lema 1: Fie o functie continuu differentiabila f (i.e. f ∈ C1),atunci relatia de convexitate tare este echivalenta cu:
f (y) ≥ f (x) + ⟨∇f (x), y − x⟩+ σ
2∥x − y∥2 ∀x , y
Lema 2: In cazul functiilor de doua ori diferentiabile (i.e. f ∈ C2),relatia de convexitate tare este echivalenta cu:
∇2f (x) ≽ σIn ∀x ∈ domf
Convexitate tare• Daca f este tare convexa atunci:
f (y) ≥ f (x) +∇f (x)T (y − x) +σ
2∥y − x∥2
• Daca domf = Rn, atunci f are un punct de minim global unic:
σ
2∥x − x∗∥2 ≤ f (x)− f ∗ ≤ 1
2σ∥∇f (x)∥2
• Mai mult functia
f (x)− σ
2∥x∥2 este convexa
Convexitate tare - exemplu
Fie f : Rn → R o functie patratica, i.e.
f (x) =1
2xTQx + ⟨q, x⟩.
Observam expresia Hessianei ∇2f (x) = Q
In concluzie, pentru functiile patratice, cu Q ≻ 0, constanta deconvexitate tare este:
σ = λmin(Q)
Exemplu: daca Q = diag([q1 q2]), cu q1 > q2 > 0, atunciconstanta de convexitate tare este σ = q2.
Functii conjugateFie functia f : Rn → R, atunci functia conjugata, notata cu f ∗, sedefineste prin
f ∗(y) = maxx∈dom f
yT x − f (x)︸ ︷︷ ︸F (x ,y)
.
Functia f ∗ este convexa indiferent de proprietatile lui f .Exemple:
I Pentru functia patratica convexa f (x) = 12x
TQx , unde Q ≻ 0,functia conjugata are expresia:
f ∗(y) =1
2yTQ−1y .
I Pentru functia f (x) = − log x , conjugata sa este data deexpresia:
f ∗(y) = supx>0
(xy + log x) =
−1− log(−y) daca y < 0
∞ altfel.
Tehnici de Optimizare
Curs IIIMetode de optimizare unidimensionala
Ion Necoara
2014
Optimizarea matematica = Urcarea unui munte
Optimizarea matematica = Urcarea unui munte
Optimizarea matematica = algoritmi iterativi
algoritmi numerici de optimizare: iterativi
Algoritmi de optimizare
Pentru problemele prezentate in cursurile I si II vom studiaalgoritmi numerici (iterativi) de optimizare.Un algoritm de optimizare are urmatoarea structura:
1. Alege un punct intial x0
2. Pasul k : avand xk , se calculeaza un vector dk , numit directie,un scalar αk , numit lungimea pasului, si se actualizeazaiteratia:
xk+1 = xk + αkdk
3. Daca xk+1 satisface o anumita conditie, atunci ne oprim.
• Directia dk se obtine diferit, specific fiecarui algoritm.• Lungimea pasului insa se alege astfel incat f (xk+1) sa descreascacat mai mult posibil fata de f (xk), i.e.
αk = argminα
f (xk + αdk)
Cautare unidimensionala
Astfel, studiem metode de cautare unidimensionala, i.e. pentrufunctii obiectiv-unidimensionale f : R → R
minα∈R
f (α)
Pentru punctul de optim folosim notatia
α∗ = arg minα∈R
f (α)
Algoritmi de optimizare unidimensionala se bazeaza pe una dinurmatoarele strategii:
I Cautare directa
I Interpolare: aproximarea lui f (x) printr-un polinom folosindvalorile functiei si/sau derivatele ei in anumite puncte.
Cautare directa
Cautarea directa: este bazata pe urmatorii pasi
I Se identifica un interval initial [a0, b0] care sa il contina pe α∗
I Intervalul initial se reduce iterativ [ak , bk ]→ [ak+1, bk+1] panacand se satisface o toleranta impusa pentru a localiza α∗
Determinarea intervalului initial de cautare: metodaforward-backward (determina un interval in care functia obiectivare forma convexa)
Metoda presupune urmatorii pasi: fie un punct initial α0 silungimea pasului h0 > 0
I daca f (α0 + h0) < f (α0), atunci se incepe din punctulα0 + h0 si se continua cu o lungime a pasului mai mare cattimp valoarea functiei creste;
I daca f (α0 + h0) > f (α0), atunci ne deplasam din α0 inapoipana cand valoarea functiei creste.
Metoda forward-backwardMetodele de cautare unidimensionale se bazeaza pe unimodalitateafunctiei : Daca exista α∗ ∈ [a, b] astfel incat f este strictdescrescatoare pe intervalul [a, α∗] si strict crescatoare peintervalul [α∗, b], atunci f se numeste functie unimodala peintervalul [a, b].
Teorema: fie f unimodala pe [a, b] si fie doi scalari α1, α2 ∈ [a, b],cu α1 < α2. In acest caz:
(i) daca f (α1) ≤ f (α2), atunci [a, α2] este interval deunimodalitate pentru f ;
(ii) daca f (α1) ≥ f (α2), atunci [α1, b] este interval deunimodalitate pentru f .
Metoda forward-backward
Folosing unimodalitatea, metoda forward-backward are urmatoriipasi (presupunem ca α∗ ∈ R+)
Pas 1. fie un α0 ∈ [0, ∞), h0 > 0 si coeficientul multiplicativt > 1 (adesea se alege t = 2). Evaluam f (α0) = f0 si k = 0;
Pas 2. Comparam valorile functiei obiectiv. Actualizamαk+1 = αk + hk si evaluam fk+1 = f (αk+1). Daca fk+1 < fk ,sarim la Pas 3; altfel, sarim la Pas 4;
Pas 3. Pas forward. Actualizam hk+1 = thk , a = αk ,η = αk+1, b = a+ hk+1. Daca f (b) ≥ f (η), atunci stop sireturneaza [a, b]; altfel a = η, η = b, sarim la Pas 2;
Pas 4. Pas backward: η = αk , b = αk+1, hk+1 = thk ,a = b − hk+1. Daca f (a) ≥ f (η), atunci stop si returnam[a, b]; altfel, b = η, si η = a, sarim la Pas 2.
Metoda forward-backward
Exemplu metoda forward-backward pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda forward-backward
Exemplu metoda forward-backward pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
alphak=0.400000
alphak+1
=0.400100
k=0h=0.000100
alphak
alphak+1
f(x)
Metoda forward-backward
Exemplu metoda forward-backward pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
alphak=0.400100
alphak+1
=0.400300
k=1h=0.000200
alphak
alphak+1
f(x)
Metoda forward-backward
Exemplu metoda forward-backward pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
alphak=0.400300
alphak+1
=0.400700
k=2h=0.000400
alphak
alphak+1
f(x)
Metoda forward-backward
Exemplu metoda forward-backward pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
alphak=0.400700
alphak+1
=0.401500
k=3h=0.000800
alphak
alphak+1
f(x)
Metoda forward-backward
Exemplu metoda forward-backward pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
alphak=0.401500
alphak+1
=0.403100
k=4h=0.001600
alphak
alphak+1
f(x)
Metoda forward-backward
Exemplu metoda forward-backward pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
alphak=0.403100
alphak+1
=0.406300
k=5h=0.003200
alphak
alphak+1
f(x)
Metoda forward-backward
Exemplu metoda forward-backward pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
alphak=0.406300
alphak+1
=0.412700
k=6h=0.006400
alphak
alphak+1
f(x)
Metoda forward-backward
Exemplu metoda forward-backward pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
alphak=0.412700
alphak+1
=0.425500
k=7h=0.012800
alphak
alphak+1
f(x)
Metoda forward-backward
Exemplu metoda forward-backward pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
alphak=0.425500
alphak+1
=0.451100
k=8h=0.025600
alphak
alphak+1
f(x)
Metoda forward-backward
Exemplu metoda forward-backward pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
alphak=0.451100
alphak+1
=0.502300
k=9h=0.051200alpha
k
alphak+1
f(x)
Metoda forward-backward
Exemplu metoda forward-backward pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
alphak=0.502300
alphak+1
=0.604700
k=10h=0.102400
alphak
alphak+1
f(x)
Metoda forward-backward
Exemplu metoda forward-backward pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
alphak=0.604700
alphak+1
=0.809500
k=11h=0.204800
alphak
alphak+1
f(x)
Metoda forward-backward
Exemplu metoda forward-backward pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
a=0.604700b=0.809500
a
b
f(x)
Metoda Sectiunii de Aur
Metoda sectiunii de aur utilizeaza implicit unimodalitatea uneifunctii.Consideram functia f unimodala pe un interval initial [a1, b1] Laiteratia k , metoda sectiunii de aur determina intervalul[ak+1, bk+1] (mai mic decat [ak , bk ]) astfel incatα∗ ∈ [ak+1, bk+1].
Consideram doua puncte λk , µk ∈ [ak , bk ] unde λk < µk sicalculam f (λk) si f (µk).
In functie de relatia dintre f (λk) si f (µk) alegem noul interval. Dinteorema unimodalitatii rezulta
(i) Daca f (λk) ≤ f (µk) atunci ak+1 = ak si bk+1 = µk ;
(ii) Daca f (λk) > f (µk) atunci ak+1 = λk si bk+1 = bk .
Intrebare: cum alegem acum λk si µk ?
Raspuns: impunem conditiile
1. distantele de la λk si respectiv µk la capetele intervalului[ak , bk ] sunt egale:
bk − λk = µk − ak . (1)
2. rata de micsorare a lungimii intervalelor de incertitudine lafiecare iteratie este aceeasi, rezultand
bk+1 − ak+1 = τ(bk − ak), unde τ ∈ (0, 1). (2)
3. este necesara o singura evaluare a functiei obiectiv pentru onoua iteratie.
Conditia 1: distantele de la λk si respectiv µk la capeteleintervalului [ak , bk ] sunt egale:
bk − λk = µk − ak .
f(α)
ak
λk α µ
kb
k
f(µk)>f(λ
k)
µk−a
k=b
k−λ
k
f(µk)
f(λk)
bk−λ
k
µk−a
k
Reamintim cazul (i) din unimodalitate: f (λk) ≤ f (µk) iarak+1 = ak si bk+1 = µk .
Inlocuind in (2) si combinand cu (1) obtinem:
λk = ak + (1− τ)(bk − ak) (3)
µk = ak + τ(bk − ak). (4)
Noul interval este [ak+1, bk+1] = [ak , µk ].
Pentru a reduce intervalul, calculam λk+1 si µk+1.
Conditie: o singura evaluare a functiei este necesara per iteratie.
Idee: impunem µk+1 = λk .
Astfel, din (4) avem:
µk+1 = ak+1 + τ(bk+1 − ak+1) = ak + τ(µk − ak)
= ak + τ(ak + τ(bk − ak)− ak) = ak + τ2(bk − ak).(5)
Din µk+1 = λk , (5) si (3) avem τ2 = 1− τ .
Din τ2 = 1− τ , τ > 0 rezulta τ =√5−12∼= 0.618 (numarul de aur)
Astfel, metoda sectiunii de aur consta in:Pas 1. Determinam [a1, b1], alegem precizie δ.Calculam λ1 = a1 + 0.382(b1 − a1), µ1 = a1 + 0.618(b1 − a1),evaluam f (λ1) si f (µ1), initializam k = 1.
Pas 2. Daca f (λk) > f (µk)→ Pas 3; altfel → Pas 4.Pas 3. Daca bk − λk ≤ δ, stop si returnam µk ; altfel iteram:
ak+1 = λk , bk+1 = bk , λk+1 = µk
f (λk+1) = f (µk), µk+1 = ak+1 + 0.618(bk+1 − ak+1).
Evaluam f (µk+1) si iteram k = k + 1. Revenim la Pas 2.Pas 4. Daca µk − ak ≤ δ, ne oprim si returnam λk ; altfel iteram:
ak+1 = ak , bk+1 = µk , µk+1 = λk ,
f (µk+1) = f (λk), λk+1 = ak+1 + 0.382(bk+1 − ak+1).
Evaluam f (λk+1) si iteram k = k + 1. Revenim la Pas 2.
Sectinea de aurNumarul de aur
1 +√5
2= 1.6180339... = 1 +
1
1 + 11+ 1
1+ 11+···
considerat de grecii antici ca valoarea cea mai estetica a raportuluiintre doua laturi adiacente ale unui dreptunghi (proportiile inParthenon)
Metoda Sectiunii de Aur
Exemplu metoda sectiunii de aur pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
a1
b1
Metoda Sectiunii de Aur
Exemplu metoda sectiunii de aur pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
a1
a1
b1
Metoda Sectiunii de Aur
Exemplu metoda sectiunii de aur pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
a1
b1
a2
b2
Metoda Sectiunii de Aur
Exemplu metoda sectiunii de aur pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
a1
b1
b2
a3
b3
Metoda Sectiunii de Aur
Exemplu metoda sectiunii de aur pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
a1
b1
b2
a3
a4 b
4
Metoda Sectiunii de Aur
Exemplu metoda sectiunii de aur pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
a1
b1
b2
a3
a4a
5
b5
Metoda Sectiunii de Aur
Exemplu metoda sectiunii de aur pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
a1
b1
b2
a3
a4 b
5a6b
6
Metoda Sectiunii de Aur
Exemplu metoda sectiunii de aur pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
a1
b1
b2
a3
a4 b
5b6a
7b
7
Metoda Sectiunii de Aur
Exemplu metoda sectiunii de aur pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
a1
b1
b2
a3
a4 b
5b6a
7a
8b
8
Metoda Sectiunii de Aur
Exemplu metoda sectiunii de aur pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
a1
b1
b2
a3
a4 b
5b6a
7b
8a
9b
9
Metoda Sectiunii de Aur
Exemplu metoda sectiunii de aur pentruf (α) = sin(2πα) + cos(5πα)
0.2 0.4 0.6 0.8 1 1.2 1.4
a1
b1
b2
a3
a4 b
5b6a
7b
8a
10b
10
α*=0.618420
Metoda lui FibonacciAceleasi principii ca si metoda sectiunii de aur, dar cu diferentele:
I fixam numarul de iteratii k
I rata de reductie τ nu este fixa
Sirul lui Fibonacci: F0 = F1 = 1, Fk+1 = Fk + Fk−1 ∀k = 1, 2, . . .
Metoda lui Fibonacci: se inlocuieste τ ←→ Fk−j
Fk−j+1, iar din iteratiile
metodei sectiunii de aur se obtine:
bj+1 − aj+1 =Fk−j
Fk−j+1(bj − aj) (valabil in ambele cazuri)
Impunem o toleranta asupra lungimii intervalului final: bk − ak ≤ ϵLuand in considerare:
bk−ak =F1F2
(bk−1−ak−1) =F1F2
F2F3· · · Fk−1
Fk(b1−a1) =
1
Fk(b1−a1),
avem Fk ≥ b1−a1ϵ ⇒ se pot calcula din start Fk si k finale
Asimptotic insa limk→∞Fk−1
Fk= τ (= 0.618 numarul de aur)!
Convergenta metodelor de cautare
Comparatie cu potrivire la ratele de convergenta a metodelor decautare:• Metoda sectiunii de aur: rata de reductie a intervalului este fixaτ ≈ 0.618. Dupa k iteratii lungimea intervalului este
bk − ak = τk−1(b1 − a1)
Metoda sectiunii de aur: convergenta liniara!• Metoda lui Fibonacci: rata de reductie a intervalului estevariabila Fk
Fk+1. Dupa k iteratii fixate lungimea intervalului este
bk − ak =1
Fk(b1 − a1)
Dar Fk = 1√5
(1+
√5
2
)k−
(1−
√5
2
)k
Metoda lui Fibonacci este optima in clasa metodelor de cautare
Metode de InterpolareAproximeaza functia f cu un polinom de ordin doi sau trei, ce arevalori identice cu derivatele functiei in anumite puncte si in final,calculeaza valoarea α ce minimizeaza polinomul.
Metoda Newton: presupune cunoasterea derivatelor de ordinul Isi II ale functiei: se da f ′(α) si f ′′(α) la fiecare iteratie.
Cu cele doua derivate intr-un punct αk cunoscute f ′(αk) sif ′′(αk), se construieste un polinomul interpolant de grad doi(aproximarea Taylor de ordin II):
q(α) = f (αk) + f ′(αk)(α− αk) +1
2f ′′(αk)(α− αk)
2
Punctul urmator, αk+1 se calculeaza ca minimul polinomuluiinterpolant minα∈R q(α):
q′(αk+1) = 0⇒ αk+1 = αk −f ′(αk)
f ′′(αk)
Observatie: nu este nevoie sa se stie f (αk)
Metode de InterpolareTeorema de convergenta locala patratica: fie f functiecontinuu diferentiabila de doua ori, si fie un punct α∗ astfel incatf ′(α∗) = 0 si f ′′(α∗) = 0. Daca α0 este suficient de aproape deα∗, atunci sirul αk∞k=0 generat de metoda lui Newton convergepatratic la α∗, i.e.
limk→∞
|αk+1 − α∗||αk − α∗|2
= β, cu β > 0
Exemplu de pas metoda Newton:
0.2 0.4 0.6 0.8 1 1.2 1.4
Pas Newton
αk
αk+1
f(α)q(α)
Metode de InterpolareMetoda de interpolare in doua puncte (metoda falsei pozitii):utilizeaza doar derivate de ordin I, insa evaluate in doua punctediferite, αk−1 si αk : i.e. de dau f ′(αk−1) si f
′(αk).
Cu cele doua derivate, se construieste un polinom interpolant degrad doi:
q(α) = f (αk) + f ′(αk)(α− αk) +1
2
f ′(αk−1)− f ′(αk)
αk−1 − αk(α− αk)
2
Observam ca polinomul q(α) este in esenta cel din metodaNewton, insa in care f ′′(αk) a fost aproximata folosind derivatelede ordin I.
Punctul urmator, αk+1 se calculeaza ca minimul polinomuluiinterpolant:
q′(αk+1) = 0⇒ αk+1 = αk −αk−1 − αk
f ′(αk−1)− f ′(αk)f ′(αk)
Observatie: nu este nevoie sa se stie f (αk)
Teorema de convergenta locala: fie f functie continuudiferentiabila de doua ori, si fie un punct α∗ astfel incat f ′(α∗) = 0si f ′′(α∗) = 0. Daca α0 este suficient de aproape de α∗, atuncisirul αk∞k=0 generat de metoda falsei pozitii converge la α∗ cuordinul τ = (1 +
√5)/2 = 1.618, i.e.:
limk→∞
|αk+1 − α∗||αk − α∗|1.618
= β, cu β > 0
Exemplu de pas metoda falsei pozitii:
Tema 1
Fiecare student alege o aplicatie a.i. sa se modeleze ca o problemede optimizare unidimensionala. Cerinte:
I descrieti in detaliu aplicatia aleasa
I dati formularea matematica ca o problema de optimizare
I utilizati cel putin 2 algorithmi de optimizare unidimensionaladati la curs pentru rezolvarea ei
I dati codul Matlab pentru cei 2 algoritmi
I comparati rezultatele cu functia Matlab fminbnd si fminunc
I comentati rezultatele obtinute (grafice, tabele)
Tehnici de Optimizare
Curs IVConditii de optimalitate pentru (UNLP)
Ion Necoara
2014
Notiuni introductive
Consideram problema de optimizare:
(UNLP) : minx∈Rn
f (x)
Presupuneri:
I f ∈ C2
I domf multime deschisa in Rn
Problema de interes consta in gasirea punctelor de minim dindomf .Reamintim ca un punct x∗ se numeste punct de minim:
I global ⇐⇒ f (x∗) ≤ f (x) ∀x ∈ domf
I local ⇐⇒ ∃δ > 0 a.i. f (x∗) ≤ f (x) ∀x ∈ domf cu∥x − x∗∥ ≤ δ
Directie de descrestere pentru (UNLP)Definitie: Se numeste directie de descrestere al functiei f inpunctul x ∈ domf un vector d ∈ Rn ce satisface inegalitatea:
∇f (x)Td < 0
0 1 2 3 41
1.5
2
2.5
3
3.5
4
4.5
5
d
∇ f
x1
x2
Interpretare: daca d directie de descrestere a lui f in x atuncifunctia descreste in vecinatatea lui x . Intr-adevar, exista t > 0suficient de mic a.i. din continuitatea gradientului avem:
∇f (x + τd)Td < 0 ∀τ ∈ [0, t]
Din aproximarea Taylor avem ca exista θ ∈ [0, t] a.i.:
f (x + td) = f (x) +∇f (x + θd)Td < f (x)
Conditii necesare de ordinul I pentru (UNLP)
directie de descrestere d : ∇f (x)Td < 0
0 1 2 3 41
1.5
2
2.5
3
3.5
4
4.5
5
d
∇ f
x1
x2
Teorema (Conditii necesare de ordinul I): Fie f ∈ C1 six∗ ∈ domf un punct de minim local al (UNLP). Atunci avem:
∇f (x∗) = 0
Conditii de ordinul I - Demonstratie
Demonstratie:Consideram un punct de minim local x∗ si presupunem prin absurdca ∇f (x∗) = 0. In acest caz vom arata ca d = −∇f (x∗) estedirectie de descrestere in x∗ ⇒ contrazice ipoteza initiala.
Datorita continuitatii gradientului, putem alege un t > 0 suficientde mic a.i. ∀τ ∈ [0, t] avem:
∇f (x∗ + τd)Td = −∇f (x∗ − τ∇f (x∗))T∇f (x∗) < 0
In plus, exista θ ∈ [0, t] ce satisface:
f (x∗ − t∇f (x∗)) = f (x∗)− t∇f (x∗ − θ∇f (x∗))T∇f (x∗) < f (x∗)
Ultima inegalitate contrazice ipoteza initiala, i.e. x∗ este punct deminim local.
Conditii de ordinul I - Puncte stationare
Punctele x∗ ∈ domf ce satisfac conditiile necesare de ordinul I∇f (x∗) se numesc puncte stationare si se pot imparti in:
I puncte de minim (globale si locale)
I puncte de maxim (globale si locale)
I puncte sa (de inflexiune)
Observatie: Pentru a gasi punctele stationare trebuie rezolvatsistemul de n ecuatii neliniare cu n necunoscute: ∇f (x) = 0.
Conditii de ordinul I - ExempluConsideram problema (UNLP):
minx∈R2
f (x)
(= x21 +
1
2x1x2 + 5x2 sin(x1)
)Pentru a gasi punctele stationare rezolvam sistemul ∇f (x) = 0:
2x1 + 0.5x2 + 5x2 cos x1 = 0 si 0.5x1 + 5 sin x1 = 0
Punctele stationare apartin multimii (0, 0), (−3.499,−1.672),(3.499, 1.672), (−5.679, 2.461), (5.679,−2.461).Analiza punctelor: consideram punctul (0, 0).
I daca alegem (x1, x2) in jurul lui (0, 0), cu x1 > 0 si x2 = −2x1obtinem f (x1, x2) < 0 = f (0, 0)
I daca alegem (x1, x2) in jurul lui (0, 0), cu x2 = 0, avemf (x1, x2) > 0 = f (0, 0)
Concluzie: (0, 0) punct de inflexiune.Ce tip sunt restul punctelor stationare? Cum putem analiza naturapunctelor in cazul problemelor de mari dimensiuni?
Conditii necesare de ordinul II pentru (UNLP)
Dupa cum am vazut anterior, natura punctelor stationare nu poatefi stabilita utilizand doar informatie de ordinul I ⇒ pentru a stabilica un punct stationar este punct de extrem (minim sau maxim)este necesara informatie despre Hessiana.
Teorema (Conditii necesare de ordinul II): Fie f ∈ C2 six∗ ∈ domf un punct de minim local al problemei (UNLP). Atunciavem:
∇2f (x∗) < 0.
Conditii necesare de ordinul II - Demonstratie
Demonstratie: Presupunem prin absurd ca pentru un x∗ punct deminim local avem ca ∇2f (x∗) < 0 nu este satisfacuta si drepturmare ∃d a.i. dT∇2f (x∗)d < 0.Datorita continuitatii lui ∇2f ⇒ ∃t > 0 a.i. ∀τ ∈ [0, t] avem:
dT∇2f (x∗ + τd)d < 0.
Utilizand Teorema lui Taylor ⇒ ∃θ ∈ [0, t] a.i.:
f (x∗+td) = f (x∗)+t∇f (x∗)Td︸ ︷︷ ︸=︸︷︷︸
∇f (x∗)=0
0
+1
2t2 dT∇2f (x∗ + θd)d︸ ︷︷ ︸
≤0
< f (x∗).
Ultima inegalitate contrazice deci ipoteza initiala conform careia x∗
este punct de minim local.
Conditii suficiente de ordinul II pentru (UNLP)
Teorema (Conditii suficiente de ordinul II): Fie f ∈ C2 six∗ ∈ domf un punct stationar, i.e. ∇f (x∗) = 0. Daca Hessiana luif este pozitiv definita in x∗, i.e. ∇2f (x∗) ≻ 0, atunci x∗ estepunct strict de minim local al problemei (UNLP).
Conditii suficiente de ordinul II - Demonstratie
Demonstratie: Notand cu λmin > 0 valoarea proprie minima aHessianei ∇2f (x∗) avem:
dT∇2f (x∗)d ≥ λmin∥d∥2 ∀d ∈ Rn.
Folosind in continuare aproximarea Taylor putem scrie:
f (x∗ + d)− f (x∗) = ∇f (x∗)Td +1
2dT∇2f (x∗)d +R
(∥d∥2
)≥ λmin
2∥d∥2 +R
(∥d∥2
)=
(λmin
2+
R(∥d∥2
)∥d∥2
)∥d∥2 ≥ 0
pentru orice d ∈ Rn suficient de mic (reamintim ca avem relatia
lim∥d∥→0
R(∥d∥2)∥d∥2 = 0). Deci x∗ este punct de minim local.
Conditii de ordinul II - Tipul punctelor de extrem
Ca o consecinta a conditiilor suficiente de ordinul II, putem stabilinatura unui punct stationar x∗ in functie de proprietatile Hessianei,astfel:
I punct de minim local ⇐⇒ ∇2f (x∗) ≻ 0
I punct de maxim local ⇐⇒ ∇2f (x∗) ≺ 0
I punct de inflexiune ⇐⇒ ∇2f (x∗) este indefinita (atat valoriproprii negative cat si pozitive)
I in cazul in care ∇2f (x∗) este singulara nu se poate precizanatura punctului
Conditii de ordinul II - Exemplu
Consideram problema (UNLP):
minx∈R2
f (x)
(=
1
2x21 + x1x2 + 2x22 − 4x1 − 4x2 − x32
)Pentru a gasi punctele stationare rezolvam sistemul de doua ecuatiineliniare ∇f (x) = 0:
x1 + x2 − 4 = 0 si x1 + 4x2 − 4− 3x22 = 0.
Obtinem ca multimea punctelor stationare ale problemei este(4, 0), (3, 1).Pentru a observa natura acestora evaluam Hessiana:
∇2f (x) =
[1 11 4− 6x2
].
Deducem de aici ca (4, 0) este punct de minim local iar (3, 1) deinflexiune.
Conditii de ordinul II - Exemplul 2Consideram problema (UNLP):
minx∈R2
f (x)(= (x1 − 2)2 + (x1 − x22 )
2)
Din figura alaturata putem observa ca aceasta problema are douapuncte de minim si unul de inflexiune.
Cum putem gasi si stabili natura acestor puncte?
Conditii suficiente - Cazul convex
Sub presupunerea suplimentara ca f este o functie convexa vomarata ca in acest caz conditiile necesare de ordinul I sunt sisuficiente:
Teorema (Conditii suficiente de ordinul I pentru cazulconvex): Fie f ∈ C1 o functie convexa. Daca x∗ este un punctstationar , i.e. ∇f (x∗) = 0, atunci x∗ este punct de minim globalal problemei (UNLP).
Demonstratie: Folosind proprietatea de convexitate a lui f putemscrie:
f (x) ≥ f (x∗) +∇f (x∗)T︸ ︷︷ ︸=0
(x − x∗) = f (x∗) ∀x ∈ Rn.
Concluzie: orice punct de minim local al unei probleme convexeeste punct de minim global!
Probleme convexe sunt mult mai usor de rezolvat!
Cazul convex - Exemplu
Consideram problema (UNLP) convexa:
minx∈R2
f (x)
(= x41 + 2x21 − x1x2 +
1
2x22
).
In continuare obtinem ca ∇f (x) si ∇2f (x) au urmatoarele expresii:
∇f (x) =
[4x31 + 4x1 − x2
−x1 + x2
]si ∇2f (x) =
[12x2 + 4 −1
−1 1
].
Observam ca ∇2f (x) ≻ 0 ∀x ∈ R2 deci f este convexa.
Conform conditiilor suficiente de ordinul I, solutiile sistemului∇f (x) = 0 sunt puncte de minim global ale problemei (UNLP) ⇒(0, 0) punct de minim global.
Tehnici de Optimizare
Curs VConvergenta metodelor de descrestere
Ion Necoara
2014
Optimizarea matematica numita adesea“Science of the Better”
(UNLP)
Problema de optimizare neliniara fara constrangeri
(UNLP) : f ∗ = minx∈Rn
f (x)
Conditiile de ordinul I: ∇f (x) = 0 (n ecuatii cu n necunoscute)
Exemplu (QP):minx∈Rn
0.5xTQx − qT x ,
I Q matrice inversabila =⇒ ∇f (x) = Qx − q = 0 solutie unicax∗ = Q−1q
I valoarea optima f ∗ = −0.5qTQ−1q.
Metode numerice de optimizare
(UNLP) : f ∗ = minx∈Rn
f (x)
Sistemul de n ecuatii cu n necunoscute ∇f (x) = 0 nu poate firezolvat analitic! =⇒ metode iterative de rezolvare
Algoritm iterativ: genereaza un sir (xk)k≥0; fiecare punct calculatpe baza punctelor anterioare:
xk+1 = M(x0, · · · , xk)
I algoritm convergent global : pentru orice x0 sirul xk convergela o solutie x∗
I algoritm convergent local : pentru orice x0 apropiat de osolutie x∗ sirul xk converge la x∗
Metode numerice de optimizare
(UNLP) : f ∗ = minx∈Rn
f (x)
Algoritm iterativ: genereaza un sir de puncte (xk)k≥0; fiecarepunct calculat pe baza punctelor anterioare:xk+1 = M(x0, · · · , xk)
Algoritmul numeric colecteaza informatie printr-un oracol simanipuleaza raspunsurile oracolului
I oracol de ordin zero O0: furnizeaza informatie bazata peevaluarea functiei obiectiv f (x)
I oracol de ordin intai O1: furnizeaza informatie bazata peevaluarea functiei obiectiv f (x) si gradientului ∇f (x)
I oracol de ordin doi O2: furnizeaza informatie bazata peevaluarea functiei obiectiv f (x), gradient ∇f (x) si Hessiana∇2f (x)
Metode numerice de optimizare
Algoritm de optimizare iterativ gaseste o solutie aproximativacu o acuratete prestabilita ϵ
acuratetea ϵ reprezinta si criteriul de oprire al algoritmului
I criteriul de oprire 1: ∥∇f (xk)∥ ≤ ϵ
I criteriul de oprire 2: |f (xk)− f ∗| ≤ ϵ
I criteriul de oprire 3: ∥xk+1 − xk∥ ≤ ϵ
Metoda generica de optimizare
1. se da: punct initial x0, acuratete ϵ si contor k = 0
2. Ik informatia acumulata de oracol la pasul k ; se apeleazaoracolul O in xk ; se actualizeaza informatiaIk+1 = Ik ∪ O(xk)
3. se calculeaza xk+1 = M(Ik+1)
Exemplu (metoda gradient): O(xk) = ∇f (xk) =⇒xx+1 = xk − α∇f (xk), cu scalar α > 0 ales la pasul initial k = 0
Metode numerice de optimizare• Complexitatea analitica a algoritmului de optimizareiterativ: numarul total de apeluri ale oracolului pentru gasirea uneiϵ-solutii
• Rata de convergenta: viteza cu care sirul xk converge la solutiax∗; ordinul de convergenta q definit ca:
¯limk→∞∥xk+1 − x∗∥∥xk − x∗∥q
< ∞ ⇐⇒ ∥xk+1 − x∗∥ ≈ β∥xk − x∗∥q
I convergenta subliniara: ∥xk − x∗∥ ≤ βkq
I convergenta liniara (q = 1): ∥xk+1 − x∗∥ ≤ β∥xk − x∗∥, cu0 < β < 1
I convergenta superliniara (q = 1):∥xk+1 − x∗∥ ≤ βk∥xk − x∗∥, cu βk → 0
I convergenta patratica (q = 2): ∥xk+1 − x∗∥ ≤ β∥xk − x∗∥2,cu β > 0
Rata de convergenta
∥xk+1− x∗∥ ≈ β∥xk − x∗∥q ⇐⇒ distanta se reduce cu q zecimale
I convergenta subliniara: xk = 1k ⇒ (1; 0.5; 0.33; 0.25; 0.2)
I conv. liniara: xk = 13k
⇒ (0.33; 0.11; 0.03; 0.01; 0.004)I conv. superliniara: xk = 1
3k! ⇒ (1; 0.16; 0.05; 0.01; 0.002)I conv. patratica: xk=
1
32k⇒(0.1; 0.01; 0.001; 0.0002; 0.00001)
1 2 3 4 5 6 7 8 9 1010
−10
10−8
10−6
10−4
10−2
100
k
x k
subliniaraliniarasuperliniarapatratica
Convergenta metodelor de optimizare
Definitie. Se da: spatiul metric (X , ρ), submultimea S ⊆ X simetoda M de tip aplicatie punct-multime (M : X → 2X ). Definimfunctia descrescatoare ϕ : X → R pentru perechea (S ,M):
I ∀x ∈ S si y ∈ M(x) avem ϕ(y) ≤ ϕ(x)
I ∀x ∈ S si y ∈ M(x) avem ϕ(y) < ϕ(x)
Exemplu: pentru problema minx f (x), definimS = x : ∇f (x) = 0 (multimea punctelor stationare) si ϕ = f (deobicei o metoda de optimizare alege xk+1 a.i. f (xk+1) ≤ f (xk))
Definitie. O aplicatie punct-multime M : X → 2X este inchisa inx0 daca pentru orice xk → x0 si yk → y0 cu yk ∈ M(xk) avemy0 ∈ M(x0). M este inchisa daca este inchisa in toate puncteledin X .
Exemplu: aplicatia punct-multime xk+1 ∈ [−|xk |, |xk |] este inchisa
Convergenta metodelor de optimizare
Theorema de convergenta generala.Fir sirul xk+1 ∈ M(xk) iar S multimea solutiilor, satisfacand:
I xk se afla intr-o multime compacta
I M este aplicatie punct-multime inchisa
I exista o functie continua descrescatoare ϕ pentru (M, S)
Atunci punctele limita ale sirului xk apartin multimii solutiilor S .
Metode de descrestere
xk+1 = xk + αkdk ,
unde dk este directie de descrestere pentru f in xk , i.e.
∇f (xk)Tdk < 0
pentru αk ⇓ suficient de mic
f (xk+1) ≤ f (xk)
x1
x 2
x
x+α d
∇ f(x)
d
Metode de descresterexk+1 = xk + αkdk =⇒ ∇f (xk)
Tdk < 0
Strategii de alegerea a pasului αk
I metoda ideala: αk = argminα≥0 f (xk + αdk)I metoda Wolfe:
(W 1) : f (xk + αkdk) ≤ f (xk) + c1αk∇f (xk)Tdk cu c1 ∈ (0, 1)
(W 2) : ∇f (xk + αkdk)Tdk ≥ c2∇f (xk)
Tdk cu c1 < c2 < 1
I metoda backtracking : alegem α > 0 si ρ, c1 ∈ (0, 1)cat timp f (xk + αdk) > f (xk) + c1αk∇f (xk)
Tdk ⇒ α = ρα
α
α acceptabil
panta dorita: c2 ∇ f(x
k)Td
k
Conditiile Wolfe:
f(xk+α
k d
k)≤ f(x
k)+c
1α
k ∇ f(x
k)T d
k
∇ f(xk+α
k d
k)T d
k ≥ c
2 ∇ f(x
k)T d
k0<c
1<c
2<1
f(xk)+c
1 α ∇ f(x
k)T d
k
Continuitate Lipschitz
Fie o functie continuu differentiabila f (i.e. f ∈ C1), atuncigradientul ∇f este continuu Lipschitz cu parametrul L > 0 daca:
∥∇f (x)−∇f (y)∥ ≤ L∥x − y∥ ∀x , y ∈ domf (1)
Lema 1: Relatia de Lipschitz (1) implica
|f (y)− f (x)− ⟨∇f (x), y − x⟩| ≤ L
2∥x − y∥2 ∀x , y
Observatie: aceasta relatie este universal folosita in ratele deconvergenta ale algoritmilor de ordinul I!
Lema 2: In cazult functiilor de doua ori diferentiabile (i.e.f ∈ C2), relatia de Lipschitz (1) este echivalenta cu
∇2f (x) ≼ LIn ⇐⇒ ∥∇2f (x)∥ ≤ L ∀x ∈ domf
Continuitate LipschitzDemonstratie Lema 1: Din teorema valorii medii, pentru oricex , y avem:
f (y) = f (x) +
∫ 1
0⟨∇f (x + τ(y − x)), y − x⟩dτ
= f (x)+⟨∇f (x), y − x⟩+∫ 1
0⟨∇f (x+τ(y − x))−∇f (x), y−x⟩dτ
Evaluand modulul aproximarii liniare, avem
|f (y)− f (x)− ⟨∇f (x), y − x⟩|
= |∫ 1
0⟨∇f (x + τ(y − x))−∇f (x), y − x⟩dτ |
≤∫ 1
0|⟨∇f (x + τ(y − x))−∇f (x), y − x⟩|dτ
≤∫ 1
0τL∥x − y∥2dτ =
L
2∥x − y∥2
Continuitate Lipschitz - convexitate tare• Daca f are gradient Lipschitz atunci:
f (y) ≤ f (x) +∇f (x)T (y − x) +L
2∥y − x∥2
• Daca f este tare convexa atunci:
f (y) ≥ f (x) +∇f (x)T (y − x) +σ
2∥y − x∥2
• Daca f tare convexa si gradient Lipschitz atunci co-coercivitate:
⟨∇f (y)−∇f (x), y−x⟩ ≥ σL
σ + L∥x−y∥2+ 1
σ + L∥∇f (y)−∇f (x)∥2
Continuitate Lipschitz - Exemplu 1
Fie f : Rn → R o functie patratica, i.e.
f (x) =1
2xTQx + ⟨q, x⟩.
Observam expresia gradientului ∇f (x) = Qx + q.
Aproximam constanta Lipschitz a functiei f :
∥Qx + q − Qy − q∥ = ∥Q(x − y)∥ ≤ ∥Q∥∥x − y∥ = L∥x − y∥
In concluzie, pentru functiile patratice constanta Lipschitz este:
L = ∥Q∥ = |λmax(Q)|
Exemplu: daca Q = diag([q1 q2]), cu q1 > q2 > 0, atunciconstanta Lipscithz L = q1 si constanta de convexitate tare σ = q2.
Continuitate Lipschitz - Exemplu 2
Fie f : Rn → R definita de
f (x) = log(1 + ea
T x).
Observam expresia gradientului si a matricii Hessiene
∇f (x) =ea
T x
1 + eaT xa ∇2f (x) =
eaT x
(1 + eaT x)2aaT
Pentru orice constanta pozitiva c > 0 avem c(1+c)2
≤ 14 , deci
∥∇2f (x)∥ =ea
T x
(1 + eaT x)2∥aaT∥ ≤ ∥a∥2
4= L
Convergenta metodelor de descrestereTeorema de convergenta globala. Metoda de descrestere, cupasul satisfacand conditiile Wolfe, aplicata problemei (UNLP) cufunctia obiectiv marginita inferior si avand gradientul Lipschitz areurmatoarea convergenta globala:
∞∑k=0
cos2 θk∥∇f (xk)∥2 < ∞,
unde θk este unghiul facut de directia dk cu gradientul ∇f (xk).Demonstratie:Din conditia Wolfe (W2) avem:
(∇f (xk+1)−∇f (xk))Tdk ≥ (c2 − 1)∇f (xk)
Tdk .
Aplicand inegalitatea Cauchy-Schwartz obtinem:
∥∇f (xk+1)−∇f (xk)∥ · ∥dk∥ ≥ (c2 − 1)∇f (xk)Tdk .
Din proprietatea de Lipschitz gradient avem:
∥∇f (xk+1)−∇f (xk)∥ ≤ L∥xk+1 − xk∥ = Lαk∥dk∥
Convergenta metodelor de descrestereDemonstratie (continuare):Inlocuim in relatia anterioara ultima inegalitate:
Lαk∥dk∥2 ≥ (c2 − 1)∇f (xk)Tdk ,
i.e.
αk ≥ c2 − 1
L
∇f (xk)Tdk
∥dk∥2.
Din conditia Wolfe (W1) avem:
f (xk+1) ≤ f (xk) + c1(∇f (xk)
Tdk)2
∥dk∥2c2 − 1
L
ceea ce conduce la
f (xk+1) ≤ f (xk)− c cos2 θk∥∇f (xk)∥2,unde c = c1(1− c2)/L. Insumand de la k = 0 la N − 1 obtinem
f (xN) ≤ f (x0)− cN−1∑j=0
cos2 θj∥∇f (xj)∥2.
In final, tinem cont ca f este marginita inferior si luam N → ∞.
Tehnici de Optimizare
Curs VIMetode de ordinul I
Ion Necoara
2014
Clasificare metode de optimizare
Informatia ce indica comportamentul unei functii f ∈ Rn → Rintr-un punct x ∈ Rn se poate clasifica:
I Informatie de ordin 0: f (x)
I Informatie de ordin 1: f (x),∇f (x)
I Informatie de ordin 2: f (x),∇f (x),∇2f (x)
I . . .
Fie algoritmul iterativ definit de xk+1 = M(xk); in functie deordinul informatiei utilizate in expresia lui M:
I Metode de ordin 0: f (xk)
I Metode de ordin 1: f (xk),∇f (xk)
I Metode de ordin 2: f (xk),∇f (xk),∇2f (xk)
I . . .
Istoric - Metode de ordinul I
Cea mai “simpla” metoda de ordinul I: Metoda Gradient
I Prima aparitie in lucrarea [1] a luiAugustin-Louis Cauchy, 1847
I Cauchy rezolva un sistem neliniarde ecuatii cu 6 necunoscute,utilizand Metoda Gradient
[1] A. Cauchy. Methode generale pour la resolution des systemesdequations simultanees. C. R. Acad. Sci. Paris, 25:536-538, 1847
Istoric - Metode de ordinul I
Rata de convergenta slaba a metodei gradient reprezinta motivatiadezvoltarii de alte metode de ordin I cu performante superioare
I Metoda de Gradienti Conjugati -autori independenti Lanczos,Hestenes, Stiefel (1952)• QP convex solutia in n iteratii
I Metoda de Gradient Accelerat -dezvoltata de Yurii Nesterov (1983)
E.g. metoda de gradient accelerat este cu un ordin mai rapidadecat gradientul clasic in cazul problemelor convexe:• O(LR
2
k ) → O(LR2
k2 ) (sublinear - gradient Lipschitz)
• O((L−σL+σ )
k) → O((1−√
σL )
k) (liniar - tare convex + grad. Lip.)
Metoda GradientFie functia f : Rn → R diferentiabila.
(UNLP) : minx∈Rn
f (x)
Iteratie Metoda Gradient:xk+1 = xk − αk∇f (xk)Complexitate pe iteratieO(n) daca evaluarea ∇f (x)este ieftina! Metoda gra-dient rezolva probleme de109 variabile din motoare decautare, procesarea de imagine(www.acse.pub.ro/person/ion-necoara)
x1
x 2
x
x+α d
∇ f(x)
d
I Interpretare: metoda de descrestere cu directiad=−∇f (xk), deci f (xk+1)≤ f (xk) pentru αk suficient de mic
I Numeroase variante de alegere a pasului αk : backtracking,conditii Wolfe, pas constant, pas ideal
I Punct initial x0 arbitrar, criteriu de oprire e.g. ∥∇f (xk)∥ ≤ ϵ
Metoda gradient
Metoda Gradient
Iteratie Metoda Gradient:xk+1 = xk − αk∇f (xk)
x1
x 2
x
x+α d
∇ f(x)
d
I Interpretare: iteratia metodei gradient se obtine dinminimizarea unei aproximari patratice a functiei obiectiv f
xk+1 = arg minx∈Rn
f (xk) + ⟨∇f (xk), x − xk⟩+1
2αk∥x − xk∥2
• Aproximare patraticafolosind numai ∇f (x), nue nevoie de f (x) (vezi ase-manarea cu metoda falseipozitii cazul scalar)
f(x)
xxk+1
xk
Metoda Gradient-Convergenta globala generala
Teorema 1: Daca urmatoarele conditii sunt satisfacute:
(i) f diferentiabila cu ∇f continuu.
(ii) multimea subnivel Sf (x0) = x ∈ Rn : f (x) ≤ f (x0) estecompacta pentru orice punct initial x0
(iii) lungimea pasului αk satisface prima conditie Wolfe (W1),
atunci orice punct limita al sirului xk generat de metoda gradienteste punct stationar pentru problema (UNLP).
Demonstratie: Demonstratia se bazeaza, in principal, pe Teoremade Convergenta Generala prezentata in cursul precedent.
Continuitate Lipschitz
Fie o functie continuu diferentiabila f (i.e. f ∈ C1), atuncigradientul ∇f este continuu Lipschitz cu parametrul L > 0 daca:
∥∇f (x)−∇f (y)∥ ≤ L∥x − y∥ ∀x , y ∈ domf (1)
Teorema 2: Relatia de Lipschitz (1) implica
|f (y)− f (x)− ⟨∇f (x), y − x⟩| ≤ L
2∥x − y∥2 ∀x , y
Observatie: aceasta relatie este universal folosita in ratele deconvergenta ale algoritmilor de ordinul I!
Teorema 3: In cazul functiilor de doua ori diferentiabile, relatia deLipschitz (1) este echivalenta cu
∥∇2f (x)∥ ≤ L ∀x ∈ domf
Continuitate Lipschitz - convexitate tare• Daca f are gradient Lipschitz atunci:
f (y) ≤ f (x) +∇f (x)T (y − x) +L
2∥y − x∥2
• Daca f este tare convexa atunci:
f (y) ≥ f (x) +∇f (x)T (y − x) +σ
2∥y − x∥2
• Daca f tare convexa si gradient Lipschitz atunci co-coercivitate:
⟨∇f (y)−∇f (x), y−x⟩ ≥ σL
σ + L∥x−y∥2+ 1
σ + L∥∇f (y)−∇f (x)∥2
Continuitate Lipschitz - Exemplu 1
Fie f : Rn → R o functie patratica, i.e.
f (x) =1
2xTQx + ⟨q, x⟩.
Observam expresia gradientului ∇f (x) = Qx + q.
Aproximam constanta Lipschitz a functiei f :
∥Qx + q − Qy − q∥ = ∥Q(x − y)∥ ≤ ∥Q∥∥x − y∥ = L∥x − y∥
In concluzie, pentru functiile patratice constanta Lipschitz este:
L = ∥Q∥ = λmax(Q)
Continuitate Lipschitz - Exemplu 2
Fie f : Rn → R definita de
f (x) = log(1 + ea
T x).
Observam expresia gradientului si a matricii Hessiene
∇f (x) =ea
T x
1 + eaT xa ∇2f (x) =
eaT x
(1 + eaT x)2aaT
Pentru orice constanta pozitiva c > 0 avem c(1+c)2
≤ 14 , deci
∥∇2f (x)∥ =ea
T x
(1 + eaT x)2∥aaT∥ ≤ ∥a∥2
4= L
Metoda Gradient-Convergenta globala sub Lipschitz
Teorema 4: Fie f diferentiabila cu ∇f Lipschitz continuu(constanta Lipschitz L > 0) si marginita inferior. Daca alegemlungimea pasului αk astfel incat satisface conditiile Wolfe, atuncisirul xk generat de metoda gradient satisface:
limk→∞
∇f (xk) = 0.
Demonstratie: Se observa ca unghiul gradientului fata de directiametodei gradient (antigradient) este dat de θk = π.Din Teorema de Convergenta Globala a metodele de descrestereavem: ∑
k≥0
cos2 θk∥∇f (xk)∥2 =∑k≥0
∥∇f (xk)∥2 < ∞.
Rezulta: ∇f (xk) → 0 cand k → ∞.
Metoda Gradient-Rata de convergenta I (globala)
Teorema 5:
I Fie f diferentiabila cu ∇f Lipschitz continuu (constantaLipschitz L > 0)
I Alegem lungimea pasului αk = 1L
Atunci rata de convergenta globala a sirului xk generat de metodagradient este subliniara, data de:
min0≤i≤k
∥∇f (xi )∥ ≤ 1√k
√2L(f (x0)− f ∗)
Observatie: daca dorim acuratete ϵ, i.e. ∥∇f (x)∥ ≤ ϵ cate iteratiitrebuie sa facem?
1√k
√2L(f (x0)− f ∗) ≤ ϵ =⇒ k =
2L(f (x0)− f ∗)
ϵ2
Spunem: rata de convergenta este de ordinul O( 1√k) sau O( 1
ϵ2)
Metoda Gradient-Rata de convergenta I (globala)Demonstratie Teorema 5:Sub presupunerea ca ∇f Lipschitz continuu avem:
f (y) ≤ f (x) + ⟨∇f (x), y − x⟩+ L
2∥y − x∥2 x , y ∈ domf .
Considerand x = xk , y = xk+1 = xk − (1/L)∇f (xk) avem:
f (xk+1) ≤ f (xk)−1
2L∥∇f (xk)∥2.
Insumam dupa i = 0, . . . k − 1 si rezulta
1
2L
k−1∑i=0
∥∇f (xi )∥2 ≤ f (x0)− f (xk) ≤ f (x0)− f ∗
In concluzie, observam
k min0≤i≤n
∥∇f (xi )∥2 ≤k−1∑i=0
∥∇f (xi )∥2 ≤ 2L(f (x0)− f ∗)
Metoda Gradient-Rata de convergenta II (locala)Teorema 6:
I Fie f diferentiabila cu ∇f Lipschitz continuu (constantaLipschitz L > 0)
I Exista un punct de minim local x∗, astfel incat Hessiana inacest punct satisface
σIn ≼ ∇2f (x∗) ≼ LIn
I Punctul initial x0 al iteratiei metodei gradient cu pasαk = 2
σ+L este suficient de aproape de punctul de minim, i.e.
∥x0 − x∗∥ ≤ 2σ
L
Atunci rata de convergenta locala a sirului xk generat de metodagradient este liniara (i.e de ordinul O
(log(1ϵ )
)), data de:
∥xk − x∗∥ ≤ β
(1− 2σ
L+ 3σ
)k
cu β > 0
Metoda Gradient-Rata de convergenta III (convex)Teorema 7
I Fie f functie convexa, diferentiabila cu ∇f Lipschitz continuu(constanta Lipschitz L > 0). Daca alegem lungimea pasuluiconstanta αk = 1
L , atunci rata de convergenta globala a siruluixk generat de metoda gradient este subliniara, data de:
f (xk)− f ∗ ≤ L∥x0 − x∗∥2
2k
I Daca in plus functia este tare convexa cu constanta σ > 0,atunci rata de convergenta globala a sirului xk generat demetoda gradient cu pas αk = 1
L este liniara, data de:
∥xk − x∗∥2 ≤(L− σ
L+ σ
)k
∥x0 − x∗∥2
f (xk)− f ∗ ≤ L∥x0 − x∗∥2
2
(L− σ
L+ σ
)k
Metoda Gradient-Rata de convergenta IIIDemonstratie Teorema 7: Daca ∇f Lipschitz continuu, atunci
f (y) ≤ f (x) + ⟨∇f (x), y − x⟩+ L
2∥y − x∥2 ∀x , y
Considerand x = xk si y = xk+1 = xk − (1/L)∇f (xk), avem:
f (xk+1) ≤ f (xk)−1
2L∥∇f (xk)∥2
≤ f ∗ + ⟨∇f (xk), xk − x∗⟩ − 1
2L∥∇f (xk)∥2
= f ∗ +L
2
(∥xk − x∗∥2 − ∥xk − x∗ − 1
L∇f (xk)∥2
)= f ∗ +
L
2
(∥xk − x∗∥2 − ∥xk+1 − x∗∥2
)Prin insumare de la k = 0, . . . ,N − 1 rezulta
N(f (xN)− f ∗) ≤N−1∑k=0
(f (xk+1)− f ∗)
≤ L
2
N−1∑k=0
(∥xk − x∗∥2 − ∥xk+1 − x∗∥2
)≤ L
2∥x0 − x∗∥2.
Metoda Gradient-Rata de convergenta IIIDemonstratie Teorema 7: Daca in plus f tare convexa, atunciavem relatia de coercivitate (vezi cursul V):
⟨∇f (x)−∇f (y), x−y⟩ ≥ σL
σ + L∥x−y∥2+ 1
σ + L∥∇f (x)−∇f (y)∥2
Aceasta relatie conduce la:
∥xk+1 − x∗∥2 = ∥xk − 1/L∇f (xk)− x∗∥2
= ∥xk − x∗∥2 − 2/L⟨∇f (xk), xk − x∗⟩+ 1/L2∥∇f (xk)∥2
≤︸︷︷︸coerciva+∇f (x∗)=0
(1− 2σ
σ + L
)∥xk−x∗∥2+
(1
L2− 2
L(σ+L)
)︸ ︷︷ ︸
≤0
∥∇f (xk)∥2
≤(L− σ
L+ σ
)∥xk − x∗∥2
Pe de alta parte, in valoarea functiei (cu gradient Lischitz) avem:
f (xk)− f ∗ ≤ L
2∥xk − x∗∥2 ≤ L∥x0 − x∗∥2
2
(L− σ
L+ σ
)k
Metoda Gradient- Pas constant α = 1
Metoda Gradient- Pas constant α = 1/L
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
), cu γ > 1
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = 1L
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient- Pas constant α = 1/L
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
), cu γ > 1
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = 1L
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient- Pas constant α = 1/L
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
), cu γ > 1
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = 1L
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient- Pas constant α = 1/L
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
), cu γ > 1
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = 1L
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient- Pas constant α = 1/L
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
), cu γ > 1
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = 1L
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient- Pas constant α = 1/L
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
), cu γ > 1
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = 1L
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient- Pas constant α = 1/L
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
), cu γ > 1
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = 1L
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient- Pas constant α = 1/L
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
), cu γ > 1
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = 1L
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient- Pas constant α = 1/L
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
), cu γ > 1
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = 1L
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient- Pas constant α = 1/L
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
), cu γ > 1
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = 1L
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient- Pas constant α = 1/L
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
), cu γ > 1
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = 1L
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient- Pas constant α = 1/L
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
), cu γ > 1
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = 1L
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient- Pas ideal
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
)I Metoda Gradient cu pas ideal αk = argmin
α≥0f (xk − α∇f (xk))
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient- Pas ideal
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
)I Metoda Gradient cu pas ideal αk = argmin
α≥0f (xk − α∇f (xk))
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient- Pas ideal
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
)I Metoda Gradient cu pas ideal αk = argmin
α≥0f (xk − α∇f (xk))
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient- Pas ideal
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
)I Metoda Gradient cu pas ideal αk = argmin
α≥0f (xk − α∇f (xk))
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient- Pas ideal
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
)I Metoda Gradient cu pas ideal αk = argmin
α≥0f (xk − α∇f (xk))
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient- Pas ideal
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
)I Metoda Gradient cu pas ideal αk = argmin
α≥0f (xk − α∇f (xk))
I Punct initial x0 =[32γ 1
], γ = 5/3.
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
Metoda Gradient - Exemplu nepatratic
minx∈R2
f (x)(= ex1+3x2−0.1 + ex1−3x2−0.1 + e−x1−0.1
)I functie obiectiv convexa (nu este tare convexa, nu are
gradient Lipschitz pe R2)
I Metoda Gradient cu pas backtraking / ideal
Alte metode de ordinul I
Rata de convergenta slaba a metodei gradient reprezinta motivatiadezvoltarii de metode cu performante superioare
I Metoda de Gradient Accelerat (Nesterov 1983) - cu un ordinmai rapida decat gradientul clasic in cazul problemelor convexe
I Metoda de Gradienti Conjugati (Lanczos, Hestenes, Stiefel1952) - pentru QP convex solutia in n iteratii
Metoda de Gradient Accelerat
xk+1 = yk −1
L∇f (yk)
yk+1 = xk+1 + βk(xk+1 − xk)
unde se iau punctele initiale x0 = y0 si βk ales in mod adecvat:
e.g. sub convexitate tare putem alege βk =√L−
√σ√
L+√σ
Observatie: Costul iteratiei similar cu cel al metodei gradientclasice!
Metoda Gradient AcceleratTeorema 8
I Fie f o functie convexa, diferentiabila cu ∇f Lipschitzcontinuu (constanta Lipschitz L > 0). Rata de convergentaglobala a sirului xk generat de metoda gradient accelerat estesubliniara, data de:
f (xk)− f ∗ ≤ 4L∥x0 − x∗∥2
k2
I Daca in plus functia este tare convexa cu constanta σ > 0,atunci rata de convergenta este liniara, data de:
f (xk)− f ∗ ≤ L∥x0 − x∗∥2(1−
√σ
L
)k
Metoda gradient accelerat este cu un ordin mai rapida decatgradientul clasic in cazul problemelor convexe (R = ∥x0 − x∗∥):
• O(LR2
k ) → O(LR2
k2 ) (sublinear - gradient Lipschitz)
• O((L−σL+σ )
k) → O((1−√
σL )
k) (liniar - tare convex + grad. Lip.)
Metoda Gradient Accelerat• O(LR
2
k ) → O(LR2
k2 ) versus O((L−σL+σ )
k) → O((1−√
σL )
k)
Figura corespundeconstantelor:R = 10, L = 2 siσ = 0.1
0 10 20 30 40 50 60
10−4
10−2
100
102
k
f(xk) −
f*
MG(L)MGA(L)MG(L,σ)MGA(L,σ)
Se observa ca numarul de conditionare
κ =L
σ
este relativ mic (i.e. 20). Raportul κ = Lσ reprezinta numarul de
conditionare al problemei de optimizare convexe (UNLP) datoritasimilitudinii cu definitia numarului de conditionare al unei matrici
minx
f (x) (= 0.5xTQx)
atunci L = λmax = ∥Q∥ si σ = λmin = 1/∥Q−1∥
Gradient - Gradient Accelerat (exemplu 1)
minx∈R2
f (x)
(=
1
2(0.5x21 + γx22 )
), cu γ > 1
I Functia obiectiv f tare convexa (σ = 0.5) si gradient Lipschitz(L = γ)
I Metoda Gradient cu pas constant αk = 1/L
I Metoda Gradient Accelerat cu pas constant αk = 1/L siβk = (
√L−
√σ)/(
√L+
√σ)
I Ambele metode de ordinul I converg liniar
I Punct initial x0 =[32γ 1
], γ = 5/3.
Gradient - Gradient Accelerat (exemplu 1)I Metoda Gradient cu pas constant αk = 1/LI Metoda Gradient Accelerat cu pas constant αk = 1/L si
βk = (√L−
√σ)/(
√L+
√σ)
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
x1
x 2
1 1.5 2 2.5 32
2.2
2.4
2.6
2.8
3
3.2
3.4
3.6
k
|xk −
x* |
MGMGA
1 1.5 2 2.5 3
100.3
100.4
100.5
100.6
k
log(
|∇ f(
x k)|)
MGMGA
1 1.5 2 2.5 3
100.3
100.4
100.5
100.6
100.7
100.8
k
log(
f(xk) −
f* )
MGMGA
Gradient - Gradient Accelerat (exemplu 1)I Metoda Gradient cu pas constant αk = 1/LI Metoda Gradient Accelerat cu pas constant αk = 1/L si
βk = (√L−
√σ)/(
√L+
√σ)
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
x1
x 2
1 1.5 2 2.5 3 3.5 41.6
1.8
2
2.2
2.4
2.6
2.8
3
3.2
3.4
3.6
k
|xk −
x* |
1 1.5 2 2.5 3 3.5 4
100.1
100.2
100.3
100.4
100.5
100.6
k
log(
|∇ f(
x k)|)
1 1.5 2 2.5 3 3.5 4
100
k
log(
f(xk) −
f* )
Gradient - Gradient Accelerat (exemplu 1)I Metoda Gradient cu pas constant αk = 1/LI Metoda Gradient Accelerat cu pas constant αk = 1/L si
βk = (√L−
√σ)/(
√L+
√σ)
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
x1
x 2
1 2 3 4 5 61
1.5
2
2.5
3
3.5
4
k
|xk −
x* |
1 2 3 4 5 6
100
k
log(
|∇ f(
x k)|)
1 2 3 4 5 6
100
k
log(
f(xk) −
f* )
Gradient - Gradient Accelerat (exemplu 1)I Metoda Gradient cu pas constant αk = 1/LI Metoda Gradient Accelerat cu pas constant αk = 1/L si
βk = (√L−
√σ)/(
√L+
√σ)
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
x1
x 2
1 2 3 4 5 6 7 80.5
1
1.5
2
2.5
3
3.5
4
k
|xk −
x* |
1 2 3 4 5 6 7 8
100
k
log(
|∇ f(
x k)|)
1 2 3 4 5 6 7 8
100
k
log(
f(xk) −
f* )
Gradient - Gradient Accelerat (exemplu 1)I Metoda Gradient cu pas constant αk = 1/LI Metoda Gradient Accelerat cu pas constant αk = 1/L si
βk = (√L−
√σ)/(
√L+
√σ)
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
x1
x 2
1 2 3 4 5 6 7 8 9 100.5
1
1.5
2
2.5
3
3.5
4
k
|xk −
x* |
1 2 3 4 5 6 7 8 9 10
100
k
log(
|∇ f(
x k)|)
1 2 3 4 5 6 7 8 9 1010
−2
10−1
100
101
k
log(
f(xk) −
f* )
Gradient - Gradient Accelerat (exemplu 1)I Metoda Gradient cu pas constant αk = 1/LI Metoda Gradient Accelerat cu pas constant αk = 1/L si
βk = (√L−
√σ)/(
√L+
√σ)
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
x1
x 2
2 4 6 8 10 120
0.5
1
1.5
2
2.5
3
3.5
4
k
|xk −
x* |
2 4 6 8 10 12
100
k
log(
|∇ f(
x k)|)
2 4 6 8 10 1210
−2
10−1
100
101
k
log(
f(x k)
− f* )
Gradient - Gradient Accelerat (exemplu 1)I Metoda Gradient cu pas constant αk = 1/LI Metoda Gradient Accelerat cu pas constant αk = 1/L si
βk = (√L−
√σ)/(
√L+
√σ)
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
x1
x 2
2 4 6 8 10 12 14 16 18 200
0.5
1
1.5
2
2.5
3
3.5
4
k
|xk −
x* |
2 4 6 8 10 12 14 16 18 2010
−2
10−1
100
101
k
log(
|∇ f(
x k)|)
2 4 6 8 10 12 14 16 18 2010
−3
10−2
10−1
100
101
k
log(
f(x k)
− f* )
Gradient - Gradient Accelerat (exemplu 1)I Metoda Gradient cu pas constant αk = 1/LI Metoda Gradient Accelerat cu pas constant αk = 1/L si
βk = (√L−
√σ)/(
√L+
√σ)
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−2.5
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
x1
x 2
5 10 15 20 25 300
0.5
1
1.5
2
2.5
3
3.5
4
k
|xk −
x* |
5 10 15 20 25 3010
−3
10−2
10−1
100
101
k
log(
|∇ f(
x k)|)
5 10 15 20 25 3010
−5
10−4
10−3
10−2
10−1
100
101
k
log(
f(x k)
− f* )
Gradient - Gradient Accelerat (exemplu 2)
minx∈Rn
f (x)
= logm∑j=1
eaTi x+bi
I Functia obiectiv are gradient Lipschitz, dar nu e tare convexa
I Date generate aleator cu m = 104 si n = 103
I Metoda Gradient si Gradient Accelerat cu pas αk = 1/L
Metoda Gradient accelerat nu este o metoda de descrestere!
Metoda Gradientilor Conjugati - Programare PatraticaFie problema de optimizare patratica neconstransa
minx∈Rn
1
2xTQx − ⟨q, x⟩
I Q este matrice simetrica, pozitiv definita: solutia optimax∗ = Q−1q ⇐⇒ rezolvarea sistemului Qx = q
I Definim residul r = Qx − qI Doi vectori d1 si d2 sunt Q-ortogonali daca dT
1 Qd2 = 0.I Daca d1, · · · , dn sunt Q-ortogonali (deci liniar
independenti), atunci exists scalarii αk a.i.
x∗ =n∑
k=1
αkdk cu αk =dTk Qx∗
dTk Qdk
Theorema: Fie d0, · · · , dn−1 vectori Q-ortogonali. Atuncipentru orice x0, sirul xk generat de iteratia
xk+1 = xk + αkdk cu αk = −dTk rk
dTk Qdk
converge in n pasi la x∗, i.e. xn = x∗.
Metoda Gradientilor Conjugati - Programare PatraticaMetoda Gradientilor Conjugati - QP
I Fie x0 ∈ Rn, definim d0 = −∇f (x0) = −r0 = −(Qx0 − q)
I Actualizam iteratia xk+1 = xk + αkdk , unde αk = − rTk dkdTk Qdk
I Actualizam directia dk+1 = −rk+1 + βkdk , unde βk =rTk+1Qdk
dTk Qdk
Teorema. Metoda gradientilor conjugati satisface urmatoarele:I Spand0, · · ·,dk=Spanr0, · · ·,rk=Spanr0,Qr0, · · ·,Qk r0I dT
k Qdi = 0 pentru orice i < k
I αk =rTk rk
dTk Qdk
si βk =rTk+1rk+1
rTk rk
Deoarece directiile d0, · · · , dn−1 sunt Q-ortogonale, metodaconverge la x∗ in exact n pasi! Metoda gradient (accelerat) NUconverge in numar finit de pasi la x∗ pentru QP-uri!
Metoda Gradientilor Conjugati - UNLPFie problema de optimizare neconstransa (UNLP)
minx∈Rn
f (x)
Abordare similara: Q = ∇2f (xk), rk = ∇f (xk).Metoda Gradientilor Conjugati - UNLP
I Fie x0 ∈ Rn, r0 = ∇f (x0), d0 = −∇f (x0)
I xk+1 = xk + αkdk , unde αk = − rTk dkdTk ∇2f (xk )dk
I dk+1 = −∇f (xk+1) + βkdk , unde βk =rTk+1∇
2f (xk )dk
dTk ∇2f (xk)dk
I dupa n iteratii se inlocuieste x0 = xn si se repeta procesul
In cazul general, Metoda Gradientilor Conjugati nu converge.Variante imbunatatite ce prezinta convergenta calculeaza αk cumetoda ideala si βk cu formulele:
I Fletcher-Reeves: βk =rTk+1rk+1
rTk rk
I Polak-Ribiere: βk = (rk+1−rk )T rk+1
rTk rk
Program Matlab - metoda gradient idealAlgoritmul MG. (Se da punctul de start x0 si acuratetea ϵ. Secalculeaza o ϵ-solutie optima pentru problema de optimizareminx f (x) (= 10x61 + 30x62 + x21 + 50x22 ) cu MG-ideal.)
0. function [·] = MG-ideal(x0, ϵ)
1. obj = @(x) 10 ∗ x(1)6 + 30 ∗ x(2)6 + x(1)2 + 50 ∗ x(2)2
2. grad = @(x) [60 ∗ x(1)5 + 2 ∗ x(1); 180 ∗ x(2)5 + 100 ∗ x(2)]3. x = x0, tg = x0
4. while(norm(grad(x)) > ϵ)
1. objα = @(α) obj(x − αgrad(x))
2. α∗ = fminbnd(objα, 0, 1)
3. x = x − α∗ ∗ grad(x); tg = [tg ; x ]
5. end while
6. x = −0.2 : 0.1 : 0.2; y = −0.2 : 0.1 : 0.2; [X ,Y ] = meshgrid(x , y)
7. Z = 10 ∗ X .6 + 30 ∗ Y .6 + X .2 + 50 ∗ Y .2
8. figure; plot(tg(1, :), tg(2, :)); hold on; contour(X ,Y ,Z )
Tehnici de Optimizare
Curs VIIMetode de ordinul II
Ion Necoara
2014
Metoda Newton
Scurt istoric: antichitateMetoda babiloniana saumetoda lui Heron: dandu-se un numar c ∈ R,aceasta metoda consta incalcularea iterativa a luix =
√c ⇔ x2 − c = 0:
xk+1 =1
2
(xk +
c
xk
)= xk −
1
2xk(x2k − c)
Este considerata drept precur-sor (caz special) al metodeiNewton. Utilizata de ba-bilonieni, descrisa prima datade catre Heron din Alexandria.
Scurt istoric: secolul al XVII-lea
In 1669, Isaac Newton imbunatat-este o tehnica a perturbatiilor dez-voltata de Francois Viete pentru aafla solutiile unei ecuatii F (x) =0, unde F (x) este un polinom.Avand un punct de pornire x0,ideea principala este linearizarea:
F (x0 + h) = F (x0) + F ′(x0)h
Astfel, sa se gaseasca h astfel in-cat F (x0 + h) = 0, ce conduce laiteratia :
xk+1 = xk − F ′(xk)−1F (xk) (1)
Metoda originala a lui Newton a fost pur algebrica. In 1669,Joseph Raphson considera ca F (x) nu trebuie sa fie neaparatpolinom si prezinta forma generala (1) utilizand conceptul dederivata. De aceea, metoda se numeste metoda Newton-Raphson.
Metoda Newton in OptimizareConsideram f : Rn → R si problema de optimizare aferenta:
minx∈Rn
f (x)
Din conditiile de optimalitate de ordinul I pentru problemeneconstranse amintim: x∗ este punct de minim local daca∇f (x∗) = 0 si ∇2f (x∗) ≻ 0, unde ∇2f (x∗) denota Hessiana luif (x) in punctul x∗.
Astfel, pentru a afla x∗ trebuie sa mai intai aflam solutia ecuatiei:
F (x) = ∇f (x) = 0
• Interpretare: Aplicand metoda lui Newton-Raphson in acestcaz, rezulta iteratia:
xk+1 = xk −(∇2f (xk)
)−1∇f (xk)
Metoda Newton in OptimizareFiind metoda iterativa, metoda lui Newton se poate scrie drept:
xk+1 = xk + dk
unde dk = −(∇2f (xk)
)−1∇f (xk) se numeste directia Newton
• Interpretare: daca ∇f (x)2 ≻ 0, atunci ⟨dk ,∇f (xk)⟩ < 0, i.e dkeste o directie de descrestere.• Interpretare: metoda Newton poate fi obtinuta din aproximareaTaylor de ordinul doi a functiei obiectiv f :
f (xk+1) ≈ f (xk)+∇f (xk)T (xk+1−xk)+
1
2(xk+1−xk)
T∇2f (xk)(xk+1−xk)
Urmatoarea iteratie, xk+1, trebuie sa minimizeze aproximareaTaylor, de unde rezulta:
xk+1 = argminy
f (xk) +∇f (xk)T (y − xk) +
1
2(y − xk)
T∇2f (xk)(y − xk)︸ ︷︷ ︸q(y)
Metoda Newton in OptimizareDaca ∇2f (xk) ≻ 0, atunci q(y) este o functie patratica strictconvexa. Din conditiile de optimalitate pentru probleme QP strictconvexe, rezulta:
∇q(y) = 0 ⇒ ∇f (xk) +∇2f (xk)(y − xk) = 0
Din moment ce y = xk+1, prin rezolvarea ecuatiei anterioare in yrezulta din nou iteratia:
xk+1 = xk − (∇2f (xk))−1∇f (xk)
Observatie, din moment ce directia Newton dk = xk+1 − xk , atuncise poate exprima drept:
dk = argmind
f (xk) +∇f (xk)Td +
1
2dT∇2f (xk)d .
Din nou, utilizand conditiile de optimalitate, rezulta:
dk = −(∇2f (xk)
)−1∇f (xk)
Metoda Newton in OptimizareIteratie metoda Newton prin aproximarea patratica Taylor:
f(x)
xxk+1
xk
Observatie: metoda Newton pentru functii f : R → R este chiarmetoda Newton de interpolare din cursul III:
xk+1 = argminx
q(x) = argminx
f (xk) + f ′(xk)(x−xk)+1
2f ′′(xk)(x−xk)
2
= xk −(f ′′(xk)
)−1f ′(xk)
Convergenta locala a Metodei Newton
Teorema (rata de convergenta locala a metodei Newton):
• fie f ∈ C 2 si x∗ un minim local ce satisface ∇f (x∗) = 0 si∇2f (x∗) ≻ 0
• fie o constanta m > 0 astfel incat: ∇2f (x∗) ≽ mIn
• presupunem ca ∇2f (x) este Lipschitz cu constanta M > 0, i.e.
∥∇2f (x)−∇2f (y)∥ ≤ M∥x − y∥ ∀x , y ∈ domf
• presupunem ca punctul initial x0 este suficient de aproape dex∗, i.e. ∥x0 − x∗∥ ≤ 2
3 · mM
Atunci iteratia Newton xk+1 = xk − (∇2f (xk))−1∇f (xk) converge
la x∗ cu rata patratica, i.e.
∥xk+1 − x∗∥ ≤ 3M
2m∥xk − x∗∥2 ∀k ≥ 0
Prima demonstratie data de Kantorovich in 1948!
Convergenta locala a Metodei Newton
Demonstratie: x∗ este un minim local → ∇f (x∗) = 0.Din teorema lui Taylor in forma integrala avem:
∇f (xk) = ∇f (x∗) +
∫ 1
0∇2f (x∗ + τ(xk − x∗))(xk − x∗)dτ .
Se obtine:
xk+1 − x∗ = xk − x∗ − (∇2f (xk))−1∇f (xk)
= (∇2f (xk))−1[∇2f (xk)(xk − x∗)−∇f (xk) +∇f (x∗)]
=(∇2f (xk))−1[∇2f (xk)(xk−x∗)−
∫ 1
0∇2f (x∗+τ(xk−x∗))(xk−x∗)dτ ]
= (∇2f (xk))−1
∫ 1
0[∇2f (xk)(xk−x∗)−∇2f (x∗ + τ(xk−x∗))(xk−x∗)dτ ]
= (∇2f (xk))−1
∫ 1
0[∇2f (xk)−∇2f (x∗ + τ(xk−x∗))](xk−x∗)dτ .
Convergenta locala a Metodei NewtonDeoarece ∥∇2f (xk)−∇2f (x∗)∥ ≤ M∥xk − x∗∥, avem:
−M∥xk − x∗∥In ≼ ∇2f (xk)−∇2f (x∗) ≼ M∥xk − x∗∥In.
Mai mult, vom avea:
∇2f (xk) ≽ ∇2f (x∗)−M∥xk − x∗∥In ≽ mIn −M∥xk − x∗∥In ≻ 0,
sub ipoteza ca ∥xk − x∗∥ ≤ 23mM , de unde rezulta:
0 ≺ (∇2f (xk))−1 ≼ 1
m −M∥xk − x∗∥In.
Concluzionam urmatoarele:
∥xk+1 − x∗∥ = ∥(∇2f (xk))−1∥ · ∥
∫ 1
0∇2f (xk)−∇2f (x∗+τ(xk−x∗))dτ∥ · ∥xk−x∗∥
≤ 1
m −M∥xk − x∗∥
∫ 1
0M(1− τ)∥xk − x∗∥dτ∥xk − x∗∥
≤ 1
m −M∥xk − x∗∥
∫ 1
0M(1− τ)dτ∥xk − x∗∥2 ≤ 1
m −M∥xk − x∗∥M
2∥xk − x∗∥2.
Convergenta locala a Metodei Newton
Prin inductie se arata usor ca daca ∥x0 − x∗∥ ≤ 2m/3M, atunci∥xk − x∗∥ ≤ 2m/3M pentru orice k ≥ 0.Observam ca 1
m−M∥xk−x∗∥M2 ≤ 3M
2m < ∞ si deci obtinem
∥xk+1 − x∗∥ ≤ 3M2m ∥xk − x∗∥2.
Observatii: Consideram f (x) patratica, strict convexa, i.e.f (x) = 1
2xTQx + qT x , unde Q ≻ 0. Din conditiile de optimalitate:
∇f (x∗) = Qx∗ + q = 0 ⇒ x∗ = −Q−1q
Pornind dintr-un punct x0, si aplicand metoda Newton, rezulta:
x1 = x0−(∇2f (x0)
)−1∇f (x0) = x0−Q−1(Qx0+q) = −Q−1q = x∗,
deci pentru probleme patratice strict convexe metoda convergeintr-un singur pas.Dar metoda Newton necesita calculul inversei ∇2f (x)−1, operatiecostisitoare O(n3) pentru probleme de dimensiuni mari.
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton clasic
k=1
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton clasic
k=2
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton clasic
k=3
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton clasic
k=4
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton clasic
k=5
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton clasic
k=6
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton clasic
k=7
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton clasic
k=8
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton cu backtracking
k=1
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton cu backtracking
k=2
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton cu backtracking
k=3
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton cu backtracking
k=4
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton cu backtracking
k=5
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton cu backtracking
k=6
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton cu backtracking
k=7
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton cu backtracking
k=8
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton cu backtracking
k=9
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton cu backtracking
k=10
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton cu backtracking
k=11
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton cu backtracking
k=17
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton cu pas ideal
k=1
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton cu pas ideal
k=2
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton cu pas ideal
k=3
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton cu pas ideal
k=4
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,aplicata pe f : R2 → R, f (x) = ex1+3x2−0.1+ex1−3x2−0.1 + e−x1−0.1.
Newton cu pas ideal
k=5
−1
−0.5
0
0.5
1
−1−0.500.51
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
0 5 10 15 20 250
10
20
30
40
50
k
f(x k)−
f*
Newton clasicNewton idealNewton backtracking
0 5 10 15 200
20
40
60
80
100
120
140
160
k
‖∇f(x
k)‖
Newton clasicNewton idealNewton backtracking
Convergenta globala a Metodei NewtonDaca pornim dintr-un punct x0 ce nu se afla in vecinatatea lui x∗,metoda Newton trebuie modificata pentru a asigura convergenta:
xk+1 = xk − αk
(∇2f (xk)
)−1∇f (xk)
Pasul αk se poate alege ideal (i.e. αk = minα≥0 f (xk + αkdk)) sauprin metoda backtracking
Teorema (convergenta globala a metodei Newton):
• Fie functia obiectiv f ∈ C2 marginita inferior si cu gradientul∇f Lipschitz
• Consideram metoda Newton cu pas variabil αk ales prinbacktracking: xk+1 = xk − αk(∇2f (xk))
−1∇f (xk)
• Presupunem ca Hessiana satisface conditiaβ1In ≼ (∇2f (x))−1 ≼ β2In, unde 0 < β1 ≤ β2.
Atunci, metoda Newton produce un sir xk cu proprietatea ca∇f (xk) → 0.
Metoda Newton versus metoda gradient
• Metoda gradient cu pas αk se obtine prin aproximarea Taylor,unde insa ∇2f (xk) este inlocuita cu 1
αkIn:
xk+1 = xk − αk∇f (xk)
= argminy
f (xk) +∇f (xk)T (y − xk) +
1
2αk(y − xk)
T In(y − xk)
=⇒ complexitate pe iteratie O(n) plus costul evaluarii ∇f (x)!
• Metoda Newton cu pas αk se obtine prin aproximarea Taylor deordin II:
xk+1 = xk − αk(∇2f (xk))−1∇f (xk)
=argminy
f (xk)+∇f (xk)T(y−xk)+
1
2αk(y−xk)
T∇2f (xk)(y−xk)
=⇒ complexitate pe iteratie O(n3) plus costul evaluarii ∇f (x) si∇2f (x)!
Metoda Newton versus metoda gradient
minx∈R2
f (x) (= 10x61 + 30x62 + x21 + 50x22 )
function [] = gradient-Newton-ideal(x0,eps)obj = @(x)10x61 + 30x62 + x21 + 50x22;gradient = @(x)[60x51 + 2x1 ; 180x
52 + 100x2];
hessiana = @(x)[300x41 + 2 0; 0 900x42 + 100];%% Metoda Gradient cu pas ideal
x = x0;trajectoryg = [x0];while (norm(gradient(x)) > eps)
grad = gradient(x);
objα = @(α) obj(x - α grad);
α∗ = fminbnd(objα, 0, 1);
x = x - α∗ gradient(x);
trajectoryg = [trajectorygx ];end
Metoda Newton versus metoda gradient
%% Metoda Newton cu pas ideal
x=x0;
trajectoryn = [x0];
while (norm(gradient(x)) > eps)
grad = gradient(x);
hess = hessiana(x);
d-newton = inv(hess)* grad;
objα = @(α) obj(x - α *d-newton);
α∗ = fminbnd(objα, 0, 1);
x = x - α∗ d-newton;
trajectoryn = [ trajectoryn x];
end
Metoda Newton versus metoda gradient
x = −0.2 : 0.1 : 0.2;y = −0.2 : 0.1 : 0.2;[X,Y] = meshgrid(x,y);
Z = 10*X.^6 + 30*Y.^6 + X.^2 + 50*Y.^2;
figure
plot(trajectoryg(1,:),trajectoryg(2,:),’r+-’,’LineWidth’,3);hold on
plot(trajectoryn(1,:),trajectoryn(2,:),’k*--’,’LineWidth’,3);legend(’Gradient Method’,’Newton Method’);
hold on
contour(X,Y,Z,’ShowText’,’on’,’LineWidth’,2);
end
Metoda Newton versus metoda gradient
Comparatie intre metoda Newton si metoda gradient, ambele cupas ideal, pentru f : R2 → R, f (x) = 10x61+30x62+x21+50x22
Newton cu pas ideal
k=1
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
−0.2−0.100.10.2
Metoda Newton versus metoda gradient
Comparatie intre metoda Newton si metoda gradient, ambele cupas ideal, pentru f : R2 → R, f (x) = 10x61+30x62+x21+50x22
Newton cu pas ideal
k=2
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
−0.2−0.100.10.2
Metoda Newton versus metoda gradient
Comparatie intre metoda Newton si metoda gradient, ambele cupas ideal, pentru f : R2 → R, f (x) = 10x61+30x62+x21+50x22
Gradient cu pas ideal
k=1
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
−0.2−0.100.10.2
Metoda Newton versus metoda gradient
Comparatie intre metoda Newton si metoda gradient, ambele cupas ideal, pentru f : R2 → R, f (x) = 10x61+30x62+x21+50x22
Gradient cu pas ideal
k=2
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
−0.2−0.100.10.2
Metoda Newton versus metoda gradient
Comparatie intre metoda Newton si metoda gradient, ambele cupas ideal, pentru f : R2 → R, f (x) = 10x61+30x62+x21+50x22
Gradient cu pas ideal
k=3
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
−0.2−0.100.10.2
Metoda Newton versus metoda gradient
Comparatie intre metoda Newton si metoda gradient, ambele cupas ideal, pentru f : R2 → R, f (x) = 10x61+30x62+x21+50x22
Gradient cu pas ideal
k=4
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
−0.2−0.100.10.2
Metoda Newton versus metoda gradient
Comparatie intre metoda Newton si metoda gradient, ambele cupas ideal, pentru f : R2 → R, f (x) = 10x61+30x62+x21+50x22
Gradient cu pas ideal
k=5
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
−0.2−0.100.10.2
Metoda Newton versus metoda gradient
Comparatie intre metoda Newton si metoda gradient, ambele cupas ideal, pentru f : R2 → R, f (x) = 10x61+30x62+x21+50x22
Gradient cu pas ideal
k=6
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
−0.2−0.100.10.2
Metoda Newton versus metoda gradient
Comparatie intre metoda Newton si metoda gradient, ambele cupas ideal, pentru f : R2 → R, f (x) = 10x61+30x62+x21+50x22
Gradient cu pas ideal
k=7
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
−0.2−0.100.10.2
Metoda Newton versus metoda gradient
Comparatie intre metoda Newton si metoda gradient, ambele cupas ideal, pentru f : R2 → R, f (x) = 10x61+30x62+x21+50x22
Gradient cu pas ideal
k=8
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
−0.2−0.100.10.2
Metoda Newton versus metoda gradient
Comparatie intre metoda Newton si metoda gradient, ambele cupas ideal, pentru f : R2 → R, f (x) = 10x61+30x62+x21+50x22
Gradient cu pas ideal
k=9
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
−0.2−0.100.10.2
Metoda Newton versus metoda gradient
Comparatie intre metoda Newton si metoda gradient, ambele cupas ideal, pentru f : R2 → R, f (x) = 10x61+30x62+x21+50x22
Gradient cu pas ideal
k=10
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
−0.2−0.100.10.2
Metoda Newton versus metoda gradient
Comparatie intre metoda Newton si metoda gradient, ambele cupas ideal, pentru f : R2 → R, f (x) = 10x61+30x62+x21+50x22
Gradient cu pas ideal
k=11
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
−0.2−0.100.10.2
Metoda Newton versus metoda gradient
Comparatie intre metoda Newton si metoda gradient, ambele cupas ideal, pentru f : R2 → R, f (x) = 10x61+30x62+x21+50x22
Gradient cu pas ideal
k=12
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
−0.2−0.100.10.2
Metoda Newton versus metoda gradient
Comparatie intre metoda Newton si metoda gradient, ambele cupas ideal, pentru f : R2 → R, f (x) = 10x61+30x62+x21+50x22
Gradient cu pas ideal
k=13
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
−0.2−0.100.10.2
Metoda Newton versus metoda gradient
−0.2
0
0.2
−0.2−0.1
00.1
0.20
1
2
3
Newton cu pas ideal
k=1
Metoda Newton versus metoda gradient
−0.2
0
0.2
−0.2−0.1
00.1
0.20
1
2
3
Newton cu pas ideal
k=2
Metoda Newton versus metoda gradient
−0.2
0
0.2
−0.2−0.1
00.1
0.20
1
2
3
Gradient cu pas ideal
k=1
Metoda Newton versus metoda gradient
−0.2
0
0.2
−0.2−0.1
00.1
0.20
1
2
3
Gradient cu pas ideal
k=2
Metoda Newton versus metoda gradient
−0.2
0
0.2
−0.2−0.1
00.1
0.20
1
2
3
Gradient cu pas ideal
k=3
Metoda Newton versus metoda gradient
−0.2
0
0.2
−0.2−0.1
00.1
0.20
1
2
3
Gradient cu pas ideal
k=4
Metoda Newton versus metoda gradient
−0.2
0
0.2
−0.2−0.1
00.1
0.20
1
2
3
Gradient cu pas ideal
k=5
Metoda Newton versus metoda gradient
−0.2
0
0.2
−0.2−0.1
00.1
0.20
1
2
3
Gradient cu pas ideal
k=6
Metoda Newton versus metoda gradient
−0.2
0
0.2
−0.2−0.1
00.1
0.20
1
2
3
Gradient cu pas ideal
k=7
Metoda Newton versus metoda gradient
−0.2
0
0.2
−0.2−0.1
00.1
0.20
1
2
3
Gradient cu pas ideal
k=8
Metoda Newton versus metoda gradient
−0.2
0
0.2
−0.2−0.1
00.1
0.20
1
2
3
Gradient cu pas ideal
k=9
Metoda Newton versus metoda gradient
−0.2
0
0.2
−0.2−0.1
00.1
0.20
1
2
3
Gradient cu pas ideal
k=10
Metoda Newton versus metoda gradient
−0.2
0
0.2
−0.2−0.1
00.1
0.20
1
2
3
Gradient cu pas ideal
k=11
Metoda Newton versus metoda gradient
−0.2
0
0.2
−0.2−0.1
00.1
0.20
1
2
3
Gradient cu pas ideal
k=12
Metoda Newton versus metoda gradient
−0.2
0
0.2
−0.2−0.1
00.1
0.20
1
2
3
Gradient cu pas ideal
k=13
Metode cvasi-Newton
• Avantajul metodei Newton: convergenta extrem de rapida
• Dezavantajul metodei Newton: foloseste informatie deHessiana ∇2f (x) si rezolvarea unui sistem liniar (inversa(∇2f (xk)
)−1) ce necesita O(n3) operatii
Metode cvasi-Newton evita calcularea Hessianei: inlocuim(∇2f (xk)
)−1cu o matrice Hk ce poate fi calculata mai usor, e.g.
in O(n2) operatii, folosind numai informatie de gradient.
Iteratie metodelor cvasi-Newton:
xk+1 = xk − αkHk∇f (xk)
unde αk se alege ideal, backtracking sau egal cu 1
Metode cvasi-Newton
Interpretare: din aproximarea Taylor avem:
∇f (xk+1) ≈ ∇f (xk) +∇2f (xk)(xk+1 − xk).
Daca aproximam ∇2f (xk) cu matricea Bk+1 = H−1k+1, obtinem
urmatoarea relatie (ecuatia secantei):
∇f (xk+1)−∇f (xk) = Bk+1(xk+1 − xk) (2)
Daca definim aproximarea de ordin II in xk+1:
q(y) = f (xk+1)+∇T f (xk+1)(y−xk+1)+1
2(y−xk+1)
TBk+1(y−xk+1)
atunci gradientul aproximarii q in xk satisface
∇q(xk) = ∇T f (xk+1) + Bk+1(xk − xk+1)
= ∇f (xk)
Metode cvasi-Newton: actualizari de rang IStrategii de actualizare a matricelor in metodele cvasi-Newton:
Actualizari de rang I:
Bk+1 = Bk + βkukuTk
Definim:
∆k = xk+1 − xk si δk = ∇f (xk+1)−∇f (xk).
Din conditia (2) (ecuatia secantei) va rezulta:
Bk+1 = Bk +1
(δk − Bk∆k)T∆k(δk − Bk∆k)(δk − Bk∆k)
T
Din formula Sherman-Morrison pentru Hk+1 = B−1k+1 obtinem:
Hk+1 = Hk +1
(∆k − Hkδk)T δk(∆k − Hkδk)(∆k − Hkδk)
T
Metode cvasi-Newton: actualizari de rang II
Actualizari de rang II: impunem (2), insa Bk+1 va fi calculat prin:
Bk+1 = arg minB=BT , B∆k=δk
∥B − Bk∥, (3)
unde consideram norma ∥A∥ = ∥W 1/2AW 1/2∥F , cu W δk = ∆k .
Problema are solutie analitica, rezultand metoda (DFP)Davidon-Fletcher-Powell:
Bk+1 = (In−βkδk∆Tk )Bk(In−βk∆kδ
Tk )+βkδkδ
Tk , unde βk =
1
∆Tk δk
Utilizand iarasi formula Sherman-Morrison pentru Hk+1 = B−1k+1,
obtinem:
Hk+1 = Hk +1
∆Tk δk
∆k∆Tk − 1
δTk Hkδk(Hkδk)(Hkδk)
T
Metode cvasi-Newton: actualizari de rang IIDaca in loc de problema (3), utilizam problema:
Hk+1 = arg minH=HT , Hδk=∆k
∥H − Hk∥,
unde consideram norma ∥A∥ = ∥W 1/2AW 1/2∥F , cu W∆k = δk .
Problema are solutie analitica, rezultand metodaBroyden-Fletcher-Goldfarb-Shanno (BFGS):
Hk+1 = Hk −1
∆Tk δk
((Hkδk)∆
Tk +∆k(Hkδk)
T)+ βk(∆k∆
Tk )
βk =1
∆Tk δk
[1 +
δTk δk
∆Tk δk
]• daca H0 ≻ 0 si ∆T
0 δ0 > 0 atunci H1 ≻ 0 (i.e. updatarileBFGS pastreaza pozitiv definitatea)
• cost pe iteratie: O(n2) plus costul calcularii ∇f (x)• BFGS cu pas α = 1 pe cazul scalar coincide cu metoda falseipozitii
Teorema (rata de convergenta a metodelor cvasi-Newton):
• fie x∗ un punct ce satisface conditiile suficiente deoptimalitate de ordinul II
• presupunem iteratia forma xk+1 = xk − Hk∇f (xk)
• Hk este inversabila si satisface conditia Lipschitz:
∥Hk(∇2f (xk)−∇2f (y))∥ ≤ M∥xk − y∥ ∀y ∈ Rn,
si conditia de compatibilitate:
∥Hk(∇2f (xk)− H−1k )∥ ≤ γk (4)
cu 0 < M < ∞ si γk ≤ γ < 1.
• de asemenea, presupunem ca:
∥x0 − x∗∥ ≤ 2(1− γ)
M. (5)
Atunci xk converge la x∗ cu rata superliniara sub ipoteza caγk → 0 sau rata liniara daca γk > γ > 0.
Comparatie intre metoda Newton si BFGSConsideram problema (UNLP):
minx∈Rn
cT x −m∑j=1
log(bi − aTi x)
Generam datele aleator pentru dimensiunea n = 100 si m = 500
• cost pe iteratie pentru metoda Newton: O(n3) plus costulcalcularii ∇f (x) si ∇2f (x)
• cost pe iteratie pentru metoda BFGS: O(n2) plus costulcalcularii ∇f (x)
Comparatie intre metode de ordin I si II
• metoda gradient: converge cel mult liniar si costul peiteratie este O(n) (operatii cu vectori) plus evaluareagradientului ∇f (x) =⇒ eficient in rezolvarea problemelor defoarte mari dimensiuni n = 109
• metoda Newton: converge patratic si costul pe iteratie esteO(n3) (rezolvarea unui sistem liniar) plus evaluareagradientului ∇f (x) si Hessianei ∇2f (x) =⇒ eficient inrezolvarea problemelor de mici dimensiuni n ≤ 103
• metoda cvasi-Newton: converge superliniar si costul peiteratie este O(n2) (inmultire matrice-vector) plus evaluareagradientului ∇f (x) =⇒ eficient in rezolvarea problemelor demari dimensiuni n = 106
Raritate in date si solutie: caz compozit
minx∈Rn
fτ (x) (= f (x) + τ∥x∥1) ⇒ f diferentiabila
Exemplu: sparse data fitting (aproximarea unui set de date cufunctie liniara): set de date (ai , bi ) a.i. bi depinde linear de ai :
bi = aTi x + ei ∀i = 1 : m
cu ei o eroare datorata procesului de sampling ⇒ e.g. CMMP rar
minx∈Rn
fτ (x) (= ∥Ax − b∥2 + τ∥x∥1) ⇒ A ∈ Rm×n rara
Aplicatii:• Magnetic Resonance Imaging (MRI): instrument medicalimagistic folosit pt. scana anatomia si fiziologia unui organism
• Image inpainting: technica de reconstructie imagini degradate• Image deblurring: instrument de procesare imagine ptindeparta neclaritatea cauzate de fenomene naturale (miscare)
• Genome-Wide Association study (GWA): comparare ADNintre 2 grupuri de persoane (cu/fara o boala), in scopul de ainvestiga factorii de care depinde o boala
• Estimarea temperaturii globale pe baza datelor istorice
Raritate in date si solutie: abordare
minx∈Rn
fτ (x) (= f (x) + τ∥x∥1) ⇒ f diferentiabila
Aproximam f cu o functie patratica si pastram nealterat τ∥x∥1:
xk+1=arg minx∈Rn
qτ (x ; xk)(= f (xk)+⟨∇f (xk), x−xk⟩+1
2∥x−xk∥2Hk
+τ∥x∥1)
• Hk = LIn unde L constanta Lipschitz a lui ∇f ⇒ metodagradient (accelerat): Nesterov’07
• Hk = diag(L1, · · · , Ln), unde Li constanta Lipschitz a lui ∇i f⇒ metoda gradient pe coordonate: Nesterov’10, Necoara’11
• Hk = ∇2f (xk) si inlocuieste functia nediferentiabila ∥x∥1 cu
aproximarea diferentiabila (Huber) |xi | ↔√
x2i + µ2 − µ ⇒metoda Newton: Gondzio’15
Probleme de data fitting cer analiza Big Data (terabytes of data):trilioane de varibile (n) ⇒ Cray XC30 MPP supercomputer(ARCHER in Edinburgh este al 25-lea in top 500): 118.080 corescu performanta 1.642 TFlops/s on LINPACK benchmark.
Raritate in date si solutie: rezultate (Gondzio’15)ARCHER in Edinburgh: 25-lea in top 500 cu 118.080 cores
Comparatie metode: gradient pe coordonate paralel (PCDM),gradient accelerat (FISTA), Newton (pdNCG) cu gradient conjugatpt. rezolvare aproximativa sistem liniar si quasi-Newton (PSSgb)
Tehnici de Optimizare
Curs VIIIProbleme de estimare si fitting
Ion Necoara
2014
Formularea problemei
Problemele de estimare si fitting ⇒ probleme cu structura, de tipulcelor mai mici patrate (CMMP):
M(x) = η︸ ︷︷ ︸forma algebrica
⇔ minx∈Rn
1
2∥η −M(x)∥2︸ ︷︷ ︸
forma optimizare
I η ∈ Rm ⇒ m masuratori;
I M : Rn → Rm ⇒ modelul considerat;
I x ∈ Rn ⇒ parametrii modelului.
Problema forward: pentru intrari date ale modelului M(x) sedetermina iesirile corespunzatoare.Problema inversa: pentru un vector de iesiri η se cauta intrarilecorespunzatoare, folosind un model ce depinde de setul deparametrii x .Aplicatii ingineresti: aproximare de functii, identificarea proceselordinamice, prognoza meteo...
Istoric - CMMP
Problema CMMP isi are radacinile in domeniile astronomie sigeodezie, aparitia sa fiind motivata de aspecte legate de navigareape oceane, elementul cheie in dezvoltarea sa reprezentandu-lproblema descrierii traiectoriei astrelor pe orbita.
In 1809 Carl Friedrich Gauss ⇒ deter-minarea orbitei planetei “strumf” Ceres⇒ sustine ca dispunea de aceasta metodainca din 1795.
Prima expunere concisa a metodeiii apartine lui Adrien-Marie Legendre(1805).
1810⇒ Pierre Simon Laplace⇒ teoremade limita centrala ce ofera o corelatie in-tre problema CMMP si distributia nor-mala.
Aplicatie - estimarea cresterii demografice
Consideram un set de m date (ti , ηi ), unde:
I ti ⇒ anul efectuarii masuratorilor
I ηi ⇒ populatia masurata in anul ti
Pentru aproximarea cresterii demografice este propus un modelexponential de forma:
Mi (x1, x2) = x1 expx2ti ,
cu x = (x1, x2) reprezentand setul de parametrii ai modelului.Notam η = [η1 · · · ηm]T si M(x) = [M1(x) · · ·Mm(x)]
T ⇒estimarea parametrilor functiei cresterii demografice M(x) seformuleaza ca o problema CMMP neliniara.
Problema CMMP - Cazul liniarFrecvent, in aplicatii de estimare si fitting, modelul M este liniar,i.e. de forma M(x) = Jx .
Jx = η︸ ︷︷ ︸forma algebrica
⇔ minx∈Rn
1
2∥η − Jx∥2︸ ︷︷ ︸
forma optimizare
In acest caz, functia obiectiv f (x) = 12∥η − Jx∥2 este o functie
patratica convexa, avand Hessiana ∇2f (x) = JT J < 0 iarproblema CMMP liniara devine:
minx∈Rn
f (x)
(=
1
2∥η − Jx∥2
).
Cum f este convexa, atunci conditiile de optimalitate de ordinul I∇f (x) = 0 sunt si suficiente ⇒ orice solutie a sistemuluiJT Jx − JTη = 0 este punct de minim global a problemei CMMP.De exemplu, daca rang(J) = n, avem JT J ≻ 0, deci:
JT Jx∗ − JTη = 0 ⇐⇒ x∗ =(JT J
)−1JTη.
Pseudo-inversa Moore-Penrose
Definitie (Pseudo-Inversa Moore-Penrose)Fie matricea J ∈ Rm×n de rang r , avand descompunerea valorilorsingulare (DVS) data de J = UΣV T . Atunci, pseudo-inversaMoore-Penrose J+ are expresia:
J+ = VΣ+UT ,
unde Σ = diag(σ1, . . . , σr , 0, . . . , 0), cu σ1, . . . , σr fiind valorilesingulare ale matricii J, iar Σ+ = diag(σ−1
1 , . . . , σ−1r , 0, . . . , 0)
Pseudo-inversa Moore-Penrose (2)
Teorema: Daca rang(J) = n, atunci J+ =(JT J
)−1JT .
Daca rang(J) = m, atunci J+ = JT(JJT
)−1.
Demonstratie:(JT J
)−1JT =
(VΣTUTUΣV T
)−1VΣTUT
= V(ΣTΣ
)−1V TVΣTUT
= V(ΣTΣ
)−1ΣTUT = VΣ+UT .
Putem observa ca in cazul rang(J) = n, coloanele lui J sunt liniarindependente si deci JT J este inversabila. Analog, pentrurang(J) = m, JJT este inversabila.
Problema CMMP - Cazul liniar
Problema CMMP: sistemul liniar Jx = η in cazul generalrang J < min(m, n) se formuleaza in sens CMMP astfel:
(CMMP) : Jx = η︸ ︷︷ ︸forma algebrica
⇔ minx∈Rn, ∥η−Jx∥=minim
∥x∥︸ ︷︷ ︸forma optimizare
Teorema. In cazul general r = rang J < min(m, n) pseudosolutianormala unic determinata a problemei (CMMP) are expresia:
x∗ = J+η = VΣ+UTη =r∑
j=1
uTj b
σjvj
Mai mult, daca:(i) rang J = n atunci problema (CMMP) se rescrie caminx∈Rn
∥Jx − η∥2 a carei solutie este x∗ = J+η = (JT J)−1JTη
(ii) rang J = m atunci problema (CMMP) se rescrie camin
x∈Rn:Jx=η∥x∥2 a carei solutie este x∗ = J+η = JT (JJT )−1η
Problema CMMP - Cazul liniar
Demonstratie: Cum J = UΣV T , definim d = UTη = [d′d
′′]T si
y = V T x = [y′y
′′]T , unde d
′= d(1 : r), d
′′= d(r + 1 : m).
Similar pentru y′si y
′′. Avem:
∥Jx − η∥2 = ∥UΣV T x − η∥2 = ∥Σy − d∥2 = ∥Σ1y′ − d
′∥2 + ∥d ′′∥2.
Aceasta expresie este minima pentru y′= Σ−1
1 d′si y
′′arbitrar.
Dinstre toti vectorii y de aceasta forma, cel de norma minimacorespunde lui y
′′= 0. Cum ∥x∥ = ∥y∥, rezulta ca vectorul de
norma minima care minimizeaza reziduul ∥Jx − η∥ este:
x∗ = V
[Σ−11 d
′
0
]= V
[Σ−11 00 0
]d = VΣ+UTη = J+η
Exemplul 1 - Problema mediei
Fie urmatoarea problema de optimizare:
minx∈R
1
2
M∑1=1
(ηi − x) .
In acest caz, putem observa ca η = [η1 · · · ηm]T si J = [1 · · · 1]T .Cum JT J = m avem:
J+ =(JT J
)−1JT =
1
m[1 · · · 1] .
Rezulta de aici ca punctul de minim x∗ ⇒ media η a punctelor ηi :
x∗ = J+η =1
m
M∑i=1
ηi = η.
Exemplul 2 - Regresia liniara
Consideram setul de date t1, . . . , tm si valorile corespunzatoareη1, . . . , ηm.Dorim sa gasim vectorul parametrilor x = (x1, x2) a.i. polinomul deordinul intai p(t; x) = x1 + x2t realizeaza predictia lui η lamomentul t. Acesta poate fi gasit rezolvand problema:
minx∈R2
1
2
m∑i=1
(ηi − p(ti ; x))2 = min
x∈R2
1
2
∥∥∥∥η − J
[x1x2
]∥∥∥∥2 ,
unde J =
1 t1...
...1 tn
. Rezolvand problema se poate obtine solutia
x∗ = 1σ2t
[t2η − tηt−tη + ηt
]=
[η − t
ση
σtρ
ση
σtρ
], unde ση si σt reprezinta
variantele lui η si resepctiv t, iar ρ coeficientul de corelatie alacestora.
Aplicatie - Identificarea sistemlorConsideram un sistem intrare-iesire:
Pentru sistemul considerat dispunem de 40 de masuratoriintrare-iesire u(t), y(t):
15 20 25 30 35 40
t0 5 10 15 20 25 30 35 40
2.5
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
t
y(t)
Aplicatie - Identificarea sistemelor(2)
Dorim sa aproximam sistemul printr-un model intrare-iesire deforma ARMA:
ymodel(t) = x1u(t)+x2u(t−1)+x3u(t−2)+x4u(t−3)+x5u(t−4).
Gasirea setului de parametrii x = [x1 · · · x5]T ai modelului poate firealizata prin rezolvarea unei probleme CMMP liniare cuη = [y(5) y(6) · · · y(40)]T :
J =
u(5) u(4) u(3) u(2) u(1)u(6) u(5) u(4) u(3) u(2)u(7) u(6) u(5) u(4) u(3)...
......
......
u(40) u(39) u(38) u(37) u(36)
Aplicatie - Identificarea sistemelor(3)
Raspunsul modelului estimat:
5 10 15 20 25 30 35 40
Raspunsul estimat si raspunsul real
model(t)
(t)
CMMP liniare prost conditionate
In cazul JT J inversabila, multimea solutiilor optime X ∗ contine un
singur punct, i.e. X ∗ =(
JT J)−1
Jη.
Daca JT J nu este inversabila, atunci o infinitate de solutii:
X ∗ = x ∈ Rn : ∇f (x) = 0 =x ∈ Rn : JT Jx − JTη = 0
.
Ne intereseaza solutia din X ∗ de norma minima ⇒ minx∈X∗
12∥x∥
2.
Aceasta solutie este data de x∗ = J+η si poate fi determinatarezolvand o problema regularizata CMMP liniara cu o constantaβ > 0 suficient de mica:
minx∈Rn
f (x)
(=
1
2∥η − Jx∥2 + β
2∥x∥2
),
CMMP liniare prost conditionate (2)
Solutia problemei poate fi gasita prin rezolvarea sistemului obtinutdin conditiile de optimalitate:
∇f (x) = JT Jx − JTη + βx =(JT J + βIn
)x − JTη = 0
⇒ x∗ =(JT J + βIn
)−1JTη.
Lema: Pentru o matrice J ∈ Rm×n avem:
limβ→0
(JT J + βIn
)−1JT = J+.
CMMP liniare prost conditionate (3)
Demonstratie: Utilizand descompunerea DVS corespunzatoarematricei J = UΣV T avem:(
JT J + βIn)−1
JT = V(ΣTΣ+ βIn
)−1ΣTUT .
Evaluand partea dreapta a ecuatiei obtinem:
(JT J + βIn
)−1JT = V
σ1
σ21+β
. . .σr
σ2r +β
0β
UT .
Tinand cont de definitia lui Σ+ si J+ se poate observa ca pentru
β → 0 avem(JT J + βIn
)−1JT → J+.
Formularea statistica a problemelor CMMP liniare
Problema CMMP liniara poate fi interpretata in sensul determinariiunui set de parametrii x ∈ Rn ce explica masuratorile perturbate ηin cel mai bun mod.Pentru η1, . . . , ηm valori observate ale unei variabile aleatorii avanddensitatea P(η|x) ce depinde de setul de parametrii x , presupunem:
ηi = Mi (x) + βi ,
unde:
I x ⇒ valoarea adevarata a parametrului x;
I βi ⇒ zgomot Gaussian de medie E(βi ) = 0 si variantaE(βiβi ) = σ2
i .
I βi si βj sunt independente.
Metoda verosimilitatii maxime
Introdusa de Fischer in 1912 ⇒ gasirea estimatorului deverosimilitate maxima x∗ a lui x ce maximizeaza functia deverosimilitate:
P(η|x) =m∏i=1
P(ηi |x) =m∏i=1
exp
(− (ηi −Mi (x))
2
2σ2i
).
In general P(η|x) si logP(η|x) isi ating maximul in acelasi punctx∗ ⇒ problema echivalenta:
x∗ = arg maxx∈Rn
P(η|x) = arg minx∈Rn
− log (P(η|x))
= arg minx∈Rn
1
2∥S−1 (η −M(x)) ∥2,
unde S = diag(σ21, . . . , σ
2m).
Problema CMMP - Cazul neliniarProblemele CMMP liniare ⇒ metode numerice matriceale clasice,e.g. factorizarea QR:
JT Jx = JTη si J = QR ⇔(QR)TQRx = RTQTQRx = RTRx = RTQTη ⇔Rx = QTη ⇒ usor de rezolvat, R inf. triungh.
Rezolvarea globala a problemelor CMMP neliniare in general ⇒NP-hard ⇒ determinarea unui minim local se realizeaza iterativ.Principiul de baza consta in aproximarea problemei la fiecareiteratie cu liniarizarea sa in punctul curent.Pentru probleme CMMP neliniare de forma:
minx∈Rn
f (x)
(=
1
2∥F (x)∥2
),
unde F (x) = η −M(x), metodele des utilizate sunt:
I metoda Gauss-NewtonI metoda Levenberg-Marquardt
Metoda Gauss-Newton (GN)La fiecare iteratie a metodei GN, fiind dat xk , se realizeazaurmatoarea actualizare:
xk+1 = arg minx∈Rn
1
2∥F (xk) + J(xk)(x − xk)︸ ︷︷ ︸
liniarizarea lui F (x) in xk
∥2,
unde J(x) = ∂F (x)∂x . Notand F (xk) = Fk , J(xk) = Jk si
presupunand ca JTk Jk este inversabila avem echivalent:
xk+1 = xk + arg mind∈Rn
1
2∥Fk + Jkd∥2 = xk −
(JTk Jk
)−1JTk Fk .
Observatie: directia dk = −(JTk Jk
)−1JTk Fk = −J+k Fk este
directie de descrestere ⟨∇f (xk), dk⟩ = −FTk Jk(J
Tk Jk)
−1JTk Fk ≤ 0
Pentru a asigura convergenta metodei, de obicei se introduce unpas de lungime αk (ce devine 1 in apropierea minimului local):
xk+1 = xk − αk
(JTk Jk
)−1JTk Fk .
Aplicatie - estimarea cresterii demografice
Consideram problema de estimare a cresterii demografice printr-ofuntie exponentiala de forma
f (x) = x1 expx2 t,
unde reamintim ca x = (x1, x2) reprezinta setul de parametrii.
Pentru formularea problemei CMMP neliniare avem disponibile unset de 8 masuratori pentru populatia SUA efectuate intre anii 1815si 1885:
anul 1815 1825 1835 1845 1855 1865 1875 1885
populatie 8.3 11 14.7 19.7 26.7 35.2 44.4 55.9
Aplicatie - estimarea cresterii demografice(2)
2 3 4 5 6 7 8
Metoda GN (k=1)
Aplicatie - estimarea cresterii demografice(2)
2 3 4 5 6 7 8
Metoda GN (k=2)
Aplicatie - estimarea cresterii demografice(2)
2 3 4 5 6 7 8
Metoda GN (k=3)
Aplicatie - estimarea cresterii demografice(2)
2 3 4 5 6 7 8
Metoda GN (k=4)
Aplicatie - estimarea cresterii demografice(2)
2 3 4 5 6 7 8
Metoda GN (k=5)
Metoda Levenberg-Marquardt
Reprezinta generalizarea metodei G-N la cazul in care JTk Jk nu esteinversabila, fiind caracterizata de urmatoarea actualizare
dk = arg mind∈Rn
1
2∥Fk+Jkd∥2+
βk2∥d∥2 = −
(JTk Jk + βk In
)−1JTk Fk si
xk+1 = xk − αk
(JTk Jk + βk In
)−1JTk Fk
unde iarasi pasul αk se alege prin metoda ideala sau backtracking,iar in apropierea minimului devine 1
I Putem observa ca asemanator cu metoda Gauss-Newton, simetoda Levenberg-Marquardt este o metoda de descrestere.
I In plus, pentru βk → ∞ avem dk → 0 deci metoda nu aplicanici o corectie punctului curent. In schimb, pentru βk → 0,dk → −J+k Fk , deci coincide cu directia din metoda G-N.
GN vs. LM - estimarea cresterii demografice
2 3 4 5 6 7 8
Metoda GN vs LM (k=4)
GNLM
GN vs. LM - estimarea cresterii demografice
2 3 4 5 6 7 8
Metoda GN vs LM (k=5)
GNLM
GN vs. LM - estimarea cresterii demografice
2 3 4 5 6 7 8
Metoda GN vs LM (k=6)
GNLM
GN vs. LM - estimarea cresterii demografice
2 3 4 5 6 7 8
Metoda GN vs LM (k=7)
GNLM
Legatura cu metoda NewtonPutem observa ca gradientul functiei obiectiv f (x) = 1
2∥F (x)∥2 a
problemei CMMP neliniare este dat de urmatoarea relatie:
∇f (x) = J(x)TF (x).
Pentru ∇f (x) = 0 ⇒ directiile ambelor metode sunt nule, ceea ceeste o conditie necesara de convergenta la un punct stationar.Daca notam cu Fi componenta i a functiei F avem:
∇2f (x) = J(x)T J(x) +m∑i=1
Fi (x) · ∇2Fi (x).
Observam ca in cele doua metode, cel de-al doilea termen alfunctiei f este neglijat. Daca functia F (x) este aproape liniara sauFi (x) sunt mici in apropiere de solutie atunci acest termen esteredus.De exemplu, daca se cauta o solutie a sistemului liniar F (x) = 0,cu m = n, acest termen este nul. In plus, daca Jk este inversabila,atunci directia Newton coincide cu cea din metoda Gauss-Newton.
Rezultat de convergenta locala
Teorema: Fie x∗ un punct ce satisface conditiile suficiente deordinul doi. Iteratia metodelor Gauss-Newton siLevenberg-Marquardt in apropierea lui x∗ este de formaxk+1 = xk − Hk∇f (xk), unde Hk ≻ 0 este data fie de
Hk =(JTk Jk
)−1, fie de Hk =
(JTk Jk + βk In
)−1. Presupunem
satisfacuta conditia Lipschitz:
∥Hk
(∇2f (xk)−∇2f (y)
)∥ ≤ M∥xk − y∥ ∀k ∈ N, y ∈ Rn
si conditia de compatibilitate:
∥Hk
(∇2f (xk)− H−1
k
)∥ ≤ γk ∀k ∈ N
cu 0 < M < ∞ si γk ≤ γ < 1. In plus, presupunem ca∥x0 − x∗∥ ≤ 2(1−γ)
M .Atunci, xk converge la x∗ cu rata liniara daca γk > γ > 0.
Tema 2
Fiecare student alege o aplicatie a.i. sa se modeleze ca o problemede optimizare fara constrangeri. Cerinte:
I descrieti in detaliu aplicatia aleasa
I dati formularea matematica ca o problema de optimizareUNLP
I utilizati cel putin 2 algorithmi de optimizare pentru UNLPdati la curs pentru rezolvarea ei
I dati codul Matlab pentru cei 2 algoritmi
I comparati rezultatele cu functia Matlab fminunc
I comentati rezultatele obtinute (grafice, tabele)
Tehnici de Optimizare
Curs IXTeoria dualitatii
Ion Necoara
2014
(NLP): programare neliniara constransaProblema de optimizare neliniara supusa la constrangeri:
(NLP) : minx∈Rn
f (x)
s.l. : g1(x) ≤ 0, . . . , gm(x) ≤ 0
h1(x) = 0, . . . , hp(x) = 0
unde functiile f , gi si hj are continue si diferentiabile
g(x) = [g1(x), . . . , gm(x)]T ,
g : Rn → Rm,
h(x) = [h1(x), . . . , hp(x)]T ,
h : Rn → Rp.
(NLP) : minx∈Rn
f (x)
s.l. g(x) ≤ 0, h(x) = 0.
(NLP) : f ∗ = minx∈X
f (x)
• functia obiectiv f• multimea fezabila X =x : gi (x) ≤ 0, hj(x) = 0 ∀i , j
(CP): programare convexa constransaProblema de optimizare convexa supusa la constrangeri:
(CP) : minx∈Rn
f (x)
s.l. : g1(x) ≤ 0, . . . , gm(x) ≤ 0
aT1 x = b1, . . . , aTp x = bp
unde functiile f si gi are continue si convexe (e.g. Hesianele suntpozitiv semidefinite), constrangerile de egalitate sunt liniare.
g(x) = [g1(x), . . . , gm(x)]T ,
g : Rn → Rm,
h(x) = Ax − b,
A = [a1 · · · ap]T ∈ Rp×n.
(CP) : minx∈Rn
f (x)
s.l. g(x) ≤ 0, Ax = b.
(CP) : f ∗ = minx∈X
f (x)
• functia obiectiv f convexa• multimea fezabila convexa X =x : gi (x) ≤ 0 ∀i , Ax = b
Exemplu 1: proiectia Euclidiana
minx∈X
∥x − x0∥22 sau minx∈∩m
i=1Xi
∥x − x0∥22
Proiectia Euclidiana a punctului x0 pe multimea X : [x0]Xdeterminarea celui mai “apropiat” punct (in distanta Euclidiana)din multimea X de punctul x0
I functie obiectiv patratica convexa (Hesiana este In)
I proiectia exista si este unica in cazul X multime convexa(caz particular de (CP))
I aplicatii practice: imagistica medicala, tomografiecomputerizata, microscopie electronica
I solutie analitica pentru multimi “simple” (semispatiu,hyperplan, bila, box);
Exemplu: minx∈Rn+∥x − x0∥22, i.e. X = Rn
+ : x ≥ 0
([x0]Rn+)i = 0 daca x0i < 0
∨= x0i daca x0i ≥ 0 ∀i
Proiectia Euclidiana - exemple
minx∈R3
∥x − [1 1 1]T∥22
s.l. x1 + x2 + x3 ≤ 1, x ≥ 0.
minx∈R3
∥x∥22
s.l. a1x1 + a2x2 + a3x3 = b
⇓
H = x : aT x = b, [0]H = ta
t =b
∥a∥2⇒ [0]H =
b
∥a∥2a
Exemplu 2: problema localizarii
Se cunosc locatiile a m senzori si ∈ R3 si distantele Ri de la senzorila obiectul necunoscut x ∈ R3
minx∈R3,R>0
R
s.l. R + ∥si − x∥ ≤ Ri ∀i = 1, . . . ,m.
I se determina coordonatele:centrul x ∈ R3 si raza R > 0
I functie obiectiv liniara
I constrangeri patratice convexe
I caz particular de (CP)
Exemplu 3: controlul puterii in sisteme de comunicatie
Dispunem de n transmitatori, cu nivelurile de putereP1,P2, . . . ,Pn, si de n receptori.
I fiecare receptor i receptioneaza semnalul transmitatorului i
I puterea receptata de receptorul i de la transmitatorul j(puterea semnalului de interferenta) este data de GijPj , undeGij reprezinta amplificarea pe linia de comunicatie (i , j)
I Puterea semnalului primit de receptorul i de la transmitatoruli este GiiPi
Exemplu 3: controlul puterii in sisteme de comunicatie
• Zgomotul din retea este dat de σi .• Raportul semnal - interferenta si zgomot este definit de
Si =GiiPi
σi +Σj =iGijPj=
semnal util
zgomot + interferenta.
Constrangeri ce apar natural in medii de retea:Pmin ≤ Pi ≤ Pmax si Si ≥ Smin.
Problema de programare convexa
minP∈Rn
P1 + · · ·+ Pn
s.l. Pmin ≤ Pi ≤ Pmax
GiiPi/(σi +Σj =iGijPj) ≥ Smin
Exemplu 4: reconstructie tomografica
Tomografie computerizata = tehnica noninvaziva ce folosesteraze X (sau alte tipuri de radiatii) pentru a produce imagini 2D/3Dale interiorului obiectului scanat.Procedura de functionare consta in:
1. Se achizitioneaza o serie deproiectii, din diferite unghiuri,ale obiectului scanat;
www.merckmanuals.com
2. Prin intermediul proiecti-ilor obtinute, se reconstruiesteinteriorul obiectului cu ajutorulunui algoritm iterativ;
www.mathworks.com
In majoritatea cazurilor, radiatiile folosite sunt daunatoare; deaceea se urmareste achizitionarea unui numar minim de proiectii.
Exemplu 4: reconstructie tomograficaFormularea problemei:
• Fie x ∈ Rn imaginea interiorului de reconstruit.• Pentru reconstructie, dispunem de diferite masuratori liniare(proiectii) ale imaginii x : bi = Aix , i = 1, · · · ,m.• Notam vectorul proiectiilor b ∈ Rm si A = [AT
1 · · ·ATm]
T ∈ Rm×n
matricea de achizitie.• Imaginea interiorului reprezinta solutia sistemului liniar(subdeterminat deoarece sunt mai putine masuratori m decatdimensiunea imaginii n): Ax = b.• Reformulare in termeni de problema CMMP:
minx∈Rn: Ax=b
∥x∥α
unde de obicei se alege α = 2 sau α = 0 sau α = 1. Alegemα = 0 ∨ 1 pentru a induce o reprezentare rara a imaginii (vectorulsolutie). Se doreste o reprezentare rara a imaginii, deoareceaceasta permite: compresie usoara; algoritmi rapizi pt. procesare;memorie de stocare mica; eliminarea usoara a zgomotului;...
Exemplu 5: matrix completionI se da o matrice X cu elemente lipsa (e.g. o imagine)I se presupune ca matricea X este de rang scazutI scopul este sa se gaseasca elementele lipsa din XI pentru a impune rang mic asupra unei matrici se foloseste
nuclear norm ∥ · ∥∗: daca A are descompunerea DVSA =
∑ri=1 σiuiv
Ti , atunci ∥A∥∗ =
∑ri=1 σi
I problema se pune astfel:
minX∈Rm×n
rang(X ) =⇒︸︷︷︸relaxare convexa
minX∈Rm×n
∥X∥∗
s.l.: Xij = Aij ∀i , j ∈ S s.l.: Xij = Aij ∀i , j ∈ S
unde se dau valorile Aij cu (i , j) ∈ S o submultime aelementelor matricei cautate
I relaxarea convexa se poate scrie ca un SDP:
minX ,W1,W2
tr(W1) + tr(W2)
s.l.: Xij = Aij ∀i , j ∈ S ,
[W1 XXT W2
]≽ 0
Exemplu 5: matrix completion cu aplicare in recuperareade imagine
imaginea data (40% elemente lipsa) si imaginea recuperata
Exemplu 5: raritate in solutie pt. cazul vectorDefinim o masura a raritatii ∥x∥0 =/ i : xi = 0 si ∥x∥1 =
∑i |xi |
si apoi problemele de optimizare asociata sistemului Ax = b:
minx∈Rn
∥x∥0 s.l. Ax = b =⇒︸︷︷︸relaxare convexa
minx∈Rn
∥x∥1 s.l. Ax = b
• Mutual coherence: µ(A) = max1≤k,j≤m, k =j
|aTk aj |∥ak∥2∥aj∥2
Pentru o matrice A cu rang intreg pe linii (i.e. m < n), daca existao solutie x∗ satisfacand relatia:
∥x∗∥0 <1
2
(1 +
1
µ(A)
)atunci x∗ este solutie pentru amandoua problemele de optimizare!
• Restricted Isometry Property (RIP): matricea A ∈ Rm×n areRIP(δ, k) daca orice submatrice AI (obtinute din combinarea a celmult k coloane din A) are toate valorile singulare marginite intre1− δ si 1 + δ. Pentru matricea A cu RIP(0.41, 2k) avem ca celedoua probleme de mai sus au aceeasi multime de solutii pemultimea vectorilor de raritate k (Candes & Tao 2005).
Exemplu 5: raritate in solutie pt. cazul matriceDefinim o masura a raritatii ∥X∥0 = rang(X ) si ∥X∥∗ =
∑i σi si
problemele de optimizare asociate functiei liniare A : Rm×n → Rp:
minX∈Rm×n
∥X∥0 s.l. A(X ) = b =⇒︸︷︷︸relaxare convexa
minX∈Rm×n
∥X∥∗ s.l. A(X ) = b
• Restricted Isometry Property de ordin r : cea mai micaconstanta δr (A) a.i. pt. orice matrice X de rang cel mult r avem:
1− δr (A) ≤ ∥A(X )∥∥X∥F
≤ 1 + δr (A)
• Presupunem ca δ2r < 1 pentru un intreg r ≥ 1. Atunci unicasolutie a problemei originale neconvexe este matricea de rang celmult r satisfacand A(X ) = b.
• Presupunem ca r ≥ 1 satisface δ5r < 0.1, atunci cele douaprobleme de mai sus (cea originala si relaxarea ei convexa) auaceeasi solutie optima (Recht & Parrilo 2010).
Functia Lagrange
I Reamintim problema NLP generala:
f ∗ =
minx∈Rn
f (x) : g(x) ≤ 0, h(x) = 0
I Reamintim: g(x) : Rn → Rm, h(x) : Rn → Rp
I Definim functia Lagrange L : Rn × Rm × Rp → R:
L(x , λ, µ) = f (x) + λTg(x) + µTh(x)
Numita si Lagrangianul, func-tia Lagrange a fost introdusapentru prima data de La-grange pentru probleme cu con-strangeri de egalitate. Vari-abilele: λ ∈ Rm, µ ∈ Rp senumesc multiplicatori Lagrange(variabile duale).
Functia Lagrange
I Regula generala: impunem ca multiplicatorii lagrange pentruconstrangeri de inegalitate sa fie nenegativi, i.e. λ ≥ 0
I Pentru orice variabila primala x fezabila pentru problema deoptimizare (NLP) (i.e. g(x) ≤ 0 si h(x) = 0) si pentru oricevariabila duala fezabila (λ, µ) (i.e. λ ∈ Rm
+ si µ ∈ Rp) avem:
L(x , λ, µ) ≤ f (x)
anume functia Lagrange este marginita superior de functiaobiectiv a problemei primale.
I Demonstratie: inegalitatea este evidenta deoarece λ ≥ 0,g(x) ≤ 0 iar h(x) = 0
Functia duala
I Functia duala q : Rm × Rp → R este infimul neconstrans alLagrangianului in variabila primala x , pentru multiplicatorii λsi µ fixati, i.e:
q(λ, µ) = infx∈Rn
L(x , λ, µ).
I Daca q(λ, µ) este nemarginita inferior, i.e. q(λ, µ) = −∞,atunci spunem ca perechea (λ, µ) este dual infezabila.
I Lema: Pentru orice pereche duala (λ, µ) fezabila, i.e. λ ∈ Rm+
si µ ∈ Rp, avemq(λ, µ) ≤ f ∗
I Demonstratie: pentru orice punct fezabil x avem
q(λ, µ) ≤ L(x , λ, µ) ≤ f (x) ∀x ∈ X , λ ∈ Rm+, µ ∈ Rp.
atunci pentru x = x∗ rezulta q(λ, µ) ≤ f ∗
Functia duala
I Lema: Functia duala q : Rm × Rp → R este intotdeaunafunctie concava.
I Demonstratie: observam ca Lagrangianul L(x , ·, ·) estefunctie afina in (λ, µ) pentru x fixat. Fie α ∈ [0, 1], atuncipentru (λ1, µ1) si (λ2, µ2) avem:
q(αλ1 + (1− α)λ2, α1µ1 + (1− α)µ2)
= infx∈Rn
L(x , αλ1 + (1− α)λ2, α1µ1 + (1− α)µ2)
= infx∈Rn
αL(x , λ1, µ1) + (1− α)L(x , λ2, µ2)
≥ α infx∈Rn
L(x , λ1, µ1) + (1− α) infx∈Rn
L(x , λ2, µ2)
= αq(λ1, µ1) + (1− α)q(λ2, µ2).
Problema duala
I Problema duala este definita ca fiind problema de maximizareconcava a functiei duale:
q∗ = maxλ≥0, µ∈Rp
q(λ, µ),
unde notam cu q∗ valoarea optima duala.
I Observatie: din moment ce q este intotdeauna concava (−qconvexa), problema duala este intotdeauna problema convexa:
q∗ = maxλ≥0, µ∈Rp
q(λ, µ) = − minλ≥0, µ∈Rp
−q(λ, µ)
chiar daca problema primala (UNLP) nu este convexa!
I Observatie: multimea fezabila duala Ω = Rm+ × Rp este o
multime simpla (proiectia pe aceasta multime se poate realizausor)
Exemplu 1 de problema dualaI Fie urmatoarea problema patratica convexa:
minx∈Rn
1/2xT x
s.l: Ax = b, unde A ∈ Rp×n
I Observam:I f (x) = 1/2xT x patratica convexa (Q = In ≻ 0) si g(x) = 0
(fara inegalitati)I h(x) = Ax − b, h : Rn → Rp, deci µ ∈ Rp
I Lagrangianul L(x , µ) = f (x) + µTh(x) este:
L(x , µ)=1/2xT x + µT(Ax−b) ⇒ q(µ)= minx∈Rn
1/2xT x + µT(Ax−b)
x(µ) : ∇xL(x , µ) = 0 ⇒ x(µ) + ATµ = 0 ⇒ x(µ) = −ATµ
q(µ) = L(x(µ), µ) = 1/2µTAATµ− µTAATµ− bTµ
= −1/2µTAATµ− bTµ
I Astfel, problema duala este de fapt (QP) fara constrangeri,dar Hesiana este pozitiv semidefinita!
q∗ = maxµ∈Rp
−1/2µTAATµ− bTµ
Exemplu 2 de problema dualaI Fie urmatoarea problema CMMP cu restrictii patratice:
minx∈Rn
1/2∥Ax − b∥2
s.l: 1/2∥x∥2 ≤ cI Observam:
I f (x) = 1/2∥Ax − b∥2 patratica convexa (Q = ATA ≽ 0) sih(x) = 0 (fara egalitati)
I g(x) = 1/2∥x∥2 − c patratica convexa, deci λ ∈ R+
I Lagrangianul L(x , λ) = f (x) + λg(x) este:
L(x , λ)=1/2∥Ax−b∥2 + 1/2λ(xT x − 2c) ⇒ q(λ)= minx∈Rn
L(x , λ)
x(λ) : ∇xL(x , λ) = 0 ⇒ ATAx(λ)− ATb + λInx(λ) = 0
⇒ x(λ) = (ATA+ λIn)−1ATb
q(λ) = L(x(λ), λ) = −1/2bTA(ATA+ λIn)−1ATb − λc + 1/2∥b∥2
I Astfel, problema duala devine (este concava!)
q∗ = maxλ∈R+
−1/2bTA(ATA+ λIn)−1ATb − λc + 1/2∥b∥2
Exemplu 3 de problema duala
I Fie urmatoarea problema de optimizare NLP:
minx∈R2
x41 + x42 − 4x1x2
s.l: x ≥ 0, x1 + x2 = 5
I Observam:I f (x) = x41 + x42 − 4x1x2, f : R2 → R, n = 2I g(x) = −x , g : R2 → R2, deci m = 2 si λ ∈ R2
I h(x) = x1 + x2 − 5, h : R2 → R, deci p = 1 si µ ∈ RI Lagrangianul L(x , λ, µ) = f (x) + λTg(x) + µTh(x) este:
L(x , λ, µ) = x41 + x42 − 4x1x2 − λ1x1 − λ2x2 + µ(x1 + x2 − 5)
I Astfel, problema duala este de fapt
q∗= maxλ∈R2
+, µ∈R
(minx∈R2
x41 + x42 − 4x1x2 −λ1x1 − λ2x2 + µ(x1 + x2 − 5)
)
Dualitate slaba
I Din moment ce functia duala este marginita superior defunctia obiectiv, rezulta urmatoarea teorema:
I Teorema (dualitate slaba): urmatoarea inegalitate are locpentru orice problema de optimizare (NLP):
q∗ ≤ f ∗
I Observatie: daca avem x∗ fezabil pentru primala si (λ∗, µ∗)fezabil pentru duala astfel incat q(λ∗, µ∗) = f ∗ atunci x∗ estepunct de minim global pentru primala iar (λ∗, µ∗) este punctde maxim global pentru duala
I Observatie: daca f ∗ = −∞ atunciq(λ, µ) = ∞, ∀ (λ, µ) ∈ Ω. De asemenea, daca q∗ atunciproblema primala este infezabila
Dualitate puternica
I Diferenta f ∗ − q∗ se numeste duality gap, iar din dualitateslaba este nenegativa.
I In anumite cazuri (e.g. optimizare convexa in care multimeafezabila indeplineste anumite criterii), putem obtine o versiunemai puternica a dualitatii.
I Conditia Slater: presupunem ca problema (NLP) esteconvexa (i.e. f si g1, · · · , gm sunt convexe, iar h1, . . . , hp suntafine) si exista x ∈ Rn fezabil astfel incat g(x) < 0 si h(x) = 0
I Teorema (dualitate puternica): Daca problema (NLP)primala satisface conditia Slater, atunci valorile optime pentruproblemele primale si duale sunt egale, anume:
q∗ = f ∗
Mai mult (λ∗)Tg(x∗) = 0 (complementaritatea), unde x∗
este punct de minim global pentru problema primala si(λ∗, µ∗) este punct de maxim global pentru problema duala.
Dualitate: interpretarea min-max
I problema originala (primala) este echivalenta cu
minx∈Rn
(maxλ≥0,µ
L(x , λ, µ))
I problema duala este interschimbarea intre min si max
maxλ≥0,µ
(minx∈Rn
L(x , λ, µ))
I dualitatea slaba are loc intotdeauna deoarece
maxminL(·) ≤ minmaxL(·)
I dualitatea puternica are loc cand
minmaxL(·) ≤ maxminL(·) ⇔ minmaxL(·) = maxminL(·)
Intuitie
Putem interpreta dualitatea ca o aproximare liniara:
I Definim 1−(y) = ∞ daca y > 0 si 0 altfel (functia indicator allui R+).
I Definim 10(y) = ∞ daca y = 0 si 0 altfel (functia indicator allui 0).
I Rescriem problema originala (NLP) ca:
minx∈Rn
f (x) +∑i
1−(gi (x)) +∑j
10(hj(x))
I pentru a obtine dualitate inlocuim 1−(fi (x)) cu λi fi (x)(o masura de disconfort cand λi ≥ 0 si gi (x) > 0).
I De asemenea µjhj(x) este o margina inferioara pe 10(hj(x))
minx∈Rn
f (x) +∑i
λigi (x) +∑j
µjhj(x)
Interpretare geometrica
minx(x − c − 1)2 s.l. x2 ≤ c
Functia originala (albas-tru), constrangeri (verde),L(x , λ) pentru diferiti λ(punctat)
Functia duala q(λ) si val-oarea optima primala f ∗
(punctat)
Dualitate slaba/puternica, interpretare geometrica
I Pentru a vizualiza grafic diferenta dintre dualitateslaba/puternica, consideram un caz particular de problema(NLP): minx∈Rnf (x) : g(x) ≤ 0, avand o singuraconstrangere de inegalitate
I Definim multimeaS = (u, t) : ∃x ∈ Rn, f (x) = t, g(x) = u.
I Interpretarea grafica:
Duala unei probleme QP strict convexa
I Fie o problema QP strict convexa (Q ≻ 0):
f ∗ = minx∈Rn
1
2xTQx + qT x
s.l.: Cx − d ≤ 0, Ax − b = 0.
unde multimea fezabila este presupusa a fi nevida.
I Lagrangianul este dat de urmatoare expresie:
L(x , λ, µ) =1
2xTQx + qT x + λT (Cx − d) + µT (Ax − b)
= −λTd − µTb +1
2xTQx +
(q + CTλ+ ATµ
)Tx .
I Din moment ce q(λ, µ) = infx∈Rn L(x , λ, µ), avem:
q(λ, µ) = −λTd−µTb+ infx∈Rn
(1
2xTQx +
(q + CTλ+ ATµ
)Tx
)
Duala unei probleme QP strict convexa
I Observam ca problema:
infx∈Rn
t(x)
(=
1
2xTQx +
(q + CTλ+ ATµ
)Tx
)este de fapt o problema QP strict convexa.
I Notam solutia acestei probleme drept x(λ, µ). Din moment ceproblema este strict convexa, putem determina x(λ, µ) dinconditiile de optimalitate ∇t(x(λ, µ)) = 0, i.e:
Qx(λ, µ)+q+CTλ+ATµ = 0Q≻0→ x(λ, µ) = −Q−1(q+CTλ+ATµ)
I Inlocuind x(λ, µ) inapoi in expresia dualei, rezulta
q(λ, µ)=−λTd−µTb−1
2
(q+CTλ+ATµ
)TQ−1
(q+CTλ+ATµ
),
Duala unei probleme QP strict convexa
I Astfel, problema de optimizare duala este data de expresia:
q∗ = maxλ≥0, µ∈Rp
−1
2
[λµ
]T [CA
]Q−1
[CA
]T [λµ
]−
[d + CQ−1qb + AQ−1q
]T [λµ
]− 1
2qTQ−1q.
I ObservatiiI functia duala este patratica in (λ, µ) si concavaI problema duala este un QP convex (Hessiana nu mai este
pozitiv definita)I formularea duala a unei probleme QP are constrangeri mult
mai simple: λ ≥ 0 si µ ∈ Rp
I ultimul termen in functia duala este o constanta, insa trebuiepastrat pentru a mentine dualitatea puternica q∗ = f ∗
Exemplu de problema QP strict convexa si duala sa
I Fie urmatoarea problema de optimizare NLP:
minx∈R2
x21 + x22 + x1x2 + x1 − x2
s.l: x1 ≥ 0, x1 − x2 ≥ 1, x1 + x2 = 3
I Daca exprimam detaliat functie patraticaf (x) = 1
2xTQx + qT x , f : R2 → R, avem:
f (x) =Q11
2x21 +
Q22
2x22 +
Q12 + Q21
2x1x2 + q1x1 + q2x2
I Astfel, pentru problema noastra (dorim Q simetrica,Q12 = Q21), rezulta:
Q =
[Q11 Q12
Q21 Q22
]=
[2 11 2
], q =
[1−1
]
Exemplu de problema QP strict convexa si duala sa
I Observam: Λ(Q) = 1, 3, Q ≻ 0, det(Q) = 3 si
Q−1 =1
3
[2 −1−1 2
]I Observam:
I g : R2 → R2, g(x) =
[g1(x)g2(x)
]=
[−x1
x2 − x1 + 1
]I g(x) = Cx − d ⇒ C ∈ R2×2, d ∈ R2
C =
[−1 0−1 1
], d =
[0−1
]I h : R2 → R, h(x) = x1 + x2 − 3I h(x) = Ax − b ⇒ A ∈ R1×2, b ∈ R, A =
[1 1
], b = 3
Clasificare liniara binaraProblema clasificarii binare: se urmareste separarea unui set deobiecte in doua clase.Modelare matematica: sa se determine hiperplanul(a) optim cesepara un set de vectori (obiectele) xi in doua clase:
(i) clasa vectorilor xi pt. care aT xi − b ≤ 1;
(ii) clasa vectorilor xj pt. care aT xj − b ≥ −1.
Clasificare liniara binara - e-mail filteringE-mail filtering - determinarea unui estimator ce separa un set datde email-uri in doua clase: spam e-mail si wanted e-mail.
I dispunem de un dictionar de cuvinte D = c1, c2, . . . , cp,unde ci reprezinta cuvantul i .
I antrenam estimatorul printr-un set de e-mail-uri cunoscuteI pentru fiecare e-mail cunoscut i asociem vectorul
xi = [n1, n2, . . . , np]T , unde nj reprezinta numarul de aparitii
ale cuvantului cj in e-mail-ul i .I pentru fiecare e-mail cunoscut i asociem eticheta
yi = −1, 1, unde yi = −1 daca e-mail-ul cunoscut i estespam, altfel yi = 1.
minw∈Rn,b∈R,ξ≥0
1
2∥w∥22 + CΣm
i=1ξi
s.l. y1(wT x1 − b) ≤ 1− ξ1,
. . .
ym(wT xm − b) ≤ 1− ξm.
Programare liniara (LP) si dualitate
I Reamintim ca o problema de programare liniara (LP) areurmatoarea forma:
f ∗ = minx∈Rn
cT x
s.l.: Cx − d ≤ 0, Ax − b = 0.
I In programarea liniara putem cauta solutia problemei printrepunctele de extrem ale poliedrului ce defineste multimeafezabila:
X = x ∈ Rn : Cx − d ≤ 0, Ax − b = 0.
I Teorema: daca multimea fezabila lui X este un politop,atunci exista un punct de minim al problemei (LP) intr-unuldin varfurile politopului.
Programare liniara (LP) si dualitate
I Demonstratie: o multime X politop se poate scrie caacoperirea convexa generata de varfurile sale:
X = Conv(v1, . . . , vq).
Deoarece x∗ ∈ X , putem scrie x∗ =∑q
i=1 αivi , ude αi ≥ 0 si∑qi=1 αi = 1. Este clar ca cT vi ≥ f ∗, orice vi fiind fezabil.
Notam cu I multimea de indecsi: I = i : αi > 0. Dacaexista i0 ∈ I astfel incat cT vi0 > f ∗, atunci:
f ∗ = cT x∗ = αi0cT vi0 +
∑i∈I\i0
αicT vi >
∑i∈I
αi f∗ = f ∗
si deci obtinem o contradictie. Aceasta implica ca orice varfpentru care αi > 0 este un punct de minim.
Programare liniara (LP) si dualitate
I Exprimam acum duala unui (LP). Lagrangianul asociata unui(LP) general este dat de:
L(x , λ, µ) = cT x + λT (Cx − d) + µT (Ax − b)
= −λTd − µTb +(c + CTλ+ ATµ
)Tx .
I Functia duala corespunzatoare este:
q(λ, µ) = −λTd − µTb + infx∈Rn
(c + CTλ+ ATµ
)Tx
= −λTd − µTb +
0 daca c + CTλ+ ATµ = 0−∞ altfel.
I Observatie: problema din membrul drept de mai sus este un(LP) nemarginit, a carui minim este −∞ dacac + CTλ+ ATµ = 0
Programare liniara (LP) si dualitateI Astfel, putem exprima problema duala drept:
q∗ = maxλ∈Rm, µ∈Rp
[−d−b
]T [λµ
]s.l.: λ ≥ 0, c + CTλ+ ATµ = 0.
I Observatie: un LP poate fi scris in forma standard:
minx∈Rn
cT x : Ax = b, x ≥ 0,
prin folosirea de variabile suplimentare (numite si variabileartificiale)
I Duala sa rezulta: maxµ∈RnbTµ : ATµ ≤ cI Teorema de dualitate pentru (LP): daca una dintre
problemele (LP), primala sau duala, are solutie optima atuncisi cealalta problema are solutie optima si valorile optimecorespunzatoare sunt egale. Mai mult, daca una dintreprobleme, primala sau duala, are functie obiectiv nemarginita,atunci cealalta problema nu are puncte fezabile.
Exemplu de (LP) din practica (problema vinarului)
I Un vinar trebuie sa decida cate sticle de vin rosu si cate de vinalb sa produca. El poate vinde o sticla de vin rosu pentru $12iar una de vin alb pentru $7.
I Obiectivul lui este desigur de a-si maximiza venitul:
F (x1, x2) = 12x1 + 7x2
unde x1 reprezinta numarul de sticle de vin rosu ce vor fiproduse, iar x2 cele de vin alb.
I Vinul trebuie desigur invechit (4 ani pentru rosu si 3 anipentru alb), inainte de a fi vandut, insa spatiul de depozitareeste limitat la 1000 ani-invechire-sticla pentru o productie.Astfel, la problema noastra adaugam constrangerea:
4x1 + 3x2 ≤ 1000
Exemplu de (LP) din practica (problema vinarului)I Cantitatea de struguri ce poate fi procesat pentru a produce
vinul este limitata, e.g. la 16.000kg , si este necesar de aprocesa 3 kg pentru a produce pe cel rosu ,si 2 kg pentru alproduce pe cel alb. Avem astfel urmatoarea constrangere:
3x1 + 2x2 ≤ 16000
I O constrangere desigur evidenta este ca nu putem producecantitati negative, i.e. x1 ≥ 0, x2 ≥ 0. Astfel, problemavinarului poate fi formulata drept o problema (LP) cuconstrangeri de inegalitate:
minx∈Rn
cT x : Cx ≤ d,
unde
c =
[127
],C =
4 33 2−1 00 −1
, d =
100016000
00
Tehnici de Optimizare
Curs XConditii de optimalitate pentru (NLP)
Ion Necoara
2014
Probleme (NLP) generale
• Reamintim problema (NLP) generala:
(NLP) : minx∈Rn
f (x)
s.l.: g(x) ≤ 0, h(x) = 0
• Functiile f : Rn → R, g : Rn → Rm si h : Rn → Rp sunt functiidiferentiabile de doua ori.
• Multimea fezabila a problemei (NLP):
X = x ∈ Rn : g(x) ≤ 0, h(x) = 0
• Deci problema se rescrie ca:
minx∈X
f (x)
Exemplu (NLP)
• Fie urmatoarea problema de optimizare (NLP):
minx∈R2
x41 + x42 − 4x1x2
s.l: x ≥ 0, x1 + x2 = 5
• Observam:
I functia obiectiv: f (x) = x41 + x42 − 4x1x2, f : R2 → R, n = 2
I constrangeri de inegalitate g(x) = −x , g : R2 → R2, m = 2
I constrangeri de egalitate h(x) = x1 + x2 − 5, h : R2 → R,p = 1
• Multimea fezabila in acest caz
X = x ∈ R2 : x ≥ 0, x1 + x2 = 5
este convexa!
Conditii de ordinul I pentru (NLP) - constrangeri convexe
Teorema: Fie X o multime convexa si f ∈ C1. Pentru problemade optimizare constransa
minx∈X
f (x)
avem urmatoarele conditii de optimalitate:
I daca x∗ este minim local atunci:
∇f (x∗)T (x − x∗) ≥ 0 ∀x ∈ X
I daca in plus f este functie convexa, atunci x∗ este punct deminim daca si numai daca:
∇f (x∗)T (x − x∗) ≥ 0 ∀x ∈ X
Punctele x∗ ce satisfac inegalitatea anterioara ⇒ puncte stationarepentru (NLP) avand constrangeri convexe.
Constrangeri (multimi) active/inactive
Definitie: O constrangere de inegalitate gi (x) ≤ 0 se numesteactiva in punctul fezabil x ∈ X daca si numai daca gi (x) = 0, altfelse numeste inactiva. Orice constrangere de egalitate hi (x) = 0 esteactiva intr-un punct fezabil.
Definitie: Multimea de indecsi A(x) ⊆ 1, . . . ,mcorespunzatoare constrangerilor active se numeste multime activain punctul x ∈ X .
Exemplu: Pentru multimea fezabila:
X = x ∈ R2 : x ≥ 0, x1 + x2 = 5
multimea activa in punctul x = [0 1]T este A([0 1]T ) = 1.
Conditii de ordinul I pt. (NLP): constrangeri de egalitate
Consideram intai probleme (NLP) ce au doar constrangeri deegalitate:
(NLPe) : minx∈Rn
f (x)
s.l. : h(x) = 0
Pentru problema (NLPe) toate constrangerile sunt considerateconstrangeri active.
Vom studia conditiile de optimalitate pentru clasa de probleme(NLPe), pentru ca apoi sa extindem rezultatele obtinute la clasagenerala (NLP).
Notiuni teoretice
I O curba pe o suprafata S ⇒ o multime de puncte x(t) ∈ Scontinuu parametrizate in t, pentru a ≤ t ≤ b.
I O curba x(t) este diferentiabila daca exista x = dx(t)dt si de
doua ori diferentiabila daca x(t) exista.
I O curba x(t) trece prin punctul x∗ daca exista t∗ ∈ [a, b] a.i.x∗ = x(t∗).
I Planul tangent in x∗ ∈ S ⇒ multimea tuturor vectorilor x(t∗)definiti de x(t) ∈ S avand proprietatea ca x(t∗) = x∗.
I Pentru o functie h : Rn → Rp, cu h(x) = [h1(x) . . . hp(x)]T
notam Jacobianul prin ∇h(x). Reamintim ca ∇h(x) este omatrice p × n ,avand elementul de pe pozitia (i , j) egal cu∂hi (x)∂xj
.
Puncte regulateDefinitie: Un punct x∗ ce satisface constrangerea h(x∗) = 0 senumeste punct regulat daca gradientii ∇h1(x
∗), . . . ,∇hp(x∗) sunt
liniar independenti (Jocabianul are rangul p).
Teorema: Intr-un punct regulat x∗ al suprafetei S definita deconstrangerile de egalitate h(x) = 0, planul tangent este egal cu:
M = d ∈ Rn : ∇h(x∗)d = 0= d ∈ Rn : ∇hi (x
∗)Td = 0 ∀i = 1, . . . , p
Lema: Fie x∗ un punct regulat al constrangerilor h(x) = 0 si punctde extrem local (minim sau maxim local) al problemei deoptimizare (NLPe). Atunci, orice d ∈ Rn ce satisface:
∇h(x∗)d = 0
trebuie sa satisfaca si:
∇f (x∗)Td = 0.
Exemplu• Fie constrangerea data de functia h : R3 → R,h(x) = x21 + x22 + 3x1 + 3x2 + x3 − 1. Consideram punctulx∗ = [0 0 1]T pentru care h(x∗) = 0.• Jacobianul lui h(x) va fi:
∇h(x) = [2x1 + 3 2x2 + 3 1]
iar ∇h(x∗) = [3 3 1] are rang 1 ⇒ x∗ punct regulat.• Din teorema precedenta pentru caracterizarea planului tangent,rezulta ca orice directie tangenta d = [d1 d2 d3]
T va satisface∇h(x∗)d = 0, deci 3d1 + 3d2 + d3 = 0 (un plan)
−10
0
10
−10−5
05
10
−250
−200
−150
−100
−50
0
50
x1x
2
x3
Conditii necesare de ordinul I pentru (NLPe)Teorema: Fie x∗ un punct de extrem al functiei obiectiv f supusala constrangerile h(x) = 0, i.e. al problemei de optimizare (NLPe),si presupunem ca x∗ este un punct regulat pentru acesteconstrangeri. Atunci, exista un multiplicator Lagrange µ∗ ∈ Rp
a.i.:
(KKT - NLPe) : ∇f (x∗) +∇h(x∗)Tµ∗ = 0 si h(x∗) = 0.
Punctele x∗ pentru care exista µ∗ a.i. conditiile (KKT-NLPe) suntsatisfacute ⇒ puncte stationare pentru problema (NLPe) (punctede minim, puncte de maxim sau puncte sa).
Conditiile (KKT-NLPe) nu reprezinta altceva decat conditiile deoptimalitate de ordinul I pentru minimizarea Lagrangianuluineconstrans L(x , µ) = f (x) + µTh(x):
∇xL(x , µ) = 0 si ∇µL(x , µ) = 0 ⇐⇒ ∇L(x , µ) = 0
Exemplul 1
Fie problema (NLPe):
minx∈R2
x1 + x2
s.l. : h(x) = x21 + x22 − 2 = 0
Putem observa ca orice punct fezabil este regulat. Drept urmare,orice punct de minim local satisface sistemul ∇L(x , µ) = 0:
2µx1 = −1
2µx2 = −1
x21 + x22 = 2.
Solutiile (x∗1 , x∗2 , µ
∗) ale sistemului sunt punctele stationare(−1,−1, 1/2) si (1, 1,−1/2). Sunt puncte de extrem cele douasolutii sau puncte sa
Exemplul 2Consideram urmatoarea problema de optimizare:
minx∈R3
4x1 − 2x2 + x23
s.l. : h1(x) = x1 − x2 + x3 = 0, h2(x) = −x1 + 2x2 − x23 = 0.
Jacobianul constrangerilor va fi de forma:
∇h(x) =
[1 −1 1−1 2 −2x3
],
ce are rangul minim 2 ⇒ orice punct fezabil este regulat.Pentru a gasi punctele de extrem rezolvam sistemul dat deconditiile (KKT-NLPe):
4 + µ1 − µ2 = 0, − 2− µ1 + 2µ2 = 0, 2x3 + µ1 − 2x3µ2 = 0
x1 − x2 + x3 = 0
−x1 + 2x2 − x23 = 0.
Obtinem ca solutia unica a sistemului este data de x∗ = [−1 0 1]T
si µ∗1 = −6, µ∗
2 = −2. Care este natura punctului x∗?
Exemplul 3
Consideram problema:
minx∈R2
−x1
s.l. : h1(x) = (1− x1)3 + x2 = 0, h2(x) = (1− x1)
3 − x2 = 0.
Putem observa ca problema are un singur punct fezabilx∗ = [1 0]T ⇒ minim global.
De asemenea, avem ∇f (x∗) = [−1 0]T , ∇h1(x∗) = [0 1]T si
∇h2(x∗) = [0 − 1]T ⇒ x∗ NU este un punct regulat!
In acest caz, conditiile de optimalitate de ordinul I nu pot fisatisfacute ⇒ @µ1 si µ2 a.i.:
µ1
[01
]+ µ2
[0−1
]=
[10
].
Deci conditia de regularitate este esentiala!
Conditii necesare de ordinul II pentru (NLPe)
Teorema: Presupunem ca x∗ este un punct de minim local alproblemei (NLPe) si un punct regulat pentru constrangerileaferente. Atunci exista µ∗ ∈ Rp astfel incat
∇f (x∗) +∇h(x∗)Tµ∗ = 0 si h(x∗) = 0.
In plus, daca notam planul tangent in x∗ prinM = d ∈ Rn : ∇h(x∗)d = 0, atunci matricea Hessiana aLagrangianului in raport cu x
∇2xL(x∗, µ∗) = ∇2f (x∗) +
p∑i=1
µ∗i ∇2hi (x
∗)
este pozitiv semidefinita pe planul tangent M, adica
dT∇2xL(x∗, µ∗)d ≥ 0 ∀d ∈ M.
ExempluConsideram din nou problema:
minx∈R2: h(x)=x21+x22−2=0
x1 + x2,
pentru care matricea Hessiana a Lagrangianului in variabila x este:
∇2xL(x , µ) = ∇2f (x) + µ∇2h(x) = µ
[2 00 2
].
Tinand cont ca planul tangent la un punct x = 0 este de formaM = d : [2x1 2x2]d = 0, pentru care putem alege o bazaD(x) = [−x2 x1]
T avem:
D(x)T∇2xL(x , µ)D(x) = 2µ(x21 + x22 ).
Pentru prima solutie a sistemului ∇L(x , µ) = 0 avemdT1 ∇2
xL(−1,−1, 1/2)d1 = 2 > 0, unde d1 = D(−1,−1) ⇒ posibilpunct de minim local!Pentru cea de-a doua solutie dT
2 ∇2xL(1, 1,−1/2)d2 = −2 < 0, cu
d2 = D(1, 1) ⇒ acesata solutie nu este minim local!
Conditii suficiente de ordinul II pentru (NLPe)
Teorema: Presupunem un punct x∗ ∈ Rn si un µ∗ ∈ Rp a.i.:
∇f (x∗) +∇h(x∗)Tµ∗ = 0 si h(x∗) = 0.
Presupunem de asemenea ca matricea data de HessianaLagrangianului ∇2
xL(x∗, µ∗) = ∇2f (x∗) +∑p
i=1 µ∗i ∇2hi (x
∗) estepozitiv definita pe planul tangent M = d : ∇h(x∗)d = 0, adica
dT∇2xL(x∗, µ∗)d > 0 ∀d ∈ M \ 0.
Atunci x∗ este punct de minim local strict al problemei (NLPe).
ExempluFie problema:
minx∈R3: x1+x2+x3=3
−x1x2 − x1x3 − x2x3,
pentru care conditiile de optimalitate de ordinul I conduc laurmatorul sistem liniar:
−x2 − x3 + µ = 0
−x1 − x3 + µ = 0
−x1 − x2 + µ = 0
x1 + x2 + x3 = 3,
avand solutia unica x∗1 = x∗2 = x∗3 = 1 si µ∗ = 2.Hessiana Lagrangianului va avea urmatoarea forma:
∇2xL(x , µ) = ∇2f (x) =
0 −1 −1−1 0 −1−1 −1 0
Exemplu - continuare
Planul tangent intr-un punct x fezabil va fi de formaM = d : [1 1 1]d = 0 ⇒ d1 = −d2 − d3 ⇒ alegand[d1 d2] = [1 − 1] si [d1 d2] = [−1 − 1] ⇒ o baza a planuluitangent la suprafata definita de constrangerea h(x) = 0 va fi:
D(x) =
0 21 −1−1 −1
Drept urmare, obtinem ca x∗ este minim strict local intrucat:
D(x∗)T∇2xL(x∗, µ∗)D(x∗) =
[2 00 2
]≻ 0
Este Hessiana functiei obiectiv evaluata in x∗ pozitiv definita?
Conditii de ordinul I pentru (NLP) generaleIn continuare, vom extinde conditiile de optimalitate derivateanterior la cazul general:
(NLP) : minx∈Rn
f (x)
s.l. : g(x) ≤ 0, h(x) = 0.
Definitie: Fie un punct x∗ ce satisface constrangerile problemei(NLP), adica h(x∗) = 0, g(x∗) ≤ 0 si A(x∗) multimeaconstrangerilor active. Numim punctul x∗ punct regulat, dacagradientii functiilor de constrangere, ∇hi (x
∗) pentru i = 1, . . . , p si∇gj(x
∗) pentru j ∈ A(x∗) sunt liniari independenti.
Planul tangent in punctul regulat x∗ pentru problema generala(NLP) este planul tangent corespunzator pentru constrangerileactive:
M = d : ∇gj(x∗)Td = 0 ∀j ∈ A(x∗), ∇hi (x
∗)Td = 0 ∀i = 1, . . . , p.
Conditii necesare de ordinul I pentru (NLP)Teorema: Fie x∗ un punct de minim local pentru problema (NLP)generala si presupunem ca x∗ este si regulat. Atunci, exista unvector λ∗ ∈ Rm si un vector µ∗ ∈ Rp a.i. conditiileKarush-Kuhn-Tucker (KKT) au loc:
(KKT ) : ∇f (x∗) +∇h(x∗)Tµ∗ +∇g(x∗)Tλ∗ = 0
g(x∗)Tλ∗ = 0
g(x∗) ≤ 0, h(x∗) = 0
µ∗ ∈ Rp, λ∗ ≥ 0
Conditiile (KKT) au fost formulatepentru prima data de catre W. Karushin teza sa de master (1939) si publi-cate abia 12 ani mai tarziu in carteapublicata de catre W. Kuhn si W.Tucker!
Demonstratie
Intrucat λ∗ ≥ 0 si g(x∗) ≤ 0, cea de-a doua relatie implica faptulca λ∗
i poate fi nenula doar daca gi (x∗) este activa. Drept urmare,
gi (x∗) < 0 implica λ∗
i = 0, iar λ∗i > 0 implica gi (x
∗) = 0.
Mai departe, tinand cont ca x∗ este un punct de minim localpentru problema (NLP). Notand cu X multimea constrangerilorproblemei (NLP), atunci x∗ este un punct de minim local si pentruproblema avand multimea de constrangeri o submultime a lui X sidefinita prin setarea constrangerilor active la zero.
Astfel, pentru problema (NLPe) ce ar rezulta, definita pentru ovecinatate a lui x∗, exista multiplicatori Lagrange si deci primarelatie este satisfacuta pentru λ∗
i = 0 daca gi (x∗) = 0 si drept
urmare si cea de-a doua relatie este satisfacuta.
Demonstratie - continuare
Mai trebuie aratat ca λ∗i ≥ 0 pentru constrangerile active
gi (x∗) = 0. Fie o componenta λ∗
k < 0 si Sk , respectiv Mk
suprafata si planul tangent in x∗ definit de toate constrangerileactive, mai putin gk(x
∗) = 0.
Tinand cont ca x∗ este un punct regulat, atunci ∃d ∈ Mk a.i.∇gk(x
∗)d < 0.
Luand in continuare o curba x(t) ∈ Sk , trecand prin x∗ la t = 0 siavand x(0) = d , atunci, pentru un t ≥ 0 suficient de mic x(t) estefezabil iar din prima relatie a conditiilor (KKT) obtinem:
df (x(t))
dt|t=0 = ∇f (x∗)d < 0
ceea ce contrazice ipoteza de minimalitate a lui x∗.
Interpretarea conditiilor (KKT)
I Solutiile x∗ ce satisfac conditiile (KKT) se numesc punctestationare (pot fi puncte de minim, puncte de maxim saupuncte sa) pentru problema (NLP) generala.
I Prima relatie a conditiilor (KKT) semnifica faptul ca x∗ estepunct stationar pentru functia Lagrange minx∈Rn L(x , λ∗, µ∗),reprezentand conditiile de optimalitate de ordinul I, adica∇xL(x∗, λ∗, µ∗) = 0.
I Cea de-a doua relatie reprezinta conditiile decomplementaritate: g(x∗)Tλ∗ = 0 ⇐⇒ gi (x
∗)λ∗i = 0 ∀i .
I Ultimele doua relatii exprima fezabilitatea primala(g(x∗) ≤ 0, h(x∗) = 0), respectiv duala (λ∗ ≥ 0).
Exemplul 1Consideram problema:
minx∈R3
0.5(x21 + x22 + x23
)s.l.g1(x) = x1 + x2 + x3 + 3 ≤ 0, g2(x) = x1 ≤ 0.
Observam ca orice punct fezabil este si punct regulat, iar din primarelatie a conditiilor (KKT) obtinem:
x∗1 + λ∗1 + λ∗
2 = 0
x∗2 + λ∗1 = 0
x∗3 + λ∗1 = 0.
Pentru a calcula punctele (KKT), analizam conditia decomplementaritate pentru care distingem patru cazuri:
I 1. g1 si g2 sunt ambele inactive;I 2. g1 inactiva si g2 activa;I 3. g1 activa si g2 inactiva;I 4. g1 si g2 sunt ambele active.
Exemplul 1 - continuare
Analiza cazurilor:
I 1. ⇒ x∗1 + x∗2 + x∗3 < −3 si x∗1 < 0 ⇒ λ∗1 = λ∗
2 = 0 ⇒x∗1 = x∗2 = x∗3 = 0 ⇒ contradictie cu ipoteza;
I 2. ⇒ x∗1 + x∗2 + x∗3 < −3, x∗1 = 0, λ∗1 = 0 si λ∗
2 ≥ 0 ⇒λ∗1 = −λ∗
2 = 0 ⇒ x∗2 = x∗3 = 0 ⇒ contradictie cu ipoteza;
I 3. ⇒ x∗1 + x∗2 + x∗3 = −3, x∗1 < 0, λ∗1 ≥ 0 si λ∗
2 = 0 ⇒ putemalege x∗1 = x∗2 = x∗3 = −1 si λ∗
1 = 1 ce satisfac conditiile(KKT) ⇒ aceasta solutia este un punct (KKT);
I 4. ⇒ x∗1 + x∗2 + x∗3 = −3, x∗1 = 0 si λ∗1, λ
∗2 ≥ 0 ⇒
x∗2 = x∗3 = −3/2 si λ∗1 = −λ∗
2 = 3/2 ⇒ contrazice conditiaλ∗2 ≥ 0.
Exemplul 2Consideram problema:
minx∈R2
2x21 + 2x1x2 + x22 − 10x1 − 10x2
s.l. : x21 + x22 ≤ 5, 3x1 + x2 ≤ 6.
Pentru acesata problema conditiile (KKT) sunt:
4x1 + 2x2 − 10 + 2λ1x1 + 3λ2 = 0, 2x1 + 2x2 − 10 + 2λ1x2 + λ2 = 0
λ1(x21 + x22 − 5) = 0, λ2(3x1 + x2 − 6) = 0
x21 + x22 ≤ 5, 3x1 + x2 ≤ 6, λ1, λ2 ≥ 0.
Pentru acest exemplu putem considera doua constrangeri active,una sau niciuna. Presupunem prima constrangere activa iar ceade-a doua inactiva, rezultand un sistem de trei ecuatiicorespunzator, avand solutia x∗1 = 1, x∗2 = 2, λ∗
1 = 1 si λ∗2 = 0.
Solutia verifica 3x1 + x2 ≤ 6 si λ1 ≥ 1 ⇒ satisface conditiile(KKT).
Conditii necesare de ordinul II pentru (NLP)Planul tangent in punctul regulat x∗ pentru problema generala(NLP) este planul tangent corespunzator pentru constrangerileactive:
M = d : ∇gj(x∗)Td = 0 ∀j ∈ A(x∗), ∇hi (x
∗)Td = 0 ∀i = 1, . . . , p.
Teorema: Fie f , g si h functii continuu diferentiabile de doua ori six∗ un punct regulat pentru constrangerile din problema (NLP)generala. Daca x∗ este un punct de minim local pentru problema(NLP), atunci exista λ∗ ∈ Rm si µ∗ ∈ Rp a.i. conditiile (KKT)sunt satisfacute si in plus Hessiana Lagrangianului in raport cu x :
∇2xL(x∗, λ∗, µ∗) = ∇2f (x∗) +
p∑i=1
µ∗i ∇2hi (x
∗) +m∑i=1
λ∗i ∇2gi (x
∗)
este pozitiv semidefinita pe subspatiul tangent al constrangeriloractive in x∗, adica:
dT∇2xL(x∗, λ∗, µ∗)d ≥ 0 ∀d ∈ M.
Conditii suficiente de ordinul II pentru (NLP)
Teorema: Fie f , g si h functii continuu diferentiabile de doua ori.Fie de asemenea:
I un punct regulat x∗ ∈ Rn
I variabilele duale λ∗ ∈ Rm si µ∗ ∈ Rp pentru care conditiile(KKT) sunt satisfacute
I nu avem constrangeri de inegalitate degenerate, adica λ∗j > 0
pentru orice j ∈ A(x∗)
I Hessiana Lagrangianului ∇2xL(x∗, λ∗, µ∗) este pozitiv definita
pe planul tangent M
Atunci x∗ este un punct de minim local strict pentru problema(NLP) generala.
Exemplu
Fie problema:min
x∈R2: x21+x22−1≤0x2.
Observam ca punctul de minim global al acestei probleme estex∗ = [0 − 1]T . Aratam in continuare ca acesta este si minim strict.Prima conditie (KKT) are forma:
2λx1 = 0, 1 + 2λx2 = 0,
din care obtinem λ > 0 ⇒ constrangerea este activa.Adaugand aceasta conditie la cele doua anterioare, obtinem solutiax∗ = [0 − 1]T si λ∗ = 1/2.Planul tangent in x∗ este dat de d : [0 2]d = 0 = d : d2 = 0.De asemenea, Hessiana Lagrangianului ∇2
xL(x∗, λ∗) = 2λ∗I2 estepozitiv definita ⇒ x∗ punct de minim strict.
Conditii suficiente de ordinul I pentru probleme convexe
Teorema: Fie o problema convexa (CP) de forma:
(CP) : f ∗ = minx∈Rn
f (x)
s.l. : g(x) ≤ 0, Ax = b,
in care functiile f si g1, . . . , gm sunt functii convexe.Daca urmatoarele conditii (KKT) sunt satisfacute:
(KKT − CP) : ∇f (x∗) +∇g(x∗)Tλ∗ + ATµ∗ = 0
g(x∗)Tλ∗ = 0
g(x∗) ≤ 0, Ax∗ = b
µ∗ ∈ Rp, λ∗ ≥ 0,
atunci x∗ este punct de minim global pentru problema convexa(CP), (λ∗, µ∗) este punct de maxim global pentru problema dualasi dualitatea puternica are loc, adica f ∗ = q∗.
Exemplul 1
Consideram problema proiectiei originii x0 = 0 pe subspatiulX = x ∈ Rn : Ax = b, unde A ∈ Rp×n de rang p < n.
Problema de optimizare convexa (CP):
minx : Ax=b
∥x∥2,
pentru care avem conditiile (KKT-CP):
x∗ + ATµ∗ = 0, Ax∗ = b.
Obtinem deci −AATµ∗ = b si intrucat AAT este inversabila ⇒x∗ = AT (AAT )−1b = A+b, unde A+ este pseudoinversa lui A.
Exemplul 1 - cazul general
Extindem problema anterioara la cazul functiilor patratice generale:
minx : Ax=b
1
2xTQx + qT x ,
unde Q ≻ 0.
Conditiile (KKT-CP):
Qx∗ + q + ATµ∗ = 0, Ax∗ = b.
Obtinem astfel ca solutiile primale si duale au urmatoarele forme:
µ∗ = −(AQ−1AT )−1[AQ−1q + b]
x∗ = −Q−1ATµ∗ − Q−1q.
Exemplul 2
Consideram urmatoarea problema convexa:
minx∈R2
(x1 − 5)2 + (x2 − 5)2
s.l. : g1(x) = x21 + x22 − 5 ≤ 0, g2(x) = x1 + 2x2 − 4 ≤ 0
g3(x) = −x1 ≤ 0, g4(x) = −x4 ≤ 0.
Presupunem ca doar g1(x) ≤ 0 si g2(x) ≤ 0 sunt active ⇒λ∗3 = λ∗
4 = 0 ⇒ conditiile (KKT-CP) se reduc la urmatorul sistem:[2(x∗1 − 5)2(x∗2 − 5)
]+
[2x∗1
12
2x∗2 1
] [λ∗1
λ∗2
]= 0
(x∗1 )2 + (x∗2 )
2 − 5 = 0, x∗1 + 2x∗2 − 4 = 0.
Obtinem solutia x∗ = [2 1]T ⇒ x∗ punct de minim global.
Tehnici de Optimizare
Curs XIMetode de ordinul I si II pentru probleme (NLP)
supuse la constrangeri convexe
Ion Necoara
2014
(NLP)
Problema de optimizare neliniara supusa la constrangeri
(NLP) : f ∗ = minx∈X
f (x)
a) f diferentiabila (nu neaparat convexa),
b) X multime nevida, inchisa si convexa.
Exemple:
minx∈Rn
f (x)︷ ︸︸ ︷1
2∥Ax − b∥2
s.l. l ≤ x ≤ u︸ ︷︷ ︸multimea X (convexa)
minz,y∈Rn
f (x)︷ ︸︸ ︷zTAy
s.l.n∑
i=1
zi = 1, Cy ≥ d︸ ︷︷ ︸multimea X (convexa)
.
Conditii de optimalitate
Reamintim conditiile de optimalitate de ordinul I:
I Cazul neconstrans minx∈Rn
f (x)
Sub presupunerea ca f ∈ C1, orice punct de minim localsatisface sistemul:
∇f (x∗) = 0.
I Cazul constrans minx∈X
f (x)
Sub presupunerea ca f ∈ C1 si X multime convexa, oricepunct de minim local x∗ satisface inegalitatea:
∇f (x∗)T (x − x∗) ≥ 0 ∀x ∈ X .
Conditii de optimalitate
Demonstratie: Presupunem ca exista y ∈ X astfel incat
∇f (x∗)T (y − x∗) < 0.
Din teorema Taylor avem ca ∀t > 0 exista θ ∈ [0, 1] astfel incat:
f (x∗ + t(y − x∗)) = f (x∗) + t∇f (x∗ + θt(y − x∗))T (y − x∗).
Din continuitatea lui ∇f , alegem t < 1 suficient de mic astfel incat
∇f (x∗ + θt(y − x∗))T (y − x∗) < 0
ceea ce implica f (x∗ + t(y − x∗)) < f (x∗). Contradictie cupresupunerea ca x∗ este punct de minim local.
Observatie: convexitatea lui X este necesara pentru a asigura cax∗ + t(y − x∗) ∈ X si x∗ + θt(y − x∗) ∈ X pentru orice x∗, y ∈ X
Metode de descrestere (directii fezabile)Definitie O directie d ∈ Rn se numeste directie fezabila in punctulfezabil x ∈ X daca exista α astfel incat ∀0 < α ≤ α avemx + αd ∈ X .
Exemplu: Fie X = x ∈ Rn : aT x ≤ b, b > 0 si x ∈ X .Observam ca d = b
∥a∥2 a− x este directie fezabila pentru α = 1.
Intr-adevar, fie α ∈ (0, 1), atunci:
aT (x + αd) = aT((1− α)x + α
b
∥a∥2a
)≤ (1− α)b + αb = b.
Metoda directiilor fezabile:• porneste din x0 ∈ X• genereaza sirul fezabil xk ∈ X astfel:
xk+1 = xk + αkdk ,
unde dk este o directie fezabila si pasul αk ales prin metoda idealasau backtracking.
Metoda directiilor fezabile
In particular se aleg directii fezabile dk pentru care∇f (xk)
Tdk < 0, atunci
f (xk + αkdk) < f (xk)
pentru αk suficient de mic si xk punct nestationar. In concluzie,directiile sunt de forma:
dk = γ(xk − xk) γ > 0 & xk ∈ X
decixk+1 = xk + αk(xk − xk)
Clar, daca xk nu este stationar, atunci exista xk ∈ X a.i.∇f (xk)
T (xk − xk) < 0. Observam ca daca X convexa atuncixk + αk(xk − xk) ∈ X pentru orice αk ∈ (0, 1).
Metoda directiilor fezabile
Definitie Fie xk un sir convergent la un punct nestationar.Directiile dk sunt conectate prin gradient la xk daca sirul dk estemarginit si satisface:
limk→∞
supk≥0
∇f (xk)Tdk < 0.
Teorema Fie un sir xk generat de metoda directiilor fezabilexk+1 = xk + αkdk . Presupunem ca directiile dk sunt conectate pringradient la xk pasul αk este ales prin metoda ideala saubacktracking. Atunci orice punct limita al sirului xk este punctstationar.
Demonstratie: Consideram alegerea lui αk prin backtracking (cazulideal este similar). Presupunem ca xk converge la un punctnestationar x . Sirul f (xk) este descrescator si convergent la f (x),i.e.
f (xk)− f (xk+1) → 0.
Metoda directiilor fezabile
Conditia de backtracking: f (xk)− f (xk+1) ≥ −c1αk∇f (xk)Tdk ,
implica αk∇f (xk)Tdk → 0. Directiile dk sunt conectate prin
gradient la xk , deci dk este marginit si limk→∞
supk≥0
∇f (xk)Tdk < 0,
ceea ce implica: αk → 0. Din aceasta relatie si procedurabacktracking avem ca exista k a.i.
f (xk)− f (xk + (αk/ρ)dk) < −c1(αk/ρ)∇f (xk)Tdk ∀k ≥ k.
Din teorema valorii medii avem ca exista αk ∈ [0, αk/ρ] a.i.
−∇f (xk + αkdk)Tdk < −c1∇f (xk)
Tdk , ∀k ≥ k.
Considerand ca dk este marginit (are un subsir convergent),evaluam limita in relatia precedenta si obtinem
0 < (1− c1)∇f (x)T d .
Reamintind ca c1 < 1 rezulta ∇f (x)T d > 0. Contradictie cudefinitia directiilor conectate prin gradient.
Metoda Gradient Proiectat
Fie functia f : Rn → R diferentiabila.
minx∈X
f (x)
Metoda Gradient Proiectat:xk+1 = [xk − αk∇f (xk)]X
Interpretare
xk+1 = argminx∈X
f (xk) +1
2αk∥x − (xk − αk∇f (xk))∥2
= argminx∈X
f (xk) +∇f (xk)T (x − xk) +
1
2αk∥x − xk∥2
adica foloseste o aproximare patratica pentru f cu Hessiana 1αkIn!
Metoda Gradient Proiectat (caz particular al metodelor dedirectii fezabile)
Conditia de optimalitate pentru subproblema convexa
minx∈X
q(x) = f (xk) +∇f (xk)T (x − xk) +
1
2αk∥x − xk∥2
este data de
(∇f (xk) +1
αk(xk+1 − xk))
T︸ ︷︷ ︸∇q(xk+1)
(x − xk+1) ≥ 0, ∀x ∈ X .
Considerand x = xk si prelucrand conditia, avem:
∇f (xk)T (xk+1 − xk︸ ︷︷ ︸
dk
) ≤ − 1
αk∥xk+1 − xk∥2 < 0
Evaluand limita, avem limk→∞
supk≥0
∇f (xk)Tdk < 0. In concluzie, dk
sunt directii conectate prin gradient la xk daca X compacta si deciputem folosim rezultatul precedent de convergenta.
Metoda Gradient Proiectat - Exemplu 1
minx∈R2
f (x) =1
2xT[2 11 2
]︸ ︷︷ ︸
Q
x + [−1 − 1]︸ ︷︷ ︸qT
x
s.l. 2x1 + x2 = 1
Observatii:
I ∇f (x) = Qx + q =
[2x1 + x2 − 1x1 + 2x2 − 1
]I proiectia pe hiperplan: [y ]aT x=b = y − aT y−b
∥a∥2 a
I Fie y ∈ R2, [y ]X = y − (2y1+y2−1)5
[21
].
Metoda Gradient Proiectat: xk+1 = [xk − αk(Qxk + q)]XPornind din x0 = [1 1]T si considerand α0 = 1 avem
x1 = [x0 − α0(Qx0 + q)]X =
[−1−1
]X
=
[3/5−1/5
].
Metoda Gradient Proiectat - Exemplu 2
Metoda Gradient Proiectat - Exemplu 2
Metoda Gradient Proiectat - Exemplu 2
Metoda Gradient Proiectat - Exemplu 2
Metoda Gradient Proiectat - Exemplu 2
Metoda Gradient Proiectat - Exemplu 2
Metoda Gradient Conditional (Frank-Wolfe)Fie functia f : Rn → R diferentiabila si multimea X convexa sicompacta (inchisa si marginita).
minx∈X
f (x)
Metoda Gradient Conditional:xk = argmin
x∈X∇f (xk)
T (x − xk)
xk+1 = xk + αk(xk − xk)
I Se rezolva la fiecare iteratie o problema convexa cu functiaobiectiv liniara;
I Recomandata in cazul in care complexitatea per iteratie estemult mai scazuta decat cea necesara pentru rezolvareaproblemei originale.
Metoda Gradient Conditional (Frank-Wolfe)Interpretare
xk = argminx∈X
f (xk) +∇f (xk)T (x − xk)
adica foloseste doar o aproximare liniara pentru functia f incomparatie cu metoda gradient proiectat care foloseste oaproximare patratica pentru f cu Hessiana 1
αkIn.
Gradientul conditional este caz particular de metoda fezabila:
∇f (xk)T (xk − xk) ≤ ∇f (xk)
T (x − xk) ∀x ∈ X
Daca presupunem ca xk converge la un x nestationar atuncitrecand la limita, obtinem:
limk
supk
∇f (xk)T (xk − xk) ≤ ∇f (x)T (x − x) ∀x ∈ X
Evaluand minimum peste x ∈ X si tinand cont ca x estenestationar
limk
supk
∇f (xk)T (xk − xk) ≤ min
x∈X∇f (x)T (x − x)
x nestationar< 0
xk − xk directii conectate la gradient (X compacta). Contradictie!
Metoda Gradient Conditional (Frank-Wolfe)
Gradient Conditional este caz particular de metoda directiilorfezabile!
Daca X este multime poliedrala, atunci fiecare iteratie a Metodeide Gradient Conditional necesita solutia unei probleme deoptimizare liniare (LP).
Abordari:
I algoritmul Simplex(George Dantzig - 1947);
I algoritmi de punct interior(Narendra Karmarkar - 1984)
Metoda Newton ProiectatFie functia f : Rn → R diferentiabila si X multime convexa.
minx∈X
f (x)
Introducem urmatoarea norma vectoriala:
H ≻ 0 ⇒ ∥x∥H =√xTHx norma indusa de o matrice H
Metoda Newton Proiectat:
xk+1 =[xk − αk(∇2f (xk))
−1∇f (xk)](∇2f (xk ),X )
unde presupunem ca Hessiana ∇2f (xk) ≻ 0 (pozitiv definita)!Interpretare
xk+1 = argminx∈X
f (xk)+1
2αk∥x−(xk−αk(∇2f (xk))
−1∇f (xk))∥2∇2f (xk)
= argminx∈X
f (xk)+∇f (xk)T (x − xk)+
1
2αk(x − xk)
T∇2f (xk)(x − xk).
I Daca αk = 1 atunci la fiecare iteratie se minimizeazaaproximarea Taylor de ordinul II a lui f in jurul lui xk ;
I In general, subproblema la fiecare iteratie este complexa
Metoda Newton ProiectatConditia de optimalitate pentru subproblema convexa
minx∈X
q(x) = f (xk)+∇f (xk)T (x−xk)+
1
2αk(x−xk)
T∇2f (xk)(x−xk)
este data de
(∇f (xk) +1
αk∇2f (xk)(xk+1 − xk))
T︸ ︷︷ ︸∇q(xk+1)
(x − xk+1) ≥ 0, ∀x ∈ X .
Considerand x = xk si prelucrand conditia avem:
∇f (xk)T (xk+1 − xk︸ ︷︷ ︸
dk
) ≤ − 1
αk∥xk+1 − xk∥2∇2f (xk )
< 0
Evaluand limita avem limk→∞
supk≥0
∇f (xk)Tdk < 0. In concluzie, dk
sunt directii conectate prin gradient la xk daca X compacta sifolosim rezultatul precedent de convergenta.
Metoda Newton Proiectat - Exemplu
minx∈R2
f (x) =1
2∥x∥22 − log(x1 − x2 + 1︸ ︷︷ ︸
cT x+d
)
s.l. x1 + x2 = 0︸ ︷︷ ︸aT x=b
Metoda Newton Proiectat:xk+1 = arg min
aT y=b∇f (xk)
T (y −xk)+1
2αk(y −xk)
T∇2f (xk)(y −xk).
Observatii:
I ∇f (x) = x − 1cT x+d
c = x − 1x1−x2+1
[1−1
]I ∇2f (x) = I2 +
1(cT x+d)2
ccT =
[1 00 1
]+ 1
(x1−x2+1)2
[1 −1−1 1
]
Metoda Newton Proiectat - Exemplu
Solutie explicita a iteratiei Newton (cu pas αk = 1) in douamoduri:1. Utilizand dualitatea
xk+1 = xk −(v − (aT v)
aT (∇2f (xk))−1a(∇2f (xk))
−1a
),
unde v =(∇2f (xk)
)−1∇f (xk).
2. Eliminand constrangerea liniara, i.e. y1 =1a1
(b −
∑j =1
ajyj
)
xk+1 = arg minaT y=b
∇f (xk)T (y − xk) +
1
2(y − xk)
T∇2f (xk)(y − xk)
= arg minz∈Rn−1
∇f (xk)T (Mz + u)+
1
2(Mz + u)T∇2f (xk)(Mz + u),
unde MT = [v In−1], vT = [−a2
a1. . . − an
a1], u = b/a1 − xk .
Metoda Newton Proiectat - Exemplu
Determinam prima iteratie a Metodei Newton, utilizand dualitatea
x1 = x0 −(v − aT v
aT (∇2f (x0))−1a(∇2f (x0))
−1a
),
unde v =(∇2f (x0)
)−1∇f (x0).
Pornind din x0 = [0 0]T si considerand α0 = 1 avem
I ∇f (x0) =
[−11
];∇2f (x0) =
[2 −1−1 2
];
I(∇2f (x0)
)−1= 1
3
[2 11 2
]; v = 1
3
[−11
];
x1 =1
3
[1−1
].
Metoda Newton Proiectat - Exemplu
Determinam prima iteratie a Metodei Newton prin eliminareaconstrangerii y1 + y2 = 0
(x1)1=arg miny1∈R
1
2(y1)
2[1 − 1
]∇2f (x0)
[1−1
]+∇f (x0)
T
[1−1
]y1,
Pornind din x0 = [0 0]T si considerand α0 = 1 avem
(x1)1 = arg miny1∈R
3(y1)2 − 2y1 = 1/3
(x1)2 = −(x1)1 = −1/3.
Metoda Newton Proiectat
Teorema Fie xk sirul generat de metoda Newton proiectat cupasul αk ales prin metoda ideal sau backtracking de-a lunguldirectiilor fezabile. Presupunem de asemenea ca exista scalariipozitivi β1 si β2 astfel incat:
β1In ≽ ∇2f (xk) ≽ β2In.
Atunci orice punct limita al sirului xk este punct stationar.
Teorema Fie f de doua ori diferentiabila cu Hessiana pozitivdefinita si continua Lipschitz. Fie, de asemenea, x∗ un punct deminim local pentru problema (NLP). Atunci exista γ > 0 astfelincat daca ∥x0 − x∗∥ < γ, sirul xk produs de metoda Newtonproiectat cu αk = 1 satisface ∥xk − x∗∥ < γ si xk converge la x∗
cu rata de convergenta superliniara.
Tehnici de Optimizare
Curs XIIMetode de optimizare pentru probleme cu
constrangeri de egalitate
Ion Necoara
2014
Probleme cu constrangeri de egalitate
I Reamintim forma generala a problemelor cu constrangeri deegalitate:
(NLPe) : minx∈Rn
f (x)
s.l.: h(x) = 0,
unde f : Rn → R si h : Rn → Rp sunt functii de doua oridiferentiabile.
I Conditiile de optimalitate de ordinul I pentru aceastaproblema (conditiile KKT): fie x∗ punct de minim atunciexista µ∗ ∈ Rp astfel incat conditiile (KKT-NLPe) au loc:
∇L(x∗, µ∗) =
[∇xL(x∗, µ∗)∇µL(x∗, µ∗)
]=
[∇f (x∗) +∇h(x∗)Tµ∗
h(x∗)
]= 0
unde L(x , µ) = f (x) + µTh(x) este Lagrangianul.
I Reamintim ca x∗ trebuie sa fie punct regulat, i.e. rangul lui∇h(x∗) este p.
Exemple probleme cu constrangeri de egalitateFie urmatoarea problema de optimizare:
minx∈R2
4x21 + 2x22 + 4x1x2 − x1 + x2
s.l: x1 − x2 = 1
Observam:
I f (x) = 4x21 + 2x22 + 4x1x2 − x1 + x2, f : R2 → RI h(x) = x1 − x2 − 1, h : R2 → RI L(x , µ) = 4x21 + 2x22 + 4x1x2 − x1 + x2 + µ(x1 − x2 − 1)
Din conditiile de optimalitate
[∇xL(x∗, µ∗)∇µL(x∗, µ∗)
]= 0 rezulta sistemul:
8x1 + 4x2 − 1 + µ = 0
4x2 + 4x1 + 1− µ = 0
x1 − x2 − 1 = 0
⇒
x∗1 = 2
5
x∗2 = −35
µ∗ = 15
Exemple probleme cu constrangeri de egalitate
I Consideram sistemul dinamic liniar discret:
zt+1 = Atzt + Btut ∀t ≥ 0,
unde zt ∈ Rnz este starea, si ut ∈ Rnu intrarea sistemului.
I Consideram costuri de etapa: ℓzt (zt) = 1/2∥zt − z reft ∥2Qt,
ℓut (ut) = 1/2∥ut − ureft ∥2Rt
I Formulam problema de control optimal
minzt ,ut
N∑t=1
ℓzt (zt) +N−1∑t=0
ℓut (ut)
s.l.: zt+1 = Atzt + Btut ∀t = 0, . . . ,N − 1.
Exemple probleme cu constrangeri de egalitate
I Definim variabila de optimizare:
x = [uT0 zT1 uT1 . . . uTN−1 zTN ]T ∈ RN(nz+nu)
si vectorul referinta aferent
x ref = [(uref0 )T (z ref1 )T (uref1 )T . . . (urefN−1)T (z refN )T ]T
I Atunci functia obiectiv poate fi scrisa drept:
f (x) =1
2xT Qx − qT x
unde Q = diag (R0,Q1, . . . ,RN−1,QN), iar q = Qx ref .
I Observatie: problema este de fapt un QP avand constrangeride egalitate.
Exemple probleme cu constrangeri de egalitate
I Constrangerile din problema de control optimal suntconstrangerile de egalitate ce provin din dinamici:
zt+1 = Atzt + Btut
I Prima constrangere poate fi scrisa drept:−B0u0 + Inz z1 = A0z0
I A doua constrangere poate fi scrisa drept:−A1z1 + B1u1 + Inz z2 = 0
I Considerand astfel dinamicile peste intreg orizontul depredictie, atunci constrangerile pot fi scrise drept:h(x) = Ax − b = 0 unde
A=
−B0 Inz 0 0 . . . 0 0 00 −A1 −B1 Inz . . . 0 0 0...
......
......
......
...0 0 0 0 . . . −AN−1 −BN−1 Inz
si b=
A0z00...0
.
Metode pentru QP-uri cu constrangeri de egalitate
I Forma standard problema QP cu constrangeri de egalitate:
(QPe) : minx∈Rn
1
2xTQx − qT x
s.l.: Ax = b,
I Daca exprimam conditiile de optimalitate ∇L(x∗, µ∗) = 0,rezulta sistemul KKT:
Qx − q + ATµ = 0
Ax = b.
sau in notatie matriceala (numim K matricea KKT):[Q AT
A 0
]︸ ︷︷ ︸
K
[xµ
]︸︷︷︸y
= Ky =
[qb
].
Metode pentru QP-uri cu constrangeri de egalitate
I Observatie: matricea (KKT) este ıntotdeauna indefinita.
I Daca matricea A ∈ Rp×n are rangul p si pentru oriced ∈ kernel(A) cu d = 0 avem dTQd > 0, atunci matricea(KKT) este inversabila (demonstrati!).
I Daca A are rang p, atunci orice punct x ∈ Rn este punctregular.
I Mai departe, daca pentru orice d ∈ kernel(A) cu d = 0 avemdTQd > 0, atunci conditiile suficiente de ordinul II suntsatisfacute pentru (QPe). In concluzie, pentru o problemapatratica cu constrangeri de egalitate ın forma (QPe),existenta unui minim local este echivalenta cu inversabilitateamatricei (KKT).
Metode pentru QP-uri cu constrangeri de egalitateRezolvarea sistemului KKT, Ky = κ, se poate face prinurmatoarele abordari:
I presupunem Q inversabila si A are rangul p, extragem x dinprima ecuatie: x = −Q−1(ATµ− q), introducem x in a doua:
AQ−1ATµ = AQ−1q−b → rezolvam pentru µ → recuperam x
Observam ca AQ−1AT este inversabila, daca A are rangul pI factorizarea LU. K simetrica si pozitiv semidefinita ⇒
utilizeaza o factorizare Cholesky indefinita: PTKP = LDLT ,unde P este o matrice de permutare, D este o matrice blocdiagonala (dim. bloc: 1 sau 2) si L este inferior triunghiulara.
I metoda spatiului nul gaseste o baza (coloane ale lui)Z ∈ Rn×(n−p) pentru kernel(A) si defineste x = Zv + y , undey este o solutie particulara a constrangerilor Ay = bputem elimina constrangerile Ax = b ⇒ reformulam problemaoriginala ca o problema neconstransa QP (x → Zv + y):
minv∈Rn−p
1
2(Zv + y)TQ(Zv + y)− qT (Zv + y).
Metode pentru NLP-uri generale cu constrangeri deegalitate: metode Lagrange
I Observatie: Daca sistemul KKT nu se poate rezolva explicitprecum in cazul problemelor QP, atunci trecem la metodeiterative pentru NLP-uri cu constrangeri de egalitate.
I Metodele Lagrange se bazeaza pe conditiile KKT:
∇xL(x , µ) = 0, h(x) = 0 ⇐⇒ ∇L(x , µ) = 0.
I Definim:
F (y) = ∇L(x , µ) =[∇xL(x , µ)
h(x)
]I Solutiile problemei NLPe se gasesc in radicinile sistemului
neliniar F (y) = 0I Forma generica a metodelor Lagrange:
(ML) : xk+1 = L(xk , µk)
µk+1 = H(xk , µk),
I Iteratiile metodelor Lagrange depind de un pas αk
Metode pentru NLP-uri generale cu constrangeri deegalitate: metode Lagrange
I Pasul αk poate fi stabilit conform unei functii de merit
F(x , µ) =1
2∥∇xL(x , µ)∥2 +
1
2∥h(x)∥2
I Observatie: F(x , µ)≥0, F(x , µ)=0 daca si numai daca∇xL(x , µ)=0 si h(x)=0
I Astfel, daca rezolvam problema neconstransa:
minx∈Rn,µ∈Rp
F(x , µ)
(=
1
2∥∇xL(x , µ)∥2 +
1
2∥h(x)∥2
)(1)
⇒ orice punct de minim global (x∗, µ∗) al acestei problemesatisface ∇L(x∗, µ∗) = 0.
I Lema: presupunem ca (x∗, µ∗) este punct de minim local alproblemei (1) care satisface conditiile necesare de ordinul I.Presupunem de asemenea ca rangul lui ∇h(x∗) este p siHessiana ∇2
xL(x∗, µ∗) este pozitiv definita. Atunci (x∗, µ∗)este punct de minim global pentru (1), adica F(x∗, µ∗) = 0.
Metoda Lagrange de ordin I (ML-I)
F (y) = ∇L(x , µ) =[∇xL(x , µ)
h(x)
]= 0
Metoda gradient pentru rezolvarea sistemului de ecuatiiF (y) = 0 ⇔ yk+1 = yk − αF (yk). Daca yk converge la y∗ atunciF (y∗) = 0.
I Metoda Lagrange de ordin I are iteratia:
(ML− I ) : xk+1 = xk − αk∇xL(xk , µk)
µk+1 = µk + αk h(xk),
I Iteratia se poate scrie echivalent: yk+1 = yk − αkF (yk).
I Metoda Lagrange de ordin I este o metoda iterativa cudirectia (−∇xL(xk , µk), h(xk))
Metoda Lagrange de ordin I (ML-I)
(ML− I ) : xk+1 = xk − αk∇xL(xk , µk)
µk+1 = µk + αk h(xk),
I Notam: Lk = ∇2xL(xk , µk), lk = ∇xL(xk , µk), hk =
h(xk) si Ak = ∇h(xk).
I Observam: produsul scalar dintre gradientul lui F si directie:
[(Lk lk + ATk hk)
T (Ak lk)T ][−lTk hTk ]
T =−lTk Lk lk−hTk Ak lk+lTk ATk hk
= −lTk Lk lk
I Astfel, daca Lk = ∇2xL(xk , µk) ≻ 0, atunci −lTk Lk lk < 0 si
(−∇xL(xk , µk), h(xk)) este o directie de descrestere pentrufunctia merit F .
Metoda Lagrange de ordin I (ML-I)
I Putem alege pasul αk astfel:
αk = argminα≥0
F(xk − α∇xL(xk , µk), µk + αh(xk)).
I Iteratia (ML-I) va converge catre un punct ce satisface∇xL(x∗, µ∗) = 0 dar nu putem garanta ca h(x∗) = 0.
I Putem imbunatati convergenta (ML-I) prin alegerea alteifunctii merit si pasul αk corespunzator acesteia:
Fγ(x , µ) =1
2∥∇xL(x , µ)∥2 +
1
2∥h(x)∥2 − γL(x , µ),
cu γ suficient de mic.
I Sub ipoteza Lk = ∇2xL(xk , µk) ≻ 0, (−∇xL(xk , µk), h(xk))
este o directie de descrestere pentru functia merit Fγ :
[(Lk lk + ATk hk − γlk)
T (Ak lk − γhk)T ][−lTk hTk ]
T
= −lTk (Lk − γIn)lk − γh2k < 0,
Exemplu pas ML-I
Fie urmatoarea problema de optimizare:
minx∈R2
x41 + x22 + 2x1x2 + x1 + x2
s.l: x1 + x2 = 1
Observam:
I L(x , µ) = x41 + x22 + 2x1x2 + x1 + x2 + µ(x1 + x2 − 1)
I ∇xL(x , µ) =[4x31 + 2x2 + 1 + µ2x2 + 2x1 + 1 + µ
]Consideram x0 = [−1 1]T , µ0 = 0 si α0 = 1. Rezulta:
x1 = x0 − α0∇xL(x0, µ0) =
[00
]µ1 = µ0 + α0h(x0) = −1
Convergenta ML
I Punct de atractie: o pereche (x∗, µ∗) se numeste punct deatractie pentru iteratia (ML) daca exista o multime deschisaV ⊂ Rn×p astfel ıncat pentru orice (x0, µ0) ∈ S sirul (xk , µk)generat de iteratie ramane ın S si converge la (x∗, µ∗).
I Teorema: Fie L : Rn×p → Rn si H : Rn×p → Rp functiidiferentiabile astfel ıncat x∗ = L(x∗, µ∗) si µ∗ = H(x∗, µ∗).Mai mult, presupunem ca toate valorile proprii ale matricei dedimensiune (n + p)× (n + p)
R∗ =
[∇xL(x
∗, µ∗) ∇xH(x∗, µ∗)∇µL(x
∗, µ∗) ∇µH(x∗, µ∗)
]sunt ın interiorul cercului unitate. Atunci, (x∗, µ∗) este unpunct de atractie al iteratiei (ML) si cand sirul generat(xk , µk) converge la (x∗, µ∗), rata de convergenta este liniara.
Convergenta ML-I
I Avem astfel urmatoarea teorema pentru metoda Lagrange deordinul I:Teorema: presupunem ca f si h sunt functii de doua oridiferentiabile, x∗ este punct de minim local pentru care existaµ∗ satisfacand conditiile (KKT-NLPe). Presupunem deasemenea ca x∗ este regulat si Hessiana ∇2
xL(x∗, µ∗) estepozitiv definita. Atunci exista α > 0 astfel ıncat pentru oriceα ∈ (0 α], (x∗, µ∗) este un punct de atractie al iteratiei(ML-I) si daca sirul generat (xk , µk) converge la (x∗, µ∗),atunci rata de convergenta este liniara.
Metoda Lagrange Newton
I Metoda Lagrange Newton este in esenta metoda Newtonaplicata pentru a rezolva sistemul (KKT-NLPe)
F (y) = ∇L(x , µ) =[∇xL(x , λ)
h(x)
]= 0
I Folosind Jacobianul sistemului ∇F (yk) =∂F∂y (yk), atunci
metoda Newton presupune: F (yk) +∇F (yk)(y − yk) = 0
I Sub ipoteza ca Jacobianul sistemului ∇F (yk) este inversabil,iteratia Metodei Newton este:
yk+1 = yk − (∇F (yk))−1 F (yk).
I In termeni de gradienti, iteratia metodei Lagrange NewtonF (yk) +∇F (yk)(y − yk) = 0 este:
∇xL(xk , µk) +∇2xL(xk , µk)(x − xk) + (∇h(xk))
T (µ− µk) = 0
h(xk) +∇h(xk)(x − xk) = 0.
Metoda Lagrange Newton
I Echivalent, putem scrie sub forma matriceala:[∇2
xL(xk , µk) (∇h(xk))T
∇h(xk) 0
]︸ ︷︷ ︸
matricea KKT
[x − xkµ− µk
]=
[−∇xL(xk , µk)
−h(xk)
].
I Astfel, pentru orice solutie (x∗, µ∗) ce satisface conditiile deordin II, matricea KKT este inversabila intr-o vecinatate aacestei solutii.
I Matricea KKT este inversabila → sistemul are solutie unica.
Metoda Lagrange Newton
I Obtinem urmatoarea iteratie Newton clasica:
(ML− N) : xk+1 = xk + dk
µk+1 = µk + dµk ,
unde directiile (dk , dµk ) sunt solutia sistemului:[
∇2xL(xk , µk) (∇h(xk))
T
∇h(xk) 0
] [dkdµk
]=
[−∇xL(xk , µk)
−h(xk)
].
I Rezultatele standard ale metodei Newton sunt aplicabile siaici: daca punctul initial (x0, µ0) este suficient de aproape desolutia (x∗, µ∗), atunci sirul (xk , µk) generat de metodaNewton (ML-N) este convergent si converge catre solutie curata cel putin patratica.
Exemplu iteratie metoda Lagrange NewtonFie urmatoarea problema de optimizare:
minx∈R2
x41 + x42 − x21x22 + x1 + x2
s.l: x1 + x2 = 2
Observam:
I ∇xL(xk , µk) =
[4x31 − 2x1x
22 + 1 + µ
4x32 − 2x21x2 + 1 + µ
],
∇2xL(xk , µk) =
[12x21 − 2x22 −4x1x2−4x1x2 12x22 − 2x21
]I Atentie: in general avem h : Rn → Rm, iar ∇h(x) reprezinta
Jacobianul functiei. In cazul nostru, avem h(x) = x1 + x2 − 2iar Jacobianul rezulta ∇h(x) =
[1 1
].
I Rezulta astfel matricea KKT:12x21 − 2x22 −4x1x2 1−4x1x2 12x22 − 2x21 1
1 1 0
Exemplu iteratie metoda Lagrange Newton
Avem astfel sistemul:12x21 − 2x22 −4x1x2 1−4x1x2 12x22 − 2x21 1
1 1 0
[dkdµk
]=
[−∇xL(xk , µk)
−h(xk)
].
Consideram un punct initial (x0, µ0) cu x0 = [1 0]T si µ0 = 0.Inlocuind in sistemul anterior, rezulta:12 0 1
−0 −2 11 1 0
[d0dµ0
]=
−5−11
⇒[d0dµ0
]=
−3/58/511/5
Rezulta:
(x1, µ1) = (x0, µ0) + (d0, dµ0 ) =
2/58/511/5
Metoda Lagrange Newton
I Reamintim notatiile: Lk = ∇2xL(xk , µk), lk = ∇xL(xk , µk),
hk = h(xk) si Ak = ∇h(xk).
I Astfel, produsul scalar dintre directiile Newton (dk , dµk ) si
gradientul functiei merit F este (tinand cont de sistemul KKTprecedent satisfacut de directiile (dk dµ
k )):
[Lk lk + ATk hk Ak lk ][d
Tk (dµ
k )T ]T = lTk Lkdk + hTk Akdk + lTk AT
k dµk
= −∥lk∥2 − ∥hk∥2.
I Aceasta expresie este strict negativa cu exceptia cazului candlk = 0 si hk = 0 (adica conditiile (KKT-NLPe)). Astfel,directiile Newton (dk , d
µk ) sunt directii de descrestere.
Metoda Lagrange Newton
I Metoda Lagrange-Newton este o metoda de descresterepentru o functie merit → are proprietati de convergentaglobala cand iteratia se ia cu un pas variabil.
I Definim astfel metoda Lagrange-Newton generala prinurmatoarea iteratie:
(ML− Nα) : xk+1 = xk + αkdk
µk+1 = µk + αkdµk ,
I Pasul αk este ales sa minimizeze functia merit, i.e.
αk = argminα≥0
F(xk + αdk , µk + αdµk ).
Metoda Lagrange NewtonI Daca adaugam expresia (∇h(xk))
Tµk ın prima ecuatie asistemului KKT pentru (ML-N) si tinand cont caµk+1 = µk + dµ
k , atunci acest sistem se rescrie in forma:[∇2
xL(xk , µk) (∇h(xk))T
∇h(xk) 0
] [dk
µk+1
]=
[−∇f (xk)−h(xk)
].
I Acest sistem se poate scrie explicit:
∇f (xk) +∇2xL(xk , µk)dk + (∇h(xk))
Tµk+1 = 0,
h(xk) +∇h(xk)dk = 0.
I Aceste doua relatii sunt de fapt conditiile (KKT) pentru oproblema patratica, adica dk si µk+1 sunt solutiile optime(punctele stationare) obtinute din rezolvarea unui QP deforma (metoda SQP):
mind∈Rn
∇f (xk)Td +
1
2dT∇2
xL(xk , µk)d
s.l.: h(xk) +∇h(xk)d = 0.
Exemplu iteratii metoda Lagrange Newton
0.8 1 1.2 1.4 1.6 1.8 2−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
x1
x2
Iteratia metodei (ML-N) cu punctul initial x0 = [2 2]T pentruproblema neconvexa min
x∈R2: x21+x22=1(x1 − 6)4 + (x1 − 4x2)
2.
Metoda Newton pentru probleme convexe cu constrangeride egalitate
I O problema de optimizare convexa avand constrangeri deegalitate are forma:
(CPe) : minx∈Rn
f (x)
s.l.: Ax = b,
unde f : Rn → R functie convexa si A ∈ Rp×n are rangul p.
I Conditiile (KKT) pentru aceasta problema sunt necesare sisuficiente, i.e. x∗ este punct de minim daca si numai dacaexista µ∗ ∈ Rp astfel ıncat:
(KKT − CPe) : ∇f (x∗) + ATµ∗ = 0, Ax∗ = b.
Metoda Newton pentru probleme convexe cu constrangeride egalitate
I In problema (CPe) putem elimina constrangerile de egalitatepe baza observatiei:
x : Ax = b = Zv + y : v ∈ Rn−p,
unde coloanele lui Z reprezinta o baza pentru kernel(A) si yeste o solutie particulara a sistemului Ax = b.
I In acest caz putem rezolva problema de optimizare convexafara constrangeri:
minv∈Rn−p
f (v) (= f (Zv + y)).
I Daca v∗ este o solutie a problemei convexe fara constrangeri,atunci x∗ = Zv∗ + y este o solutie a problemei originale.
Metoda Newton pentru probleme convexe cu constrangeride egalitate
I Fie xk fezabil, urmatorul punct al iteratiei Newton secalculeaza folosind directia Newton dk ce rezulta dinaproximarea patratica de ordinul II a lui f ın jurul lui xk , i.e.
dk =arg mind∈Rn
f (d) (= f (xk) +∇f (xk)Td +
1
2dT∇2f (xk)d)
s.l.: A(xk + d) = b. (2)
I Aceasta problema este un QP convex avand constrangeri deegalitate Ad = 0, → directia Newton este caracterizata desistemul liniar:[
∇2f (xk) AT
A 0
] [dk
µk+1
]=
[−∇f (xk)
−0
],
I Introducem decrementul Newton:
ν(xk) =(dTk ∇2f (xk)dk
)1/2.
Metoda Newton pentru probleme convexe cu constrangeride egalitate
I Observatie: f (xk)− f (dk) = ν(xk)2/2, ceea ce arata ca
decrementul Newton poate fi folosit ca si criteriu de oprire.I Tinand cont de sistemul KKT pentru gasirea lui dk avem
d
dtf (xk + tdk)
∣∣∣t=0
= ∇f (xk)Tdk = −ν(xk)
2,
adica directia Newton este directie de descrestere, dacaalegem t suficient de mic. In concluzie, metoda Newtongenerala pentru cazul convex (CPe) este data de iteratia:
(MN − CPe) : xk+1 = xk + αkdk ,
unde directia Newton dk este solutia problemei QP (2), pasulαk se alege prin procedura backtracking ın raport cu directiadk pentru functia f , i.e.f (xk + ρmdk) ≤ f (xk) + c1ρ
m∇f (xk)Tdk)
si criteriul de oprire folosit este
ν(xk)/2 ≤ ϵ,
pentru o acuratete fixata ϵ.
Exemplu iteratii metoda Newton pentru probleme convexecu constrangeri de egalitate
0 2 4 6 8 100
2
4
6
8
10
x1
x2
Iteratiile metodei Newton cu pasul αk = 1 pentru problemaconvexa min
x∈R2:x1+2x2=16(x1 − 2)4 + (x1 − 2x2)
2.
Tehnici de Optimizare
Curs XIIIMetode de punct interior
Ion Necoara
2014
Istoric
Problema de programare liniara (LP):
minx∈Rn
cT x
s.t. Ax = b, x ≥ 0.
Consideram L cantitatea (in bytes) a datelor (A, b, c).
• Metoda simplex dezvoltata de GeorgeDantzig 1947-1951;
I performante practice bune;
I complexitate exponentiala in (n, L) -Klee, Minty (1972).
Problema: Exista algoritmi polinomiali (in nsi L) pentru probleme LP?
Istoric
• Metoda elipsoidului (punct interior)dezvoltata de Leonid Khachiyan 1979;
I performante practice slabe;
I complexitate per iteratie: O(n2L);
I complexitate polinomiala: O(n4L);
• Metoda de punct interior dezvoltata deNarendra Karmarkar 1984;
I performante practice superioaremetodei elipsoidului;
I complexitate per iteratie: O(nL);
I complexitate polinomiala: O(n3.5L);
IstoricProblema neliniara convexa:
minx∈Rn
f (x)
s.t. Ax = b, g(x) ≤ 0,
unde functiile f , gimi=1 sunt convexe (egalitatile afine!).
• Metoda de punct interior dezvoltata deYurii Nesterov si Arkadii Nemirovsky 1988;
I se aplica clasei de functiiν−autoconcordante;
I complexitate polinomiala pentrudeterminarea unei ϵ−solutii:O (
√ν ln(ν/ϵ));
I pachete software foarte bune: CPLEX,MOSEK, CVX, MATLAB
Worst case versus analiza probabilistica
I metoda simplex pentru LP are performanta practica buna darin worst case complexitate exponentiala. De ce?In medie, numarul de pivoti este:
O(n2)
I netoda de punct interior pentru LP: in medie numarul deiteratii este
O(√n ln n)
i.e. cel mult 30− 50 de iteratii pentru a gasi o solutie
Probleme de programare neliniara (NLP)
(NLP) : minx∈Rn
f (x)
s.l.: g(x) ≤ 0, h(x) = 0,
unde f : Rn → R, g : Rn → Rm si h : Rn → Rp sunt functii dedoua ori diferentiabile.
minx∈Rn
f (x)︷ ︸︸ ︷1
2∥Ax − b∥2
s.l. l ≤ x︸ ︷︷ ︸g(x)=l−x
miny∈Rn
f (y)︷︸︸︷cT y
s.l.n∑
i=1
yi = 1︸ ︷︷ ︸h(y)=
n∑i=1
yi−1
, Cy ≥ d︸ ︷︷ ︸g(y)=d−Cy
Conditii de optimalitate - KKT
Conditiile de optimalitate de ordinul I (conditiile KKT):
∇f (x) +∇h(x)Tµ+∇g(x)Tλ = 0
Λg(x)= 0
g(x) ≤ 0, λ ≥ 0
h(x) = 0,
unde Λ = diag(λ1, · · · , λm).
I Rezolvare dificila prin metode uzuale (e.g. metode multimiloractive): conditiile de complementaritate nu sunt netede.
I Se aproximeaza cu un set de conditii netede.
Conditii KKT perturbate
Conditii de optimalitate pertubate (conditii KKT-IP):
∇f (x) +∇h(x)Tµ+∇g(x)λ = 0
Λg(x)= −τe
g(x) ≤ 0, λ ≥ 0
h(x) = 0.
I Pentru τ = 0 obtinem sistemul KKT original.
I Algoritmii de punct interior rezolva succesiv sistemul(KKT-IP) pentru o serie descrescatoare de valori τk → 0.
I Solutia sistemului (KKT-IP) (x(τ), λ(τ), µ(τ)) converge lasolutia sistemului (KKT) (x∗, λ∗, µ∗) cand τ → 0 (calecentrala).
Reformulare ca metoda bariera
Problema (NLP) se rescrie echivalent:
minx∈Rn
f (x) +m∑i=1
I−(gi (x))
s.l. h(x) = 0,
unde I− : R → R, I−(x) =
0, daca x ≤ 0
∞, daca x > 0.
⇒ Functia indicator I−(·) este nediferentiabila;⇒ Cautam aproximare cu functia bariera logaritmica;
minx∈Rn
f (x)− τm∑i=1
log(−gi (x))
s.t. h(x) = 0.
Aproximare functie indicator cu bariera logaritmica
g(x) = |x | − 1
I−(g(x)) =
0, daca |x | ≤ 1
∞, daca |x | > 1.
B(x) = −τ(log(1 + x) + log(1− x))−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
0
0.5
1
1.5
2
2.5
3
3.5
4
τ=1τ=0.5τ=0.1
g(x) = x
I−(g(x)) =
0, daca x ≤ 0
∞, daca x > 0.
B(x) = −τ log(−x)−1000 −900 −800 −700 −600 −500 −400 −300 −200 −100 0
−6
−4
−2
0
2
4
τ=1τ=0.5τ=0.1
Reformulare ca metoda barieraConditii de optimalitate ale formularii cu functia bariera:
∇f (x)−m∑i=1
τ
gi (x)︸ ︷︷ ︸λi
∇gi (x) +∇h(x)Tµ = 0
h(x) = 0.
⇒ Avem gi (x) < 0 datorita domeniul de definitie al functiei log(·);⇒ Notand λi = − τ
gi (x)> 0 obtinem conditiile (KKT-IP)
∇f (x) +m∑i=1
λi∇gi (x) +∇h(x)Tµ = 0
λigi (x)= −τ
g(x) < 0, λ > 0
h(x) = 0.
MPI pentru probleme de optimizare convexe
minx∈Rn
f (x)
s.l. g(x) ≤ 0, Ax = b.
⇒ f , g convexe si de doua ori diferentiabile, A ∈ Rp×n de rang p;⇒ MPI presupun aplicarea Metodei Newton pe reformularea cubariera logaritmica.
minx∈Rn
f (x)− τ
m∑i=1
log(−gi (x))
s.l. Ax = b.
⇒ Notam functia bariera B(x) = −m∑i=1
log(−gi (x)) si punctul de
optim x(τ) ce satisface g(x(τ)) < 0 si Ax(τ) = b.
MPI pentru probleme de optimizare convexe
⇒ Punctele de optim x(τ) definesc calea centrala si satisfac
∇f (x(τ)) +∇B(x(τ)) + AT µ = 0.
⇒ Orice punct x(τ) produce un punct dual fezabil.
Alegem punctul dual fezabil definit de λi (τ) = − τgi (x(τ))
si
µ(τ) = τ µ. Functia duala in acest punct satisface
q(λ(τ), µ(τ)) = f (x(τ)) +m∑i=1
λi (τ)gi (x(τ)) + µ(τ)T (Ax(τ)− b)
= f (x(τ))−mτ
≤ maxλ,µ
q(λ, µ) = f ∗.
Concluzionam ca x(τ) satisface
f (x(τ))− f ∗ ≤ mτ .
MPI pentru probleme de optimizare convexe
Metoda bariera
Alegem x0 strict fezabil, τ0 > 0, σ < 1 si ϵ > 0.Cat timp mτk ≥ ϵ repeta:
1. Calculeaza xk+1 = x(τk) pornind din punctul initial xk (”warmstart”);
2. Descreste parametrul τk+1 = στk .
⇒ Pentru a determina xk+1 rezolvam (e.g. prin Metoda Newton)reformularea cu bariera logaritmica cu parametrul τk , pornind dinpunctul initial xk ;
⇒ Dupa k iteratii avem f (xk)− f ∗ ≤ mτ0σk .
MPI pentru LPminx∈Rn
cT x
s.l. Ax ≤ b,
I figuri luate din VandenbergheI hiperplanul cT x = cT x(τ) este tangent la multimea nivel a
functieie bariera B(x) = −∑
i log(bi − Aix) prin x(τ)
Lτ = x : B(x) = B(x(τ))I multimile nivel Lτ aproximeaza din ce in ce mai bine frontiera
multimii fezabile x : Ax ≤ b pentru τ → 0
MPI pentru LPLP cu m = 100 inegalitati si n = 50 variabile
I pornim cu x de pe calea centrala (τ0 = 1)I terminam cand τ = 10−8
I pentru calcularea centrilor x(τ) utilizam metoda Newtonpentru egalitati folosind backtracking
I numarul total de iteratii Newton pentru un σ fixat este deordinul zecilor
I numarul total de iteratii Newton nu este foarte senzitiv pentruσ ≤ 0.1
MPI pentru LP, QP, SOCP, SDPPachete software eficiente (CVX, MATLAB) pentru rezolvarea deprobleme convexe peste conul Rn
+ (positive orthant), Ln (conulLorentz), Sn
+ (conul positiv demidefinit)
I numarul total de iteratii Newton nu este foarte senzitiv inraport cu σ
MPI pentru SDP• O familie de probleme SDP (A ∈ Sn si x ∈ Rn)
minx
1T x
s.l.: A+ diag(x) ≽ 0
• Pentru fiecare n = 10, · · · , 1000 rezolvam 100 de probleme SDPgenerate random
Metode de punct interior primale-duale
Mai eficiente decat metoda bariera cand se doreste acuratete mare
I actualizeaza la fiecare iteratie atat variabilele primale, cat siduale
I nu se face distinctie intre iteratiile inner si outer
I au adesea convergenta superliniara (spre deosebire de metodaprecedenta ce are convergenta liniara)
I directiile de cautare pot fi interpretate ca directii Newtonpentru conditiile KKT modificate
I exista versiuni care pornesc din puncte nefezabile
I costul iteratie este similar cu al metodei bariera
MPI pentru probleme de optimizare neconvexe
minx∈Rn
f (x)
s.l. g(x) ≤ 0, h(x) = 0.
⇒ functiile f , g , h de doua ori diferentiabile (posibil neconvexe);⇒ cautam un punct stationar (in cazul convex, MPI determinaminim-ul global);Reformulare echivalenta
minx∈Rn
f (x)
s.l. g(x) + s = 0, h(x) = 0, s ≥ 0.
⇒ Similar cazului convex, mutam constrangerile de inegalitate(s ≥ 0) in cost utilizand functia bariera logaritmica:
minx∈Rn
f (x)−τ
m∑i=1
log(si )
s.l. g(x) = s, h(x) = 0.
Conditii KKT perturbate
(KKT-IPs): ∇f (x) +∇h(x)Tµ+∇g(x)λ = 0
Λs − τe= 0
g(x) + s = 0, h(x) = 0
s ≥ 0, λ ≥ 0.
unde Λ = diagλ ⇒ MPI rezolva sistemul perturbat prin metodaNewton;Fie x punctul curent, obtinem sistemul liniar primal-dual:
∇2xL 0 ∇hT ∇gT
0 Λ 0 S∇h 0 0 0∇g I 0 0
dx
d s
dµ
dλ
= −
∇f +∇hTµ+∇gTλ
Λs − τeh
g + s,
unde S = diag(s) si L(x , s, λ, µ) = f (x) + (g(x) + s)Tλ+ h(x)Tµ.
Metoda NewtonIteratie Metoda Newton:
xk+1 = xk + αxkd
xk , sk+1 = sk + αx
kdsk ,
µk+1 = µk + αµkd
µk , λk+1 = λk + αµ
kdλk ,
unde (dxk , d
sk , d
µk , d
λk ) este solutia sistemului primal-dual.
⇒ pasul αµk se alege in intervalul (0, αµ
max];⇒ pasul αx
k se alege pe baza unei functii merit Mν(x , s, τ);
Mν(x , s, τ) = f (x)−τ
m∑i=1
log(si )+ν∥h(x)∥1+ν
m∑i=1
|max0, gi (x)|.
Se aleg ρ, c1 ∈ (0, 1], pasul αxk = ρm, unde m este cel mai mic
intreg ce satisface relatia (de backtracking)
Mν(xk + ρmdxk , sk + ρmd s
k , τk) ≤Mν(xk , sk , τk)
+ c1ρmM′
ν(xk , sk , τk ; dxk , d
sk).
Solvere: Matlab, SeDumi, CVXExista diferite solvere pentru rezolvarea problemelor NLP generalebazate pe implementari de punct interior:
I Matlab: linprog pentru LP; quadprog pentru QP, fminconpentru NLP generale
I Sedumi rezolva probleme convexe in format SDP pentru cele4 tipuri de conuri: Rn,Rn
+,Ln, Sn+
I CVX rezolva probleme convexe mai generale (e.g. poaterezolva asa numitele probleme de tip “geometricprogramming”)
Exemplu: in Matlab functia
X = quadprog(Q, q,A, b)
minimizeaza problema QP
min 0.5xTQx + qT x s.l. : Ax ≤ b
Tema 3
Fiecare student alege o aplicatie a.i. sa se modeleze ca o problemede optimizare cu constrangeri. Cerinte:
I descrieti in detaliu aplicatia aleasa
I dati formularea matematica ca o problema de optimizare NLP
I utilizati cel putin 2 algorithmi de optimizare dati la curspentru rezolvarea ei
I dati codul Matlab pentru cei 2 algoritmi
I comparati rezultatele cu functia Matlab fmincon
I comentati rezultatele obtinute (grafice, tabele)
Vezi urmatorul curs pentru un exemplu de aplicatie ce respectacerintele de mai sus.
Tehnici de Optimizare
Curs XIVAplicatii
Ion Necoara
2014
Control optimal liniarFie sistemul liniar,
zt+1 = Azzt + Buut ,
unde zt ∈ Rnz , reprezinta starea sistemului, ut ∈ Rnu reprezintaintrarea. Consideram constrangeri pe stare si intrare:
lz ≤ zt ≤ uz , Cuut ≤ du ∀t ≥ 0
Problema de control optimal pe orizont finit N:
minzi ,ui
1
2
N∑i=1
∥zi − z refi ∥2Qi+
N−1∑i=0
∥ui − urefi ∥2Ri
s.l. z0 = z , zi+1 = Azzi + Buui ,
lz ≤ zi ≤ uz , Cuui ≤ du, ∀i = 1, . . . ,N − 1.
• Matricile Qi ,Ri sunt pozitiv definite pt. orice i• z refi , urefi referinte impuse pt. starea si intrarea sistemului
Formulare QP raraAducem problema de optimizare la o forma standard:
• Redefinim variabila de decizie x ∈ RN(nz+nu)
x = [uT0 zT1 uT1 zT2 · · · uTN−1 zTN ]T .
Rescriem ecuatiile dinamicii sistemului zi+1 = Azzi + Buui :
z1 − Buu0 = Azz0 ⇔ [−Bu Inz 0 0 . . . 0 0 0] x = Az0
z2 − Azz1 − Buu1 = 0 ⇔ [0 − Az − Bu Inz . . . 0 0 0] x = 0
· · · · · · · · · · · ·zN − AzzN−1 − BuuN−1 = 0 ⇔ [0 0 0 0 . . . − Az Bu Inz ] x = 0.
Rescriem constrangerile pe stare, astfel:
lz ≤ zt ≤ uz ⇔[Inz−Inz
]︸ ︷︷ ︸
Cz
zt ≤[uz−lz
]︸ ︷︷ ︸
dz
Formulare QP rara• Reformulam constrangerile definite de dinamici:
Ax = b
A =
−Bu Inz 0 0 . . . 0 0 00 −Az −Bu Inz . . . 0 0 0...
......
......
......
...0 0 0 0 . . . −Az Bu Inz
, b =
Azz00...0
• Reformulam constrangerile pe stare si intrare:
Cx ≤ d
C =
Cu 0 0 0 00 Cz 0 0 00 0 · · · 0 00 0 0 Cu 00 0 0 0 Cz
, d =
dudz...dudz
Formulare QP rara
Obs.: fie matricile U,V ≻ 0 si x , y vectori cu dim. compatibile:
∥x∥2U = xTUx , xTUx + yTVy = [xT yT ]
[U 00 V
] [xy
].
• Reformulam functia obiectiv utilizand observatia precedenta:
1
2
N∑i=1
(∥zi − z refi ∥2Qi
+ ∥ui−1 − urefi−1∥2Ri−1
)=
1
2
N∑i=1
[ui−1 − urefi−1
zi − z refi
]T [Ri−1 00 Qi
] [ui−1 − urefi−1
zi − z refi
]=
1
2(x − x ref )TQ(x − x ref ),
unde am folosit notatiile:x=[uT0 z
T1 · · · uTN−1z
TN ], x ref =[(uref0 )T (z ref1 )T · · · (urefN−1)
T (z refN )T ]si Q = diag(R0,Q1, · · · ,RN−1,QN).
Formulare QP rara
Formularea problemei de control optimal pe orizont finit rara (faraeliminarea starilor):
minx∈RN(nz+nu)
1
2xTQx + qT x
s.l. Ax = b, Cx ≤ d ,
unde q = Q ∗ x ref .
⇒ forma standard de programare patratica⇒ matricile QP-ului sunt rare: Q si C sunt bloc diagonale, iar Abloc tridiagonala⇒ se aplica algoritmi eficienti specifici optimizarii constranse infunctie de dimensiunea problemei
Formulare QP densa⇒ Dorim reformularea dinamicilor zt+1 = Azzt + Buut prineliminarea starilor, i.e. variabila devine: x = [uT0 · · · uTN−1]
T ∈ RNnu
z1 = Azz0 + Buu0
z2 = Azz1 + Buu1 = A2zz0 + AzBuu0 + Buu1
· · ·zN = AzzN−1 + BuuN−1 = AN
z z0 + AN−1z Buu0 + · · ·+ BuuN−1
⇒ Notand z = [zT1 · · · zTN ]T ∈ RNnz obtinem:
z=
Bu 0 0 0 · · · 0
AzBu Bu 0 0 · · · 0A2zBu AzBu Bu 0 · · · 0...
......
......
...AN−1z Bu AN−2
z Bu AN−3z Bu AN−4
z Bu · · · Bu
︸ ︷︷ ︸
AB
x +
Az
A2z
A3z...
ANz
︸ ︷︷ ︸
Ap
z0.
Formulare QP densa
⇒ Obtinem forma QP, reformuland constrangerile pe stare/intrare.
⇒ Concatenam constrangerile pe stare:
Czzi ≤ dz ∀i = 1, · · · ,N ⇔ Cz z ≤ dz ,
unde Cz = diag (Cz , · · · ,Cz) si dz = [dTz · · · dT
z ]T .
⇒ Combinand cu ecuatia matriceala z = ABx + Apz0 obtinem:
Cz z ≤ dz ⇔ Cz(ABx + Apz0) ≤ dz
⇔ Cz AB︸ ︷︷ ︸C ′x
x ≤ dz − CzApz0︸ ︷︷ ︸d ′x
⇒ Concatenam constrangerile pe intrare:
Cuui ≤ du ∀i = 0, · · · ,N − 1 ⇔ C ′′x x ≤ d ′′
x ,
unde C ′′x = diag (Cu, · · · ,Cu) si d
′′x = [dT
u · · · dTu ]T
Formulare QP densa⇒ Formularea problemei de control optimal pe orizont finit densa(cu eliminarea starilor):
minx∈RNnu
1
2xTQx + qT x
s.l. Cxx ≤ dx ,
unde Cx = [(C ′x)
T (C ′′x )
T ]T si dx = [(d ′x)
T (d ′′x )
T ]T
⇒ Notand Q = diag(Q1, · · · ,QN) si R = diag(R0, · · · ,RN−1),atunci functia obiectiv devine:N∑i=1
(∥zi − z refi ∥2Qi
+ ∥ui−1 − urefi−1∥2Ri−1
)= (ABx+Apz0−z ref )T Q(ABx+Apz0−z ref ) + (x−uref )T R(x−uref )
unde reamintim ca x=[uT0 · · · uTN−1]T , z ref =[(z ref1 )T · · · (z refN )T ]T
si uref = [(urefo )T · · · (urefN−1)T ]T
⇒ Forma particulara de programare patratica avand numaiconstrangeri de inegalitate (matrici dense)
Urmarirea traiectoriei cu un robot E-Puck
Robot E-puck
I microcontrolerdsPIC30 (16-bit)
I Bluetooth
I senzori infrarosu
I camera video CMOS(rezolutie 640× 480)
I senzor ultrasunete
I accelerometru 3D.
• Dezvoltat de EPFL (detalii: www.e-puck.org)• Laboratorul de “Optimizare si Control Distribuit” al Depart.ACSE are 4 roboti si masa speciala pentru teste (Sala ED205)
Urmarirea traiectoriei cu un robot E-Puck
• Model continuu liniar simplificat al robotului E-Puck(restrictionat la deplasarea ınainte):
y=ru12
+ru22
,
θ=ru12l
− ru22l
,
• y distanta parcursa, θ unghiul de viraj, r raza rotilor, l distantaroata-centru de greutate, u1 si u2 vitezele unghiulare ale rotilor.
• Notand starea z = [y θ]T si intrarea u = [u1 u2]T avem:
z = Azz + Buu,
unde Az = 0 ∈ R2×2 si Bu =
[r2
r2
r2l − r
2l
].
• Discretizam formularea continua prin metoda Euler
Urmarirea traiectoriei cu un robot E-Puck
Pentru pasul de discretizare ∆t avem
zt+1 =(I2 −∆tAz
)zt +∆tBuut ,
Alegem ∆t = 0.5 sec si obtinem:
zt+1 = Azzt + Buut , unde Az = I2 −1
2Az , Bu =
1
2Bu.
Problema de control optimal:Urmarirea unei traiectorii sinusoidale z reft = [y reft , θreft ]T :
Urmarirea traiectoriei cu un robot E-Puck• Formulare QP rara a problemei de MPC de orizont N = 2:
minzi ,ui
1
2(z − z ref)T Q(z − z ref) +
1
2uT Ru
s.l.: z1 = Azz0 + Buu0, z2 = Azz1 + Buu1,
umin ≤ u0 ≤ umax, umin ≤ u1 ≤ umax,
unde z=[z1 z2], u=[u0 u1], Q=diag(I2, I2), R=diag(0.1I2, 0.1I2).
• Reformulam urmatorul QP in variabila x = [uT0 zT1 uT1 zT2 ]T :
minx
1
2xT
0.1 ∗ I2 0 0 0
0 I2 0 00 0 0.1 ∗ I2 00 0 0 I2
x − [0 (z ref1 )T 0 (z ref2 )T ]x
s.l.:
[−Bu I2 0 00 −Az −Bu I2
]x=
[−Azz0
0
],
I2 0 0 0−I2 0 0 00 0 I2 00 0 −I2 0
x=umax
−umin
umax
−umin
Urmarirea traiectoriei cu un robot E-Puck
Metoda de punct interior presupune transformarea echivalenta aproblemei QP intr-una fara inegalitati:
minx
1
2xTQx + qT x − τ
8∑j=1
log(dj − Cjx) (1)
s.l.: Ax = b,
unde Cj reprezinta linia j a matricei C .Metoda de punct interior:
1. se dau un punct initial x strict fezabil, τ > 0, σ < 1, tolerantaϵ > 0 si parametrul m numarul de inegalitati;
2. cat timp mτ ≥ ϵ repeta:
(i) calculeaza x(τ) ca solutie a problemei (1) pornind din x ;(ii) actualizeaza x = x(τ) si τ = στ .
Urmarirea traiectoriei cu un robot E-Puck
0 20 40 60 80 100−1.5
−1
−0.5
0
0.5
1
1.5
t
Trai
ecto
rie
Pozitia zReferinta
0 20 40 60 80 100−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
t
Intra
ri op
time
(u1, u
2)
viteza unghiulara 1viteza unghiulara 2
Control optimal pentru pendulul invers
Formulam problema de control optimal a mentinerii pendululuiinvers in pozitie verticala
Structura:
I suport de masa M;I pendul format din
I bila de masa m;I tija de lungime l ;
Vectorul de stare z ∈ R4 se compune din: z1 = θ unghiul tijei cuverticala, z2 = θ viteza unghiulara, z3 pozitia pendulului(suportului) pe axa Ox , z4 viteza sa.
Control optimal pentru pendulul invers
Modelul liniar discret al sistemului
zt+1 = Azzt + Buut ,
unde ut ∈ R reprezinta corectia deplasarii orizontale,
Az =
1.0259 0.504 0 01.0389 1.0259 0 0−0.0006 0 1 0.05−0.0247 −0.0006 0 1
Bu =
−0.0013−0.05040.00060.025
.
Obiectiv: mentinerea tijei suficient de aproape de verticala (in oricemoment avem −10 ≤ z1 = θ ≤ 10); reprezinta constrangeri pestare ale sistemului.
Control optimal pentru pendulul invers
Considerand z reft = ureft = 0 pentru orice t ≥ 0, formulamproblema de control optimal pe un orizont finit N:
minzi ,ui
N∑i=1
1
2zTi Q0zi +
N−1∑i=0
1
2R0u
2i
s.l.: z0 = z , zi+1 = Azzi + Buui
θmin ≤ (zi )1 ≤ θmax ∀i = 0, . . . ,N − 1,
unde z este starea initiala a pendulului, iar matricele din cost
Q0 =
1 0 0 00 0.01 0 00 0 1 00 0 0 0.01
si R0 = 10.
Control optimal pentru pendulul invers
Formularea (QP) rara fara eliminarea starilor:
minx
1
2xTQx
s.l.: Ax = b, Cx ≤ d ,
unde Q = diag(R0,Q0, . . . ,R0,Q0) si daca definim
Cz =
[1 0 0 0−1 0 0 0
]& dz = [θmax − θmin]
T , atunci
C =
0 Cz 0 0 . . . 00 0 0 Cz . . . 0...
......
......
...0 0 0 0 . . . Cz
, d =
dzdz...dz
Pentru rezolvare utilizam metoda de punct interior!
Control optimal pentru pendulul invers
Traiectoria unghiului θ pentru un orizont de predictie N = 25.
0 5 10 15 20 25−0.25
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
0.25un
ghiu
l(Θ)
t
⇒ Observam ca la pasul t = 2 constrangerea pe unghi este activasi dupa pasul t = 15 unghiul tijei cu axa verticala devine θ = 0.
Problema Google (ierarhizarea paginilor web)
An vs. Numar pagini webhttp://www.internetlivestats.com/
I Doar in 2013, numarul paginilor web a crescut cu 30%;
I Problema centrala a motoarelor de cautare:selectia/ierarhizarea (“ranking”-ul) surselor de informatiefunctie de relevanta raportata la obiectul cautat.
Problema Google - Formularea algebricaI PageRank: clasificarea unui numar urias de pagini web;I Reteaua paginilor se reprezinta prin intermediul unui graf
ponderat orientat, unde nod ≡ pagina, iar muchie ≡ link.I Ponderea pij = probabilitatea ca la o navigare aleatorie sa se
ajunga din pagina i in pagina j .I Matrice de adiacenta E ∈ Rn×n: Eij = pij > 0 daca intre i si j
exista muchie sau Eij = 0 daca i si j nu sunt legate.I Matricea E este stocastica pe coloane (i.e.
∑nj=1 Eij = 1 ∀i),
deci valoarea proprie maxima in modul este 1;I Determinati vectorul propriu x ∈ Rn astfel incat
Ex = x , eT x = 1, x ≥ 0 (x vectorul probabilitatilor deaccesare pagina i)
Problema Google - Problema de optimizareFormulare ca problema de optimizare QP:
minx∈Rn
1
2∥Ex − x∥2
s.l.: eT x = 1, x ≥ 0,
unde e = [1 . . . 1]T .
Formulare echivalenta neconstransa via penalitate (alegandτ > 0 suficient de mare):
minx∈Rn
1
2∥Ex − x∥2 + τ
2(eT x − 1)2.
I Pe baza teoremei Peron-Frobenius, asiguram constrangerile deinegalitate x ≥ 0 in cazul neconstrans.
I Uzual n ≈ 108 − 109, restrange aplicabilitatea algoritmilor lacei de ordinul I ( datorita complexitatii scazute per iteratie).
I Aplicam Metoda de Gradient Proiectat pentru rezolvareaambelor formulari.
Problema Google
(i) Formularea constransa:
minx∈Rn
1
2∥Ex − x∥2
s.l.: eT x = 1, x ≥ 0,
Metoda de Gradient Proiectat: xk+1 = [xk − α∇f (xk)](In,∆n),
∆n=x : eT x = 1, x ≥ 0 si α > 0.
0 5 10 15 20 250
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Iteratii (k)
k
Convergenta metodei degradient proiectat
(n = 102).
Pentru proiectia pe multimeasimplex ∆n aplicam algo-ritmi cu convergenta in timpliniar(necesita O(n) operatii).
Problema Google(ii) Formularea neconstransa:
minx∈Rn
1
2∥Ex − x∥2 + τ
2(eT x − 1)2.
Metoda Gradient: xk+1 = xk − α∇F (xk , τ)
0 0.5 1 1.5 2 2.5 3 3.5 4
x 104
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Iteratii (k)
k
0 1 2 3 4 5x 10
4
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Iteratii (k)
f(x
k)
− f
τ=5
τ=10
τ=15
τ=30
τ=50
Curba de convergenta a metodei de gradient pentru problemaGoogle cu n = 103, τ = 50 (stanga); dependenta convergentei de
parametrul τ (n = 103) (dreapta).
Invatare automata - Clasificare de imaginiTehnicile de clasificare (“pattern recognition”) se ocupa cuidentificarea clasei din care un obiect studiat face parte.
I etapa de antrenare: se acumuleaza un set de observatii (sauinstante) cu apartenenta la categorii cunoscuta;
I etapa de clasificare: se dezvolta modele matematice(estimatoare) cu rolul de a clasifica un nou obiect cuapartenenta necunoscuta;
Aplicatii:
1. recunoasterea email-urilor de tip spam sau malware;
2. recunosterea vocii/fetei;
3. detectia de tipare in cadrul unei imagini;
4. recunoasterea scrisului de mana.
Tehnica Support Vector Machine - etapa de antrenare• Dispunem de un set de puncte recunoscute a priori: yimi=1 (e.g.puncte de culori diferite). Pentru fiecare punct yi cunoastem clasadin care face parte: ci cu valoarea +1 daca yi este de culoare rosiesau ci = −1 daca este de culoare albastra.• Principiu antrenare: Se determina un model matematic(hiperplan) H = y ∈ Rn : aT y = b astfel incat orice yi cesatiface aT yi ≤ b − ξ este de culoare rosie, iar daca aT yi ≥ b + ξeste de culoare albastra.• Presupunem ca datele yimi=1 sunt liniar separabile si selectamdoua hiperplane marginale descrise de: aT y − b = 1 siaT y − b = −1 ce nu contin puncte intre ele.• Problema: Determinati (a, b) ce maximizeaza distanta dintrecele doua hiperplane, descrisa de 2/∥a∥.
Tehnica Support Vector MachineEtapa de antrenare se reduce la problema de optimizare:
mina∈Rn,b∈R
1
2∥a∥2
s.l.: ci
(aT yi − b
)≥ 1 ∀i = 1, . . . ,m,
unde a si b reprezinta parametrii hiperplanului, iar ci indica clasa(culoarea) obiectului yi .
⇒ Problema de optimizare convexa patratica avand numaiconstrangeri de inegalitate ⇒ metodele de optimizare constransapot fi utilizate (e.g. metoda gradient proiectat - dificil de proiectatpe un set mare de semispatii; metoda de punct interior, etc...)
⇒ Principiu clasificare: Hiperplanul cu parametrii (a, b), obtinutin etapa de antrenare, se utilizeaza pentru identificarea unui nouobiect z ; daca aT z ≤ b atunci obiectul apartine clasei 1, altfeldaca aT z ≥ b apartine clasei 2.
Aplicarea tehnicii SVM in recunoasterea de imagini
• Reprezentarea numerica a imaginilor: fiecare pixel este definit deo valoare (e.g. intre 0 si 256) ce contine culoarea acestuia.• Consideram imagini mono-colore de dim. 7× 7 ale cifrei 7 undepixelii sunt reprezentati de nivele de gri cu valori intre 0 si 5.• Problema: Determinati daca intr-o imagine data se afla cifra 7.• Etapa de antrenare: acumulam un set de imagini de antrenareale cifrei 7 in diferite pozitii (clasa I) si imagini aleatorii completdiferite de cifra 7 (clasa II).• Imaginii i se asociaza un vector yi ∈ N49 (cu valori intre 0 si 5) siindexul ci al clasei (daca ci = 1 atunci contine cifra 7, dacaci = −1 atunci imaginea este aleatorie).
Aplicarea tehnicii SVM in recunoasterea de imagini• Determinam hiperplanul optim cu parametrii (a, b)Etapa de clasificare:• Pentru imaginile de test (de mai jos) calculam valoareahiperplanului:
aT y − b
< 0, atunci imaginea data de y nu contine cifra 7;
≥ 0, atunci imaginea data de y contine cifra 7.
Rezultate
I clasificarea unui set de imagini aleatorii cu densitate mare depixeli gri si respectiv, imagini cu cifra 7 transformata in diversemoduri (translatie la stanga/dreapta, inclinare, etc.) atinge orata de succes (recunoastere corecta) de aproximativ 80%;
I clasificarea unui set de imagini aleatorii cu densitate mica sirespectiv, imagini cu cifra 7 transformata in diverse moduri(translatie la stanga/dreapta, inclinare), atunci rezulta o ratade succes de aproximativ 52%.
⇒ Obtinem o rata mai mica de succes in cel de-al doilea caz dindoua motive:
(i) similaritatea ridicata intre imaginile cu densitate mica si celece contin cifra 7;
(ii) numarul relativ mic de imagini de antrenare.
Regresie liniara• Se dau urmatoarele:
I functii f1, · · · , fn numiti regresori sau functii de baza
I date sau masuratori (ui , bi ) ∀i = 1, . . . ,m (de obicei m ≫ n)
• Problema: gasiti coeficientii reali x1, · · · xn s.t.
bi = x1f1(u1) + · · ·+ xnfn(u1) ∀i = 1, · · · ,m
• Fie A ∈ Rm×n, Aij = fj(ui ), obtinem problema de optimizare:
minx∈Rn
m∑i=1
(x1f1(ui ) + · · ·+ xnfn(ui )− bi )2 = ∥Ax − b∥2.
• Solutia problemei de optimizare (cmmp) minx∈Rn ∥Ax − b∥2:I A patratica si inversabila, atunci solutie unica
I A cu n ≫ m (subdeterminata) - o infinitate de solutii
I A cu m ≫ n (supradeterminata) - nici o solutie, atunci secauta solutia care minimizeaza expresia patratica (CMMP)
Regresie liniara
• Solutia problemei de optimizare (cmmp):
minx∈Rn
∥Ax − b∥2
Orice algoritm de optimizare neconstransa (metoda gradient saugradientilor conjugati, metoda Newton, etc) poate fi utilizat!
I metoda gradientilor conjugati determina solutia in n iteratiidaca A inversabila sau rang intreg pe coloane - una din celemai folosite metode pentru rezolvarea acestor tipuri deprobleme (vezi si cursul de MN unde ati utilizat metodele LUsau QR - neiterative)
I metoda gradient poate fi si ea utilizata (daca matricea A arerang intreg pe coloane, atunci obtinem convergenta liniara,altfel subliniara)
I metoda Newton produce solutia intr-o singura iteratie cand sepoate utiliza (A inversabila sau rang intreg pe coloane)
Regresie liniara 1 - fitting-ul unui polinom
• Problema: fitting un polinom de grad < n
p(t) = x0 + x1t + · · ·+ xn−1tn−1
la datele (ti , bi ), i = 1, · · · ,mI functii de baza pj(t) = t j−1 pentru j = 1, · · · , nI matricea A cu intrarile Aij = t j−1
i (matrice Vandermonde)
A =
1 t1 t21 · · · tn−1
1
1 t2 t22 · · · tn−12
......
......
...1 tm t2m · · · tn−1
m
• Exemplu: aproximam functia f (t) = 4t
1+10t2cu un polinom pe
intervalul [0, 1] avand la dispozitie 100 de date
Regresie liniara 1 - fitting-ul unui polinom
I Regresie liniara (A ∈ R100×d) cu polinoame de gradd = 1, 2, 3, 4 avand eroarea∥Ax∗ − b∥ = 0.135, 0.076, 0.025, 0.005
I Linie continua g(t), linie punctate pd(t) pe [0, 1]
Regresie liniara 2 - identificarea sistemelorConsideram un sistem intrare-iesire:
Pentru sistemul considerat dispunem de 40 de masuratoriintrare-iesire u(t), y(t):
15 20 25 30 35 40
t0 5 10 15 20 25 30 35 40
2.5
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
t
y(t)
Regresie liniara 2 - identificarea sistemelorDorim sa aproximam sistemul printr-un model intrare-iesire deforma ARMA:
ymodel(t) = x1u(t)+x2u(t−1)+x3u(t−2)+x4u(t−3)+x5u(t−4).
Determinarea setului de parametri x = [x1 · · · x5]T ai modeluluipoate fi realizata prin rezolvarea unei probleme patraticeneconstranse:
minx∈R5
∥Ax − b∥2 cu A ∈ R36×5
b = [y(5) y(6) · · · y(40)]T
A =
u(5) u(4) u(3) u(2) u(1)u(6) u(5) u(4) u(3) u(2)u(7) u(6) u(5) u(4) u(3)...
......
......
u(40) u(39) u(38) u(37) u(36)
Regresie liniara 2 - identificarea sistemelorRaspunsul modelului estimat:
5 10 15 20 25 30 35 40
Raspunsul estimat si raspunsul real
model(t)
(t)
Reconstructie tomografica
Tomografie computerizata = tehnica noninvaziva ce folosesteraze X (sau alte tipuri de radiatii) pentru a produce imagini 2D/3Dale interiorului obiectului scanat.Procedura de functionare:
1. Se achizitioneaza o serie deproiectii, din diferite unghiuri,ale obiectului scanat;
www.merckmanuals.com
2. Prin intermediul proiecti-ilor obtinute, se reconstruiesteinteriorul obiectului cu ajutorulunui algoritm iterativ;
www.mathworks.com
In majoritatea cazurilor, radiatiile folosite sunt daunatoare; deaceea se urmareste achizitionarea unui numar minim de proiectii.
Reconstructie tomografica - formularea problemei• Fie x ∈ Rn imaginea interiorului de reconstruit.• Pentru reconstructie, dispunem de diferite masuratori liniare(proiectii) ale imaginii x : bi = Aix , i = 1, · · · ,m.• Notam vectorul proiectiilor b ∈ Rm si A = [AT
1 · · ·ATm]
T ∈ Rm×n
matricea de achizitie.• Imaginea interiorului reprezinta solutia sistemului liniar(subdeterminat deoarece sunt mai putine masuratori m decatdimensiunea imaginii n): Ax = b.• Reformulare in termeni de problema CMMP:
minx∈Rn: Ax=b
∥x∥α
unde de obicei se alege α = 2 sau α = 0 sau α = 1. Alegemα = 0 ∨ 1 pentru a induce o reprezentare rara a imaginii (vectorulsolutie). Se doreste o reprezentare rara a imaginii, deoareceaceasta permite: compresie usoara; algoritmi rapizi pt. procesare;memorie de stocare mica; eliminarea usoara a zgomotului;...• Pentru rezolvare, cu α = 2, se poate utiliza metoda gradient saumetoda gradientilor conjugati!
Raritate in solutie - cazul vectorDefinim o masura a raritatii ∥x∥0 =/ i : xi = 0 si ∥x∥1 =
∑i |xi |
si apoi problemele de optimizare asociata sistemului Ax = b:
minx∈Rn
∥x∥0 s.l. Ax = b =⇒︸︷︷︸relaxare convexa
minx∈Rn
∥x∥1 s.l. Ax = b
• Mutual coherence: µ(A) = max1≤k,j≤m, k =j
|aTk aj |∥ak∥2∥aj∥2
Pentru o matrice A cu rang intreg pe linii (i.e. m < n), daca existao solutie x∗ satisfacand relatia:
∥x∗∥0 <1
2
(1 +
1
µ(A)
)atunci x∗ este solutie pentru amandoua problemele de optimizare!
• Restricted Isometry Property (RIP): matricea A ∈ Rm×n areRIP(δ, k) daca orice submatrice AI (obtinute din combinarea a celmult k coloane din A) are toate valorile singulare marginite intre1− δ si 1 + δ. Pentru matricea A cu RIP(0.41, 2k) avem ca celedoua probleme de mai sus au aceeasi multime de solutii pemultimea vectorilor de raritate k (Candes & Tao 2005).
Raritate in solutie - relaxarea convexa
minx∈Rn
fτ (x) (= f (x) + τ∥x∥1) ⇒ f diferentiabila
Exemplu: sparse data fitting (aproximarea unui set de date cufunctie liniara): set de date (ai , bi ) a.i. bi depinde linear de ai :
bi = aTi x + ei ∀i = 1 : m
cu ei o eroare datorata procesului de sampling ⇒ e.g. CMMP rar
minx∈Rn
fτ (x) (= ∥Ax − b∥2 + τ∥x∥1) ⇒ A ∈ Rm×n rara
Aplicatii:I Magnetic Resonance Imaging (MRI): instrument medical
imagistic folosit pt. scana anatomia si fiziologia unui organismI Image inpainting: technica de reconstructie imagini degradateI Image deblurring: instrument de procesare imagine pt
indeparta neclaritatea cauzate de fenomene naturale (miscare)I Genome-Wide Association study (GWA): comparare ADN
intre 2 grupuri de persoane (cu/fara o boala), in scopul de ainvestiga factorii de care depinde o boala
I Estimarea temperaturii globale pe baza datelor istorice
Raritate in solutie - metode pt. relaxarea convexa
minx∈Rn
fτ (x) (= f (x) + τ∥x∥1) ⇒ f diferentiabila
Aproximam f cu o functie patratica si pastram nealterat τ∥x∥1:
xk+1=arg minx∈Rn
qτ (x ; xk)(= f (xk)+⟨∇f (xk), x−xk⟩+1
2∥x−xk∥2Hk
+τ∥x∥1)
I Hk = LIn unde L constanta Lipschitz a lui ∇f ⇒ metodagradient (accelerat): Nesterov’07
I Hk = diag(L1, · · · , Ln), unde Li constanta Lipschitz a lui ∇i f⇒ metoda gradient pe coordonate: Nesterov’10, Necoara’11
I Hk = ∇2f (xk) si inlocuieste functia nediferentiabila ∥x∥1 cu
aproximarea diferentiabila (Huber) |xi | ↔√
x2i + µ2 − µ ⇒metoda Newton: Gondzio’15
Probleme de data fitting cer analiza Big Data (terabytes of data):trilioane de varibile (n) ⇒ Cray XC30 MPP supercomputer(ARCHER in Edinburgh este al 25-lea in top 500): 118.080 corescu performanta 1.642 TFlops/s on LINPACK benchmark.
Raritate in date si solutie: rezultate (Gondzio’15)ARCHER in Edinburgh (25 in top 500): n = 1012 (dim. trilion)
Comparatie metode: gradient pe coordonate paralel (PCDM),gradient accelerat (FISTA), Newton (pdNCG) cu gradient conjugatpt. rezolvare aproximativa sistem liniar si quasi-Newton (PSSgb)
Raritate in solutie - cazul matriceDefinim o masura a raritatii ∥X∥0 = rang(X ) si ∥X∥∗ =
∑i σi si
problemele de optimizare asociate functiei liniare A : Rm×n → Rp:
minX∈Rm×n
∥X∥0 s.l. A(X ) = b =⇒︸︷︷︸relaxare convexa
minX∈Rm×n
∥X∥∗ s.l. A(X ) = b
• Restricted Isometry Property de ordin r : cea mai micaconstanta δr (A) a.i. pt. orice matrice X de rang cel mult r avem:
1− δr (A) ≤ ∥A(X )∥∥X∥F
≤ 1 + δr (A)
• Presupunem ca δ2r < 1 pentru un intreg r ≥ 1. Atunci unicasolutie a problemei originale neconvexe este matricea de rang celmult r satisfacand A(X ) = b.
• Presupunem ca r ≥ 1 satisface δ5r < 0.1, atunci cele douaprobleme de mai sus (cea originala si relaxarea ei convexa) auaceeasi solutie optima (Recht & Parrilo 2010).
Matrix completion folosind DVS-ulI se da o matrice X cu elemente lipsa (e.g. o imagine)I se presupune ca matricea X este de rang scazutI scopul este sa se gaseasca elementele lipsa din XI pentru a impune rang mic asupra unei matrici se foloseste
nuclear norm ∥ · ∥∗: daca A are descompunerea DVSA =
∑ri=1 σiuiv
Ti , atunci ∥A∥∗ =
∑ri=1 σi
I problema se pune astfel:
minX∈Rm×n
rang(X ) =⇒︸︷︷︸relaxare convexa
minX∈Rm×n
∥X∥∗
s.l.: Xij = Aij ∀i , j ∈ S s.l.: Xij = Aij ∀i , j ∈ S
unde se dau valorile Aij cu (i , j) ∈ S o submultime aelementelor matricei cautate
I relaxarea convexa se poate scrie ca un SDP:
minX ,W1,W2
tr(W1) + tr(W2)
s.l.: Xij = Aij ∀i , j ∈ S ,
[W1 XXT W2
]≽ 0
Matrix completion - aplicare in recuperarea de imagine
imaginea data (40% elemente lipsa) si imaginea recuperata
Compresia semnalelor
Video, sunet sau imagine, depind de marime si rezolutie, si decipot ocupa mult spatiu pentru a le stoca sau transmite. E.g.,compresia de imagine se imparte in 2 clase: lossless si lossy.
I compresia lossless: toata informatia fisierului original poate firecuperata dupa decompresie (formatul GIF este un exemplu),important in documente text unde pierderea de informatieduce la imposibilitarea citirii textului.
I compresia lossy: informatia redundanta este permanentstearsa (formatul JPEG este un exemplu), important in fisiereunde o pierdere de informatie mica este imposibil de detectatde om.
Exista multe posibilitati de compresie a semnalelor, dar avantajuloferit de DVS consta in flexibilitatea sa, deoarece poate actiona peorice matrice de dimensiune m × n.
Procesare de imagini
In general, procesele ingineresti implica achizitia/ prelucrarea/comunicatia unui numar de semnale/date.
Problema majora:modificari nedorite ale semnalelor (zgomot) rezultate din:
I Achizitia semnalelor (e.g. imagine, video, audio)
I Comunicatii imperfecte
Exemplu: semnale cu detalii excesive au variatie totala mare (i.e.integrala gradientului absolut al semnalului este mare) =⇒reducerea zgomotului echivalenta cu reducerea variatiei totale
Procesare de imagini
I Recuperarea perfecta a semnalului original este imposibila
I Concluzie: cautam “cea mai buna” aproximare a imaginiicorupte
I Aproximarea se determina utilizand algoritmi de optimizare(pentru niveluri rezonabile de zgomot avem recuperare“aproape” perfecta)
Modelare pentru semnale 2D (tip imagine):
I Asociem imaginii o matrice X ∈ Rm×n sau un vector x ∈ Rmn
I Dimensiunile (m, n) reprezinta numarul de pixeli pe linii sicoloane.
I Ex.: Pentru o imagine cu dimensiuni 640× 480 pixeli asociemX ∈ R640×480.
Procesare de imagine - compresia imaginilorI O imagine se reprezinta numeric printr-o matrice !
Aproximare matrice cu matrice de rang mai mic via DVS:
I fie A ∈ Rm×n cu rang(A) = r si A = UΣV T =∑r
i=1 σiuivTi
I cautam matricea A avand rangul p < r a.i. A ≈ A, i.e.min
A:rangA≤p∥A− A∥
I solutie: A =∑p
i=1 σiuivTi , deci ∥A− A∥ =
∑ri=p+1 σiuiv
Ti
Demontratie: fie rang(B) ≤ p, deci dim Null(B) ≥ n − p. Apoi:dim Span v1, · · · , vp+1 = p + 1. Cele 2 spatii se intersecteaza:
∃z : ∥z∥ = 1, Bz = 0, z ∈ Spanv1, · · · , vp+1
(A− B)z = Az =
p+1∑i=1
σiuivTi z =
p+1∑i=1
(σivTi z)ui (z ⊥ vp+2)
Cum uTi uj =δij avem ∥(A−B)z∥2=p+1∑i=1
σ2i (v
Ti z)2∥ui∥2≥σ2
p+1∥z∥2.
∥A− B∥ = max∥x∥=1
∥(A− B)x∥ ≥ ∥(A− B)z∥∥z∥=1
≥ σp+1 = ∥A− A∥
Compresia imaginilorFie imaginea originala 359×371 pixeli (Melancolia de Durer, 1514):
pe care o putem scrie ca o matrice A de dimensiune 359× 371(fiecare intrare (i , j) reprezinta intensitatea de gri a pixelului (i , j)cu valori intre 0 (negru) si 255 (alb)), care poate fi descompusa viaDVS ca:
A = UΣV T ,
unde U este 359× 359, Σ este 359× 371 si V este 371× 371.
Compresia imaginilorImaginea originala are 359×371 = 133.189 pixeli. Dar matricea Apoate fi scrisa ca suma de componente principale:
A = σ1u1vT1 + σ2u2v
T2 + · · ·+ σnunv
Tn ,
unde fiecare matrice uivTi (componenta principala) de rang 1 este
de marimea matricei originale A. Dar pentru ca valorile singulareσi sunt ordonate σ1 ≥ σ2 ≥ · · · ≥ σn ≥ 0, este posibila ocompresie semnificativa a imaginii atata timp cat spectrul valorilorsingulare are doar cateva intrari mari si restul sunt mici!
Spectrul lui A contine doar 100− 200 componente principale max.!
Compresia imaginilorPutem deci reconstrui fidel imaginea folosind doar o submultime decomponente principale. De exemplu, putem recupera o imagineasemenatoare cu doar 20 de componente principale folosindcomenzile din Matlab:
[U, S ,V ] = svd(A) si B = U(:, 1 : 20) S(1 : 20, 1 : 20) V (:, 1 : 20)
Imaginea B foloseste doar 10% din memoria imaginii A:
20× 359 + 20× 371 + 20 = 14.620 vs. 359× 371 = 133.189 pixeli
Compresia imaginilor
Putem recupera o imagine fidela cu doar 200 de componenteprincipale, in loc de 359 cat are imaginea originala (i.e. 50%informatie din imaginea originala):
[U, S ,V ]=svd(A) si B=U(:, 1 : 200) S(1 : 200, 1 : 200) V (:, 1 : 200)
Compresie tigruConsideram o imagine originala 500× 800 pixeli de rang 500.
I dispunerea valorilor singulare - prima figura (scala log).I putem observa (figura din dreapta) cata informatie este
detinuta in primele p valori singulare, facand raportul:
informatie % =
∑pi=1 σi∑500i=1 σi
.
In primele 50 valori singulare avem deja 70% din informatia aflatain imagine!
Compresie tigruDesi imaginea originala are 500× 800 pixeli, putem recupera oimagine fidela cu doar 50 de componente principale (10%)
Codul Matlab pt. compresie tigruI % citeste imaginea si transform-o in negru si alb:
tiger = rgb2gray(imread(tiger.jpg));I % resample imaginea:
tiger = im2double(imresize(tiger, 0.5));I % calculeaza DVS-ul imaginii:
[U, S ,V ] = svd(tiger);I % reprezinta valorile singulare (scala log) si informatie %:
sigmas = diag(S); plot(log(sigmas));plot(cumsum(sigmas)/sum(sigmas));
I % arata imaginea originala:imshow(tiger);
I % calculeaza aproximarile de rang mai mic:ranks = [200, 100, 50, 30, 20, 10, 3]; ns = length(sigmas);for i = 1:length(ranks)approxsigmas = sigmas; approxsigmas(ranks(i) : end) = 0;approxS = S ; approxS(1 : ns, 1 : ns) = diag(approxsigmas);
I % calculeaza matricele de rang mai mic si ploteaza:approxtiger = U approxS V ; imshow(approxtiger )
Compresie Lena
Desi imaginea originala (faimoasa si frumoasa Lena :)) are600× 600 pixeli, putem recupera o imagine fidela cu doar 30 decomponente principale (20% din datele imaginii originale):
Bafta la examen!
ORICE STUDENT INTERESAT in ASTFEL de SUBIECTE siAPLICATII sa MA CONTACTEZE PENTRU o COLABORARE
(LICENTA, MASTER, DOCTORAT)!