Introduzione all`ottimizzazione nonlineare

Transcript

Introduzione all`ottimizzazione nonlineare
Introduzione all’ottimizzazione
nonlineare
Introduzione all’ottimizzazione nonlineare – p. 1/82
Definizione del problema
min f (x)
x ∈ Rn
ci (x) = 0 i ∈ K1
ci (x) ≥ 0 i ∈ K2
Introduzione all’ottimizzazione nonlineare – p. 2/82
Definizioni
f viene detta funzione obiettivo.
L’insieme

n

x
∈
R

S=
ci (x) = 0 i ∈ K1

 c (x) ≥ 0 i ∈ K
i
2





viene detto regione ammissibile del problema.
Introduzione all’ottimizzazione nonlineare – p. 3/82
Ipotesi
Supporremo che:
f, ci ∈ C 2 (ipotesi di differenziabilità);
almeno una tra le funzioni f, ci , i ∈ K1 ∪ K2 è non
lineare (ipotesi di nonlinearità).
Il caso in cui f e ci , i ∈ K1 ∪ K2 sono tutte funzioni lineari
corrisponde alla classe dei problemi di Programmazione
Lineare.
Introduzione all’ottimizzazione nonlineare – p. 4/82
Altre definizioni
Minimo globale:
un punto x∗ ∈ S tale che:
f (x∗ ) ≤ f (x) ∀ x ∈ S.
Minimo locale forte:
un punto x∗ tale che per qualche δ > 0:
f (x∗ ) < f (x) ∀ x ∈ S ∩ {x : kx − x∗ k2 ≤ δ}, x 6= x∗ .
Minimo locale debole:
un punto x∗ tale che per qualche δ > 0:
f (x∗ ) ≤ f (x) ∀ x ∈ S ∩ {x : kx − x∗ k2 ≤ δ}
e x∗ non è un minimo locale forte.
Introduzione all’ottimizzazione nonlineare – p. 5/82
Casi possibili
non esitono minimi locali e/o globali perché la funzione
è illimitata inferiormente. Esempio: f (x) = x3 , S = R;
esitono minimi locali ma non minimi globali perché la
funzione è illimitata inferiormente.√Esempio:
f (x) = x3 − x, S = R dove x′ = 1/ 3 è minimo locale
ma non globale.
non esitono minimi locali e/o globali anche se la
funzione è limitata inferiormente. Esempio: f (x) = e−x ,
S=R
un minimo globale (e quindi anche locale) esiste
certamente se:
S è compatto (chiuso e limitato);
f continua.
(teorema di Weierstrass).
Introduzione all’ottimizzazione nonlineare – p. 6/82
Complessità
Possiamo aspettarci che l’identificazione di ottimi globali sia
un problema non semplice.
Ma la teoria ci dice che le cose sono anche più complicate.
Introduzione all’ottimizzazione nonlineare – p. 7/82
Complessità
Introduciamo il problema N P - completo SUBSET SUM:
dati gli interi positivi d0 , d1 , . . . , dn , ci chiediamo se esiste
una soluzione del sistema
Pn
j=1 dj yj = d0
yj ∈ {0, 1}
j = 1, . . . , n
In altre parole, si cerca di stabilire se esiste un sottinsieme
degli interi d1 , . . . , dn la cui somma è pari a d0 .
Introduzione all’ottimizzazione nonlineare – p. 8/82
Individuazione ottimo globale
Dai dati del subset problem deriviamo il seguente problema
con funzione obiettivo quadratica e vincoli box:
min
P
n
j=1 dj yj
0 ≤ yj ≤ 1
− d0
2
+
Pn
j=1 yj (1 − yj )
j = 1, . . . , n
Si ha che l’ottimo globale di questo problema ha valore
dell’obiettivo pari a 0 se e solo se il corrispondente
problema subset sum ammette soluzione.
Quindi, calcolare il minimo globale di un problema non
lineare è un problema difficile anche nel caso di funzioni
quadratiche e vincoli box.
Introduzione all’ottimizzazione nonlineare – p. 9/82
Ottimalità locale e illimitatezza
Se la difficoltà di individuare minimi globali era prevedibile,
un po’ meno lo è quella dei seguenti problemi:
nei problemi con e senza vincoli, stabilire se un dato
punto non è un punto di minimo locale è N P -completo;
nei problemi con e senza vincoli, stabilire se l’obiettivo
del problema è illimitato sulla regione ammissibile è
N P -completo.
Le cose vanno un po’ meglio se si impongono restrizioni
sulle funzioni f e ci .
Introduzione all’ottimizzazione nonlineare – p. 10/82
Definizione
Data una matrice simmetrica A di ordine n, diciamo che questa è semidefinita positiva se:
xT Ax ≥ 0
∀ x ∈ Rn .
Diciamo che questa è definita positiva se:
xT Ax > 0
∀ x ∈ Rn \ {0}.
Una matrice A è semidefinita (definita) positiva se e solo se tutti i suoi autovalori sono non
negativi (positivi) [data una matrice A, i suoi autovalori sono le radici della seguente
equazione det(A − λI) = 0 dove I è la matrice identica].
Infine, una matrice A è semidefinita positiva (definita positiva) se tutti i suoi minori principali
sono non negativi (positivi), dove i minori principali sono i determinanti di tutte le sottomatrici
quadrate ottenute da A rimuovendo un sottinsieme delle sue righe con le corrispondenti
colonne.
Introduzione all’ottimizzazione nonlineare – p. 11/82
Funzioni convesse e concave
Una funzione f si dice convessa se (condizioni equivalenti):
∀ x1 , x2 ∈ Rn , ∀ λ ∈ (0, 1) : f (λx1 + (1 − λ)x2 ) ≤ λf (x1 ) + (1 − λ)f (x2 );
∀ x1 , x2 ∈ Rn : f (x2 ) ≥ f (x1 ) + ∇f (x1 )T (x2 − x1 );
∀ x1 ∈ Rn : ∇2 f (x1 ) è semidefinita positiva.
Nel caso in cui le diseguaglianze siano strette si parla di funzione strettamente convessa.
Condizione sufficiente (ma non necessaria, vedi f (x) = x4 ) perché ci sia stretta convessità
è che l’Hessiano sia definito positivo.
Definiamo una funzione f concava (strettamente concava) se −f è convessa (strettamente
convessa).
Introduzione all’ottimizzazione nonlineare – p. 12/82
Programmazione Convessa (PC)
I problemi di Programmazione Convessa (PC) hanno la
seguente forma
min f (x)
x ∈ Rn
ci (x) ≥ 0 i ∈ K2
con f convessa e le ci , i ∈ K2 , concave. Si noti che i
problemi di PL sono una sottoclasse dei problemi di PC.
Introduzione all’ottimizzazione nonlineare – p. 13/82
Osservazione
I problemi PC appartengono alla classe P . Gli algoritmi di
complessità polinomiale che hanno consentito di stabilire
questo sono gli stessi (elissoide, punto interno) che hanno
permesso di catalogare nella classe P i problemi di PL.
Introduzione all’ottimizzazione nonlineare – p. 14/82
Problemi trattati
Nell’ambito del corso non potremo effettuare una trattazione
completa di tutti gli aspetti dei problemi di ottimizzazione
non lineare. Per questa ragione, nel seguito concentreremo
la nostra attenzione sul problema dell’individuazione di
minimi locali e, dal punto di vista algoritmico, ci
restringeremo ulteriormente ai problemi non vincolati.
Questo chiaramente rappresenta una restrizione rispetto ai
problemi generali introdotti sopra, sia perché non si discute
di possibili approcci (esatti o euristici) per l’individuazione di
minimi globali, sia perché si tralascia dal punto di vista
algoritmico la trattazione dei vincoli (per eventuali
approfondimenti su tali argomenti si rimanda a testi
specializzati).
Introduzione all’ottimizzazione nonlineare – p. 15/82
Tuttavia già la trattazione degli argomenti citati rappresenta
un’utile introduzione alle problematiche dell’ottimizzazione
non lineare, che possono poi venire utili anche per la
trattazione dei casi non trattati in questi appunti.
Introduzione all’ottimizzazione nonlineare – p. 16/82
Il caso non vincolato
Nel caso non vincolato gli insiemi K1 e K2 devono essere
entrambi vuoti.
Vedremo per prima cosa condizioni necessarie e sufficienti
di ottimalità locale per questo caso.
In seguito, passeremo alla descrizione di alcuni aprrocci
risolutivi.
Introduzione all’ottimizzazione nonlineare – p. 17/82
Alcuni risultati sui gradienti
Data f : Rn → R, si ha che
(
c
se f (x) = cT x + c0
∇f (x) =
Hx se f (x) = 21 xT Hx, H simmetrica
Dati xi : R →
Rni ,
Pk
i = 1, . . . , k , e f : R
i=1
ni
→ R, definiamo
g(λ) = f (x1 (λ), . . . , xk (λ)).
Per le regole delle derivate di funzioni composte si ha che:
T
k X
d
d
g=
xi ∇xi f
dλ
dλ
i=1
Introduzione all’ottimizzazione nonlineare – p. 18/82
In particolare ...
... per k = 1 e x(λ) = x0 + λs, ovvero
g(λ) = f (x0 + λs),
si ha
d
d
g=
x
dλ
dλ
T
∇x f = sT ∇x f
Introduzione all’ottimizzazione nonlineare – p. 19/82
Condizioni di ottimalità
Non è possibile la verifica di ottimalità locale sulla base
della definizione.
⇒ vengono ricavate delle condizioni di ottimalità locale.
Introduzione all’ottimizzazione nonlineare – p. 20/82
Condizione necessaria del primo ordine
Se x∗ è un minimo locale, allora
∇f (x∗ ) = 0
(condizione di stazionarietà).
Non è una condizione sufficiente. Esempio:
f (x) = −x2 ,
dove x̄ = 0 è un punto stazionario ma non è un minimo
locale (è un punto di massimo).
Introduzione all’ottimizzazione nonlineare – p. 21/82
Dimostrazione
Espansione in forma di Taylor attorno a x∗ :
f (x∗ + εp) = f (x∗ ) + ε∇f (x∗ )T p + o(ε).
Per assurdo, sia ∇f (x∗ ) 6= 0.
Allora esiste p tale che ∇f (x∗ )T p < 0 (esempio:
p = −∇f (x∗ )).
Quindi, per ε sufficientemente piccolo:
f (x∗ + εp) < f (x∗ ),
il che contraddice l’ottimalità locale di x∗ .
Introduzione all’ottimizzazione nonlineare – p. 22/82
Condizione necessaria del secondo ordine
Se x∗ è un minimo locale, allora:
∇f (x∗ ) = 0;
∇2 f (x∗ ) è semidefinita positiva.
Introduzione all’ottimizzazione nonlineare – p. 23/82
Dimostrazione
∇f (x∗ ) = 0 già dimostrato.
Quindi:
1 2 T 2
f (x + εp) = f (x ) + ε p ∇ f (x∗ )p + o(ε2 ).
2
∗
∗
Per assurdo, sia ∇2 f (x∗ ) non semidefinta positiva. Allora,
∃ p tale che
pT ∇2 f (x∗ )p < 0.
Quindi, per ε sufficientemente piccolo:
f (x∗ + εp) < f (x∗ ),
il che contraddice l’ottimalità locale di x∗ .
Introduzione all’ottimizzazione nonlineare – p. 24/82
La condizione non è sufficiente
Esempio: f (x) = x3 .
In x̄ = 0, la condizione è soddisfatta ma il punto non è di
minimo.
Introduzione all’ottimizzazione nonlineare – p. 25/82
Condizione sufficiente
Un punto x∗ che soddisfi le seguenti condizioni, è un
minimo locale forte:
∇f (x∗ ) = 0;
∇2 f (x∗ ) è definita positiva.
Introduzione all’ottimizzazione nonlineare – p. 26/82
Dimostrazione
Per ogni matrice definita positiva A, si ha che:
xT Ax ≥ λmin (A)kxk22 ,
dove λmin (A) > 0 è il più piccolo autovalore di A.
Da:
1 2 T 2
f (x + εp) = f (x ) + ε p ∇ f (x∗ )p + o(ε2 ).
2
segue che per ogni p tale che kpk2 = 1 e per ogni ε > 0
sufficientemente piccolo:
∗
∗
1 2
f (x + εp) ≥ f (x ) + ε λmin (∇2 f (x∗ )) + o(ε2 ) > f (x∗ ).
2
∗
∗
Introduzione all’ottimizzazione nonlineare – p. 27/82
Condizione non necessaria
Esempio: f (x) = x4 .
Il punto x∗ = 0 è di minimo locale forte, ma ∇2 f (0) non è
definita positiva.
Introduzione all’ottimizzazione nonlineare – p. 28/82
Condizione necessaria e sufficiente
Nel caso convesso la condizione di stazionarietà:
∇f (x∗ ) = 0,
è necessaria e sufficiente perché x∗ sia un minimo locale.
Introduzione all’ottimizzazione nonlineare – p. 29/82
Minimi locali ≡ minimi globali
Nel caso convesso, ogni minimo locale è anche globale.
Dimostrazione per assurdo: sia x∗ un minimo locale non
globale, ovvero ∃ x̄ tale che f (x̄) < f (x∗ ).
Allora ∀ λ ∈ (0, 1):
f (λx∗ + (1 − λ)x̄) ≤ λf (x∗ ) + (1 − λ)f (x̄) < f (x∗ ),
il che contraddice l’ottimalità locale di x∗ .
Introduzione all’ottimizzazione nonlineare – p. 30/82
Unicità del minimo
Nel caso strettamente convesso, se esiste un minimo
globale, esso è anche l’unico.
Dimostrazione per assurdo: siano x∗ , x̄, x∗ 6= x̄, due minimi
globali distinti. Si avrà che f (x̄) = f (x∗ ).
Inoltre, ∀ λ ∈ (0, 1):
f (λx∗ + (1 − λ)x̄) < λf (x∗ ) + (1 − λ)f (x̄) = f (x∗ ),
il che contraddice l’ottimalità globale di x∗ .
Introduzione all’ottimizzazione nonlineare – p. 31/82
Il caso quadratico
Sia data una funzione quadratica:
1 T
f (x) = x Qx + cT x,
2
dove Q può essere sempre presa simmetrica.
Si ha:
∇f (x) = Qx + c
∇2 f (x) = Q.
Quindi:
f convessa ⇔ Q semidefinita positiva;
f strettamente convessa ⇔ Q definita positiva.
Introduzione all’ottimizzazione nonlineare – p. 32/82
Ottimo unico del caso str. convesso
Nel caso quadratico strettamente convesso per individuare
l’unica soluzione ottima, basta imporre la condizione di
stazionarietà:
∇f (x∗ ) = 0 ovvero Qx∗ + c = 0,
da cui:
x∗ = −Q−1 c,
è l’unico ottimo locale e globale per questo problema.
Introduzione all’ottimizzazione nonlineare – p. 33/82
Algoritmi caso non vincolato
Due grandi categorie di metodi:
metodi linesearch;
metodi trust region.
Entrambi i metodi sono iterativi, ovvero generano una
sequenza {xk } di punti.
Introduzione all’ottimizzazione nonlineare – p. 34/82
Metodi linesearch
Schema generale:
Si individui una direzione di discesa dk (ovvero,
∇f (xk )T dk < 0);
Si individui, tramite una ricerca lungo la semiretta con
origine xk e direzione dk , uno scalare αk > 0 tale che
f (xk + αk dk ) < f (xk );
si ponga xk+1 = xk + αk dk e k = k + 1.
Diverse scelte di dk conducono ad algoritmi con proprietà di
convergenza diverse.
Introduzione all’ottimizzazione nonlineare – p. 35/82
Antigradiente
Nel metodo dell’antigradiente si sceglie come direzione di
discesa quella che garantisce la rapidità di discesa
massima, ovvero:
dk = −∇f (xk ).
Introduzione all’ottimizzazione nonlineare – p. 36/82
Newton
Nel metodo di Newton, si prende come direzione di discesa
il minimo (se esiste) della funzione quadratica ottenuta
dall’espansione in forma di Taylor di f attorno a xk troncata
al secondo ordine, ovvero
1 T 2
dk ∈ arg minn [f (xk ) + ∇f (xk ) d + d ∇ f (xk )d]
2
d∈R
T
o, equivalentemente:
dk = −[∇2 f (xk )]−1 ∇f (xk ).
non è detto che dk sia definita e, qualora lo sia,
che sia una direzione di discesa. Ma è certamente una
direzione di discesa nelle vicinanze di un minimo locale che
soddisfa le condizioni sufficienti del secondo ordine.
NOTA BENE:
Introduzione all’ottimizzazione nonlineare – p. 37/82
Quasi-Newton
Si utilizza un’approssimazione Bk dell’Hessiano ∇2 f (xk ):
dk = −[Bk ]−1 ∇f (xk ).
A ogni iterazione, l’approssimazione viene aggiornata in
modo che soddisfi alcune proprietà.
Introduzione all’ottimizzazione nonlineare – p. 38/82
Condizione quasi-newtoniana
Sia sk = xk+1 − xk e
∇f (xk+1 ) ≈ ∇f (xk ) + ∇2 f (xk )sk ,
l’espansione in forma di Taylor, troncata al primo ordine, del
gradiente della f attorno a xk .
Indicando con
∆k = ∇f (xk+1 ) − ∇f (xk ),
si richiederà quindi che:
Bk+1 sk = ∆k
Introduzione all’ottimizzazione nonlineare – p. 39/82
Inoltre...
... viene richiesto che:
Bk+1 sia simmetrica (come lo è l’Hessiano);
Bk+1 sia definita positiva (si garantisce che la direzione
di ricerca sia di discesa).
Tipicamente si cercano aggiornamenti "il più piccolo
possibile"’: Bk+1 − Bk è una matrice a rango molto basso
(uno o due).
Una scelta usuale è porre B0 = I (matrice identica), ovvero
il primo passo è lungo la direzione dell’antigradiente.
Introduzione all’ottimizzazione nonlineare – p. 40/82
Un esempio: BFGS
Bk+1
∆k ∆Tk
∇f (xk )∇f (xk )T
−
= Bk +
T
∇f (xk ) dk
αk ∆Tk dk
Esiste anche una versione limited-memory BFGS, utile per
problemi su larga scala, dove la matrice Bk non può essere
memorizzata per problemi di occupazione di memoria, ma
vengono memorizzati solo vettori che identificano un certo
numero limitato di aggiornamenti quasi-newtoniani rispetto
alla matrice identica.
Introduzione all’ottimizzazione nonlineare – p. 41/82
Convergenza globale
Dato un punto iniziale x0 , tutti i punti di accumulazione della sequenza {xk } sono punti
stazionari, ovvero
k∇f (xk )k → 0.
Si dimostra che vale se:
l’insieme di livello:
L(f (x0 )) = {x ∈ Rn : f (x) ≤ f (x0 )}
è chiuso e limitato;
a ogni iterazione si ha una "sufficiente" decrescita della funzione, cioè
f (xk ) − f (xk+1 ) è sufficientemente grande;
il passo compiuto xk+1 − xk è "sufficientemente" distante dall’ortogonalità rispetto al
gradiente ∇f (xk ).
Introduzione all’ottimizzazione nonlineare – p. 42/82
Condizioni di Armijo-Goldstein
Sono condizioni di "sufficiente decrescita".
Indicata con d la direzione di ricerca scelta, sia ᾱ il più piccolo valore per cui
f (xk + ᾱd) = f (xk ).
Per garantire una sufficiente decrescita, si vuole evitare un passo troppo vicino a 0 o troppo
vicino a ᾱ.
Si fissi un ρ ∈ (0, 1/2). Non troppo vicino a 0:
f (xk + αd) ≥ f (xk ) + α(1 − ρ)∇f (xk )T d
Non troppo vicino a ᾱ:
f (xk + αd) ≤ f (xk ) + αρ∇f (xk )T d
Quindi il passo αk soddisfa:
−ραk ∇f (xk )T d ≤ f (xk ) − f (xk + αk d) ≤ −(1 − ρ)αk ∇f (xk )T d
Introduzione all’ottimizzazione nonlineare – p. 43/82
Non ortogonalità rispetto al gradiente
Sia θk l’angolo tra il gradiente in xk e il passo sk = xk+1 − xk .
Si ha:
∇f (xk )T sk
.
cos(θk ) =
k∇f (xk )kksk k
Ipotesi:
∞
X
cos2 (θk ) = +∞,
k=1
cioè {θk } può convergere a π/2 ma deve farlo in modo
"sufficientemente" lento.
Introduzione all’ottimizzazione nonlineare – p. 44/82
Velocità di convergenza locale
Dato un minimo locale x e un punto x0 "sufficientemente"
vicino a x, la velocità di convergenza locale può essere:
lineare con coefficiente r < 1:
kxk+1 − xk/kxk − xk → r
superlineare:
kxk+1 − xk/kxk − xk → 0
quadratica:
kxk+1 − xk/kxk − xk2 → A > 0.
Introduzione all’ottimizzazione nonlineare – p. 45/82
Antigradiente
Il metodo dell’antigradiente ha velocità di convergenza
locale lineare.
Se applicato a una funzione quadratica strettamente
convessa f (x) = cT x + 1/2xT Hx, con H simmetrica definita
positiva e minimo in x∗ , si dimostra che
∗
| f (xk+1 ) − f (x ) |≤
λmax − λmin
λmax + λmin
2
| f (xk ) − f (x∗ ) |
dove λmax e λmin sono, rispettivamente, il massimo e il
minimo autovalore di H .
Si noti che se λmax /λmin è molto grande, la convergenza è
lineare ma molto lenta.
Introduzione all’ottimizzazione nonlineare – p. 46/82
Esempio
Si consideri la funzione
f (x, y) = M x2 + y 2 ,
con M > 0. Si può facilmente dimostrare che il punto di
ottimo locale e globale di questa funzione è l’origine (0, 0).
Prendiamo ora il punto
x0 = α(1/M, 1).
Il gradiente è ∇f (x, y) = (2M x, 2y) e quindi nel punto x0 la
direzione di ricerca è l’antigradiente −α(2, 2) e il nuovo
punto viene cercato lungo la semiretta:
α(1/M, 1) − λα(2, 2) λ ≥ 0.
Introduzione all’ottimizzazione nonlineare – p. 47/82
Continua
Possiamo facilmente trovare il minimo della funzione:
q(λ) = f (α(1/M − 2λ), α(1 − 2λ)) = M α2 (1/M − 2λ)2 + α2 (1 − 2λ)2 λ ≥ 0.
Il minimo è il valore λ0 =
punto x1 è il seguente:
1
M +1 ,
indipendente da α e il nuovo
M −1
x1 = α
(−1/M, 1).
M +1
Introduzione all’ottimizzazione nonlineare – p. 48/82
Continua
Con il nuovo punto si può ripetere quanto visto sopra e si
ottiene:
2
M −1
(1/M, 1),
x2 = α
M +1
Notando che
x2 =
M −1
M +1
2
x0 ,
alla 2k -esima iterazione avremo:
2k
M −1
x2k =
x0 , ∀ k ∈ N
M +1
Introduzione all’ottimizzazione nonlineare – p. 49/82
Continua
Questo ci dice che ad ogni iterazione la distanza dall’ottimo
(l’origine (0, 0)) viene ridotta del fattore
M −1
M +1
che al crescere di M tende a 1, confermando quindi che il
metodo dell’antigradiente ha convergenza locale lineare
con un coefficiente r che può essere reso arbitrariamente
vicino a 1.
Introduzione all’ottimizzazione nonlineare – p. 50/82
Newton e quasi-Newton
Sotto opportune ipotesi (in particolare si richiede che nel
minimo locale x l’Hessiano sia definito positivo), il metodo
di Newton ha velocità di convergenza locale quadratica.
D’altro canto non si ha alcuna garanzia di convergenza
globale (in certe iterazioni la direzione di discesa può non
essere definita).
Per i metodi quasi-newtoniani si riesce di solito a
dimostrare la convergenza superlineare.
Per il metodo BFGS si riesce a dimostrare:
la convergenza in al più n iterazioni su funzioni quadratiche, se si fanno ricerche lineari
esatte;
la convergenza globale per funzioni convesse, ma non per funzioni più generali .
Introduzione all’ottimizzazione nonlineare – p. 51/82
Caratterizzazione di Dennis-Morè
Data una sequenza {xA
k } generata da un metodo A,
indichiamo con
A
A
−
x
=
x
sA
k,
k+1
k
il passo all’iterazione k e con sN
k il passo che verrebbe
compiuto dal metodo di Newton.
Si dimostra che A ha convergenza superlineare se e solo
se
N
N
+
o(ks
=
s
sA
k k),
k
k
ovvero il passo è asintoticamente pari a quello di Newton.
Introduzione all’ottimizzazione nonlineare – p. 52/82
Metodi trust-region
Metodi iterativi in cui l’iterato successivo xk+1 viene
determinato risolvendo un opportuno sottoproblema basato
sull’iterato corrente xk .
Nel sottoproblema si minimizza un modello quadratico
Mk (x) che approssima f in una sfera centrata in xk e con
un certo raggio ρk :
x̃k ∈ arg
min
x : kx−xk k2 ≤ρk
Mk (x).
Quindi si pone
xk+1

 x
k
=
 x̃k
se f (x̃k ) ≥ f (xk )
altrimenti
Introduzione all’ottimizzazione nonlineare – p. 53/82
Modello quadratico
Una tipica scelta per il modello quadratico è:
1
Mk (x) = f (xk ) + ∇f (xk ) (x − xk ) + (x − xk )T Sk (x − xk ),
2
T
dove Sk coincide con ∇2 f (xk ) o è una sua approssimazione
(come nei metodi quasi-newtoniani).
Introduzione all’ottimizzazione nonlineare – p. 54/82
Aggiornamento raggio
A ogni iterazione il raggio ρk viene aggiornato in un nuovo
valore ρk+1 secondo le regole seguenti.
Sia
f (x̃k ) − f (xk )
rk =
,
Mk (x̃k ) − Mk (xk )
il rapporto tra la riduzione effettiva e quella sul modello.
Dati 0 < δ1 < δ2 < 1, 0 < γ1 < 1 < γ2 si pone:
ρk+1



 γ1 kx̃k − xk k
=
γ2 ρk



ρk
se rk < δ1
se rk > δ2 e kx̃k − xk k = ρk
altrimenti
In pratica, se il modello è affidabile, tendiamo a estendere
la regione in cui applicarlo, se non lo è la riduciamo.
Introduzione all’ottimizzazione nonlineare – p. 55/82
Risultati di convergenza
Sia {xk } la sequenza generata da un metodo trust region
con Sk = ∇2 f (xk ).
Se {xk } ⊆ B , dove B è un insieme limitato (ad esempio, se
l’insieme di livello L(f (x0 )) è limitato), allora esiste un punto
di accumulazione della sequenza che soddisfa le condizioni
necessarie del secondo ordine.
Se il punto di accumulazione soddisfa le condizioni
sufficienti del secondo ordine, allora la velocità di
convergenza locale è quadratica, rk → 1 e il vincolo
kx − xk k ≤ ρk diventa inattivo, ovvero
kx̃k − xk k < ρk
per k sufficientemente grande.
Introduzione all’ottimizzazione nonlineare – p. 56/82
Il caso vincolato
Introduzione all’ottimizzazione nonlineare – p. 57/82
Direzioni ammissibili
Sia x′ un punto ammissibile e {xk } una sequenza di punti
ammissibili convergente a x′ con
xk − x′ = δk sk ksk k = 1, δk → 0.
Sia sk → s. La direzione s viene detta direzione ammissibile
rispetto a x′ .
L’insieme delle direzioni ammissibili rispetto a x′ viene
indicato con
F (x′ ).
Introduzione all’ottimizzazione nonlineare – p. 58/82
Vincoli linearizzati
Sia
A(x′ ) = {i ∈ K2 : ci (x′ ) = 0},
l’insieme dei vincoli attivi in x′ (vincoli di diseguaglianza
soddisfatti come uguaglianza in x′ ).
Se linearizziamo i vincoli con un’espansione di Taylor
troncata al primo ordine attorno a x′ , questi avranno la
seguente forma:
∇ci (x′ )T (x − x′ ) = 0
i ∈ K1
ci (x′ ) + ∇ci (x′ )T (x − x′ ) ≥ 0
i ∈ K2
L’insieme F (x′ ) delle direzioni ammissibili dei vincoli
linearizzati è dato da tutte le direzioni s tali che
∇ci (x′ )T s = 0
i ∈ K1
∇ci (x′ )T s ≥ 0
i ∈ K2 ∩ A(x′ )
Introduzione all’ottimizzazione nonlineare – p. 59/82
′
′
Relazione tra F (x ) e F(x )
In generale si ha
F (x′ ) ⊇ F (x′ ).
con la possibilità che non valga l’uguaglianza.
Esempio con soli vincoli di uguaglianza:
c1 (x1 , x2 ) = (x1 − 1)2 + x22 − 1
c2 (x1 , x2 ) = (x1 + 1)2 + x22 − 1
Per x′ = (0, 0) ogni vettore (0, δ) è in F (x′ ) ma essendo x′
l’unico punto ammissibile, si ha che F (x′ ) è vuoto.
Introduzione all’ottimizzazione nonlineare – p. 60/82
Constraint qualification
Sotto opportune condizioni, dette constraint qualification,
vale l’uguaglianza.
Possibili condizioni:
tutti i vincoli ci sono lineari;
i gradienti ∇ci (x′ ) dei vincoli in K1 ∪ A(x′ ) sono tra loro
linearmente indipendenti.
Nell’esempio:
∇c1 (0, 0) = (−2, 0),
∇c2 (0, 0) = (2, 0)
non linearmente indipendenti.
Introduzione all’ottimizzazione nonlineare – p. 61/82
Condizione necessaria
Insieme direzioni di discesa in x′ :
D(x′ ) = {s : ∇f (x′ )T s < 0}.
Se x∗ è un minimo locale, allora
F (x∗ ) ∩ D(x∗ ) = ∅.
Se in x∗ valgono le constraint qualification, allora:
F (x∗ ) ∩ D(x∗ ) = ∅.
Introduzione all’ottimizzazione nonlineare – p. 62/82
Lemma di Farkas
Dati i vettori a1 , . . . , am e g si ha che
U = {s : sT g < 0, sT ai ≥ 0, i = 1, . . . , m}
è vuoto se e solo se ∃ moltiplicatori λi ≥ 0 tali che
g=
m
X
λi ai .
i=1
Introduzione all’ottimizzazione nonlineare – p. 63/82
Dimostrazione
Se:
facile →
sT g =
m
X
λi sT ai ≥ 0
|{z} |{z}
i=1 ≥0
Solo se:
sia
C = {v : v =
m
X
≥0
λi ai , λi ≥ 0, i = 1, . . . , m}
i=1
un cono poliedrale e si ipotizzi che g 6∈ C .
Allora esiste un iperpiano sT x = 0 (con normale s) che
separa g da C , ovvero:
sT ai ≥ 0,
sT g < 0,
come richiesto.
Introduzione all’ottimizzazione nonlineare – p. 64/82
Esistenza iperpiano separatore
Si consideri minx∈C kg − xk22 . Dato x1 ∈ C si può imporre,
senza perdere soluzioni ottime, il vincolo
kg − xk2 ≤ kg − x1 k2 che rende la regione ammissibile
limitata.
Essendo l’obiettivo una funzione continua, il teorema di
Weierstrass garantisce l’esistenza di un punto di minimo ĝ .
Dal momento che λĝ ∈ C ∀ λ ≥ 0, si ha che kλĝ − gk22 ha un
minimo in λ = 1.
Quindi,
d
kλĝ − gk22 |λ=1 = ĝ T (ĝ − g) = 0.
dλ
Introduzione all’ottimizzazione nonlineare – p. 65/82
Continua
Sia x ∈ C ; allora, per convessità, ∀ θ ∈ (0, 1):
ĝ + θ(x − ĝ) ∈ C
e quindi:
kθ(x − ĝ) + ĝ − gk22 ≥ kĝ − gk22 .
e:
θ2 kx − ĝk22 + θ(x − ĝ)T (ĝ − g) ≥ 0
Prendendo il limite per θ → 0, si ha
(x − ĝ)T (ĝ − g) = xT (ĝ − g) ≥ 0.
Si prenda ora s = ĝ − g 6= 0 poiché g 6∈ C . Si ha
sT x ≥ 0 ∀ x ∈ C,
sT g = −sT s < 0,
come si voleva dimostrare.
Introduzione all’ottimizzazione nonlineare – p. 66/82
Conseguenza
D(x∗ ) ∩ F (x∗ ) =


 s :





sT ∇f (x∗ ) < 0
sT ∇ci (x∗ ) = 0 i ∈ K1

T
∗
∗
s ∇ci (x ) ≥ 0 i ∈ A(x ) 
è vuoto se e solo se:

T ∇f (x∗ ) < 0

s
:
s

sT ∇ci (x∗ ) ≥ 0, −sT ∇ci (x∗ ) ≥ 0 i ∈ K1


sT ∇ci (x∗ ) ≥ 0
i ∈ A(x∗ )





Introduzione all’ottimizzazione nonlineare – p. 67/82
Continua
−
∗ ≥ 0,
≥
0
,
i
∈
K
,
µ
,
λ
se e solo se (lemma di Farkas) ∃ λ+
1
i
i
i
i ∈ K2 (con µ∗i = 0 se i 6∈ A(x∗ )), tali che:
X
X
+
−
∗
∗
µ∗i ∇ci (x∗ ),
(λi − λi )∇ci (x ) +
∇f (x ) =
i∈K1
i∈K2
o, equivalentemente, esistono λ∗i , i ∈ K1 e µ∗i ≥ 0, i ∈ K2 tali
che
X
X
µ∗i ∇ci (x∗ ).
λ∗i ∇ci (x∗ ) +
∇f (x∗ ) =
i∈K1
i∈K2
Introduzione all’ottimizzazione nonlineare – p. 68/82
Condizioni KKT
Condizioni di Karush-Kuhn-Tucker (KKT) (necessarie del
primo ordine): indicata con
X
X
µi ci (x),
λi ci (x) −
L(x, λ, µ) = f (x) −
i∈K1
i∈K2
la funzione Lagrangiana, se x∗ è un minimo locale, allora
esistono moltiplicatori di Lagrange λ∗ , µ∗ , tali che
∇x L(x∗ , λ∗ , µ∗ ) = 0;
ci (x∗ ) = 0, i ∈ K1 ;
ci (x∗ ) ≥ 0, i ∈ K2 ;
µ∗ ≥ 0;
µ∗i ci (x∗ ) = 0, ∀ i ∈ K2 (condizioni di complementarità).
Introduzione all’ottimizzazione nonlineare – p. 69/82
Interpretazione moltiplicatori Lagrange
Solo per il caso di vincoli di uguaglianza (simile per gli altri).
Si consideri la perturbazione
ci (x) = εi
dell’i-esimo vincolo di uguaglianza.
Lagrangiana
L(x, λ, ε) = f (x) −
X
i∈K1
λi (ci (x) − εi ).
Siano x(ε), λ(ε) la soluzione e il moltiplicatore di Lagrange
del problema "perturbato".
Introduzione all’ottimizzazione nonlineare – p. 70/82
Continua
Si ha f (x(ε)) = L(x(ε), λ(ε), ε) (valore ottimo del problema
perturbato) .
∂L
dL
∂ xT
df
∂ λT
=
=
∇x L +
∇λ L +
= λi
d εi
εi
∂ εi |{z} ∂ εi |{z} ∂ εi
=0
=0
Quindi, i moltiplicatori di Lagrange misurano la rapidità di
variazione del valore ottimo in corrispondenza di
perturbazioni dei vincoli.
Introduzione all’ottimizzazione nonlineare – p. 71/82
Problemi convessi
Se:
f convessa;
K1 = ∅;
ci , i ∈ K2 sono funzioni concave (equivalentemente: −ci
sono funzioni convesse);
si parla di problema di programmazione convessa.
Introduzione all’ottimizzazione nonlineare – p. 72/82
Programmazione convessa
I problemi di programmazione convessa sono caratterizzati
dal fatto che:
ogni minimo locale è anche globale;
se f è strettamente convessa, un minimo globale (se
esiste) è unico;
le condizioni KKT sono necessarie e sufficienti per
identificare i minimi locali (globali).
Introduzione all’ottimizzazione nonlineare – p. 73/82
Condizioni secondo ordine
Sotto l’ipotesi del primo ordine
X
X
µ∗i ∇ci (x∗ ),
λ∗i ∇ci (x∗ ) +
∇f (x∗ ) =
i∈K2
i∈K1
se µ∗j > 0, allora le direzioni ammissibili s per cui
∇cj (x∗ )T s > 0, sono di crescita:
∗ T
∇f (x ) s =
X
i∈K1
λ∗i ∇ci (x∗ )T s
+
X
µ∗i ∇ci (x∗ )T s ≥ µ∗j ∇cj (x∗ )T s > 0.
i∈K2
Introduzione all’ottimizzazione nonlineare – p. 74/82
Quindi, sotto l’ipotesi che valgano delle constraint
qualification in x∗ , possiamo restringerci alle direzioni
G(x∗ ) = {s : ∇ci (x∗ )T s = 0, i ∈ K1 o µ∗i > 0, ∇ci (x∗ )T s ≥ 0 i ∈ A(x∗ ) e µ∗i = 0}.
Se xk = x∗ + δk sk con δk → 0, sk → s ∈ G(x∗ ) e
ci (xk ) = 0 ∀ i : i ∈ K1 o µ∗i > 0,
si ha
Si ha anche:
f (x∗ + δk sk ) = L(x∗ + δk sk , λ∗ , µ∗ )
L(x∗ + δk sk , λ∗ , µ∗ ) =
2
∗
∗
∗
2
L(x∗ , λ∗ , µ∗ ) +δk ∇x L(x∗ , λ∗ , µ∗ )T sk + 21 δk2 sT
k ∇xx L(x , λ , µ )sk + o(δk )
{z
}
|
{z
}
|
=f (x∗ )
=0
Introduzione all’ottimizzazione nonlineare – p. 75/82
Continua
Se x∗ è un minimo locale, allora f (xk ) ≥ f (x∗ ), per k
sufficientemente grande. Quindi, per k → ∞:
sT ∇2xx L(x∗ , λ∗ , µ∗ )s ≥ 0 ∀ s ∈ G(x∗ ),
ovvero, se indichiamo con Z(x∗ ) una matrice le cui colonne
formano una base dell’insieme di direzioni G(x∗ ), si ha la
condizione necessaria:
Z(x∗ )T ∇2xx L(x∗ , λ∗ , µ∗ )Z(x∗ ) semidefinita positiva.
Introduzione all’ottimizzazione nonlineare – p. 76/82
Condizione sufficiente del secondo ordine
Se x∗ , λ∗ , µ∗ soddisfano le condizioni KKT e
Z(x∗ )T ∇2xx L(x∗ , λ∗ , µ∗ )Z(x∗ ) definita positiva,
allora x∗ è un minimo locale del problema.
Introduzione all’ottimizzazione nonlineare – p. 77/82
Duale di Wolfe
maxx,λ,µ L(x, λ, µ)
∇x L(x, λ, µ) = 0
µ≥0
Se:
il problema è di programmazione convessa;
x∗ è una sua soluzione con i corrispondenti
moltiplicatori di Lagrange λ∗ , µ∗ ;
in x∗ vale una constraint qualification;
allora (x∗ , λ∗ , µ∗ ) risolve il duale di Wolfe e i valori ottimi dei
due problemi coincidono.
Introduzione all’ottimizzazione nonlineare – p. 78/82
Esempio: problema lineare
min cT x
AT x ≥ b
x≥0
Duale di Wolfe:
maxx,µ,λ cT x − µT (AT x − b) − γ T x
c − Aµ − γ = 0
µ, γ ≥ 0
Introduzione all’ottimizzazione nonlineare – p. 79/82
Equivalentemente, osservando che c = Aµ + γ :
maxµ µT b
Aµ ≤ c
µ≥0
Si noti che questo coincide con il duale già visto per questi
problemi di PL e che i moltiplicatori di Lagrange coincidono
con le variabili del duale.
Dalla soluzione ottima µ∗ del duale, si ricava
immediatamente la soluzione ottima del primale a partire
dalle condizioni di complementarità:
γ ∗ T x∗ = (Aµ∗ − c)T x∗ = 0
µ∗ T (AT x∗ − b) = 0
Introduzione all’ottimizzazione nonlineare – p. 80/82
Esempio: problema quadratico
minx
1 T
Tx
x
Qx
+
c
2
AT x ≥ b
Q simmetrica definita positiva.
Duale di Wolfe:
maxx,µ
1 T
T x − µT (AT x − b)
x
Qx
+
c
2
Qx + c − Aµ = 0
µ≥0
Introduzione all’ottimizzazione nonlineare – p. 81/82
Osservando che x = Q−1 (Aµ − c), si ha
maxµ − 12 µT (AT Q−1 A)µ + µT (b + AT Q−1 c) − 21 cT Q−1 c
µ≥0
Dalla soluzione ottima µ∗ del duale, si ricava
immediatamente la soluzione ottima del primale
x∗ = Q−1 (Aµ∗ − c).
Introduzione all’ottimizzazione nonlineare – p. 82/82