DINFO-Università di Palermo
Programmazione Non Lineare
Ottimizzazione non vincolata
D. Bauso, R. Pesenti
Dipartimento di Ingegneria Informatica
Università di Palermo
DINFO-Università di Palermo
1
Sommario
• Introduzione alla Programmazione Non Lineare (NLP)
• Esistenza e caratterizzazione dei minimi
• Ottimizzazione ad una dimensione
• Ottimizzazione non vincolata
– Metodi del Gradiente: Massima discesa, Newton,
Quasi-Newton, Gradiente coniugato
– Convergenza
• Ottimizzazione vincolata
– Caratterizzazione dei Minimi (caso vincolato)
– Metodi del Gradiente
– Metodi Barriera o a punto interno
Bauso - Pesenti
DINFO-Università di Palermo
2
Riferimenti
• F. S. Hillier, G. J. Lieberman, Introduction to Operations
Research McGraw-Hill, New York, NY, 2004
• D. P. Bertsekas, Nonlinear Programming Athena, Cambridge,
Ma, 1999
• S. Boyd, L. Vandenberghe Convex Optimization Cambridge
University Press, Cambridge, UK
• Appunti prof. A. Agnetis e F. Schoen
Bauso - Pesenti
DINFO-Università di Palermo
3
Ottimizzazione non vincolata
Algoritmo di discesa generico
dato un punto iniziale x0 ∈ X
repeat
- Direzione di ricerca. Calcola direzione di discesa dk , i.e., ∇f (xk )T dk < 0.
- Ricerca unidimesionale. Sceglie un opportuno passo αk > 0.
- Aggiornamento. Si aggiorna xk+1 = xk + αk dk
until stopping criterion è verificato
Attenzione: in questo algoritmo αk è il valore restituito dalla procedura
di ottimizzazione monodimensionale.
Quindi αk è il valore di α̂ o di α∗ .
Non deve essere confuso con il passo generico della procedura di
ottimizzazione monodimensionale.
Bauso - Pesenti
DINFO-Università di Palermo
4
Principali Metodi di discesa
• Generalmente dk = −Dk ∇f (xk ), dove Dk  0 simmetrica.
• Metodo più semplice: Massima Discesa,
xk+1 = xk − αk ∇f (xk ), k = 0, 1, . . . .
• Metodo più sofisticato: Metodo di Newton
¡ 2
¢
k+1
k
k
k −1
x
= x − α ∇ f (x )
∇f (xk ), k = 0, 1, . . . .
Bauso - Pesenti
DINFO-Università di Palermo
5
Metodi di discesa: motivazioni
Se ∇f (xk ) 6= 0
(a) Esiste un intervallo (0, δ) tale che
¡ k+1 ¢
¡ k
¢
k
k
f x
= f x − α ∇f (x ) < f (xk ), per ogni αk ∈ (0, δ)
(b) Qualunque dk che forma un angolo ottuso con la direzione del
gradiente, i.e., ∇f (x)T d < 0, esiste un intervallo (0, δ) tale che
f (xk + αk dk ) < f (xk ), per ogni αk ∈ (0, δ).
1
1
0.8
0.8
0.6
0.4
0.2
∇f(xk)
0.6
dk
0.2
0
0.4
0
xk+1
-0.2
-0.2
-0.4
-0.4
-0.6
-0.6
-0.8
-0.8
-1
1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2
-1
1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2
Bauso - Pesenti
DINFO-Università di Palermo
6
Stopping criteria
• L’ideale è che l’algoritmo si fermi quando xk è minimo globale.
Purtroppo, è difficile definire delle condizioni puntuali di
ottimalità che non siano valide anche per i minimi locali.
• Ci si accontenta che sia vera una delle seguenti condizioni:
– xk (quasi) soddisfi le condizioni di ottimalità di primo e
secondo ordine (xk minimo locale)
– xk (quasi) soddisfi le condizioni di ottimalità di primo ordine
(xk punto stazionario)
– f (xk ) < f (x0 ) − c per c costante data
– f (xk ) < f (x0 ) e k > k̄, per k̄ costante data
• Nel seguito Ω indica l’insieme dei punti che soddisfa esattamente
la condizione di stop scelta.
Bauso - Pesenti
DINFO-Università di Palermo
7
Affidabilità ed efficienza
• Un algoritmo deve essere affidabile (efficace) e efficiente.
• L’affidabilità si associa al concetto di convergenza globale.
• L’efficienza si misura in termini di rapidità di convergenza e di
onere computazionale.
Bauso - Pesenti
DINFO-Università di Palermo
8
Convergenza
Un algoritmo è detto globalmente convergente se, qualunque sia il
punto di partenza x0 , la sequenza dei punti {xk } che genera soddisfa
una delle seguenti proprietà:
• esiste xv ∈ {xk } t.c. xv ∈ Ω (convergenza finita)
• la successione {xk } converge asintoticamente ad un punto di Ω
• ogni sottosuccessione di {xk } ammette un punto di
accumulazione che appartiene a Ω;
• esiste un punto di accumulazione di {xk } che appartiene a Ω.
Le condizioni sono via via più deboli.
Se la convergenza è valida solo per x0 appartenenti ad un opportuno
intorno di Ω si parla di convergenza locale.
Bauso - Pesenti
DINFO-Università di Palermo
9
Teoremi sulla convergenza
Sia f ∈ C 1 (R), si applichi un algoritmo di discesa generico a partire da x0
tale che l’insieme di livello di f (x0 ) è compatto, i.e., limitato e chiuso, se
ad ogni passo k sono soddisfatte le condizioni:
• (condizione d’angolo) ∇f (xk )T dk ≤ −ε||∇f (xk )||||dk ||, per qualche
ε > 0 fissato,
• il decremento di f (x) sia sufficiente rispetto alla lunghezza del
passo, i.e., f (xk+1 ) < f (xk ) + γαk ∇f (xk )T dk , con γ > 0 fissato anche
estremamente piccolo
• il passo αk non sia troppo corto imponendo condizioni del tipo
∇f (xk+1 )T dk ≥ β∇f (xk )T dk , per γ < β < 1 ovvero che la derivata
direzionale aumenti (diminuisca in valore assoluto) di almeno un
valore fissato,
allora la successione {xk } è tale che o esiste un k per cui ∇f (xk ) = 0
oppure la successione {∇f (xk )} tende a 0.
Bauso - Pesenti
DINFO-Università di Palermo
10
Teoremi sulla convergenza
• Le ultime due condizioni del lucido precedente vengono dette
Condizioni di Wolfe.
• Se si sceglie f (xk )T dk < 0, la prima condizione di Wolfe è sempre
imponibile per γαk sufficientemente piccoli.
• Purtroppo l’algoritmo di Armijo non soddisfa necessariamente la
seconda condizione di Wolfe.
• Per determinati metodi, quali gradiente o direzioni coniugate, è
comunque opportuno avere un valore di αk che approssimi il
minimo della funzione φ(α) per problemi di rapidità di
convergenza.
• La sola condizione f (xk+1 ) < f (xk ) non garantisce la convergenza
ad un minimo locale. L’algoritmo potrebbe compiere passi
sempre più piccoli senza mai nemmeno avvicinarsi ad un minimo.
Bauso - Pesenti
DINFO-Università di Palermo
11
Velocità di convergenza
• Detto ek = ||xk − x∗ ||, l’errore commesso al passo kmo.
• Si parla di q-rapidità nel caso si confronta ek+1 con ek ,
si parla di r-rapidità se invece si confronta ek con speciali serie
convergenti. La q-rapidità è condizione più forte della r-rapidità.
• Se esistono K > 0, p > 0 e η > 0 tali che per k ≥ K,
||xk+1 −x∗ ||
lim sup ||xk −x∗ ||p ≤ β < ∞ si dice che {xk } ha (q−)rapidità di
convergenza di ordine p.
• p = 2, convergenza quadratica.
• p = 1, se 0 < β < 1, convergenza lineare, se β ≥ 1, convergenza
sublineare, se β = 0, convergenza superlineare.
Bauso - Pesenti
DINFO-Università di Palermo
12
Velocità di convergenza
• La velocità di convergenza è difficile da studiare nel caso
generale. Di solito si calcola rispetto a problemi di
minimizzazione di funzioni quadratiche.
• La velocità di convergenza non è gratis.
• Gli algoritmi che hanno velocità di convergenza più rapida
tipicamente
– richiedono maggiore informazione, e.g., si deve conoscere
∇2 f (xk ) o una sua stima,
– richiedono maggiore sforzo computazionale ad ogni passo, e.g.,
invertire matrici.
Bauso - Pesenti
DINFO-Università di Palermo
13
Metodo del gradiente
Ad ogni passo k
• Si approssima linearmente f (x) nell’intorno di xk .
La funzione approssimante al variare di d è
f˜(d) = f (xk ) + ∇f (xk )T d ∼
= f (xk + d)
• Si determina direzione di massima discesa d∗ risolvendo
min ∇f (xk )T d,
k T
||d|| = 1
k
∗
Dato che ∇f (x ) d = ||∇f (x )||||d||cosθ, si ha d =
∇f (xk )
− ||∇f (xk )||
• Si esegue quindi una ricerca unidimensionale nella direzione di
massima discesa d∗ (antigradiente), fino ad ottenere
xk+1 = xk − αk ∇f (xk )
Bauso - Pesenti
DINFO-Università di Palermo
14
Metodo del gradiente
Esempio Data f (x) = (x21 + x22 − 1)2 + x1 si trovi il minimo col
metodo del gradiente a partire da x0 = (1, −1). Usare Armijo per
ricerca monodimesionale, con α0 = 1, γ = 0.001, σ = 0.5
7
6
5
4
3
2
1
0
-1
-2
1.5
1
0.5
1.5
0
1
0.5
-0.5
0
-1
-0.5
-1.5
-1.5
-1
Bauso - Pesenti
DINFO-Università di Palermo
15
Metodo del gradiente
x
f (x)
∇f T (x)
0
(1,-1)
2.0000
(5,-4)
1
(-0.2500,0)
0.6289
(1.9375,0)
2
(-1.2188,0)
-0.9832
(-1.3661,0)
3
(-1.0480,0)
-1.0383
(0.5880,0)
4
(-1.1215,0)
-1.0551
(-0.1562,0)
5
(-1.1020,0)
-1.0560
(0.0553,0)
6
(-1.1089,0)
-1.0562
(-0.0184,0)
7
(-1.1066,0)
-1.0562
(0.0063,0)
8
(-1.1074,0)
-1.0562
(-0.0021,0)
9
(-1.1071,0)
-1.0562
(0.0007,0)
10
(-1.1072,0)
-1.0562
(-0.0002,0)
11
(-1.1072,0)
-1.0562
(0.0001,0)
12
(-1.1072,0)
-1.0562
(0,0)
Passo
Bauso - Pesenti
DINFO-Università di Palermo
16
Metodo del gradiente
Convergenza
• Il metodo del gradiente converge globalmente se l’algoritmo scelto per
l’ottimizzazione monodimensionale soddisfa le condizioni di Wolfe.
Infatti, la condizione d’angolo è banalmente soddisfatta dato che
∇f (xk )T dk = −||∇f (xk )||||dk ||.
• L’algoritmo è però poco efficiente (convergenza lineare su funzioni
quadratiche) e il suo comportamento dipende dal condizionamento
dell’hessiana di f (xk ) (se il passo αk è quello che minimizza
f (xk + αd)).
1
• Se però nel caso quadratico si sceglie αk = λk+1
, dove λk+1 è
l’autovalore (k + 1)mo dell’hessiana allora l’algoritmo termina in al più
in n passi. Questo suggerisce che facendo dipendere il passo in
funzione di informazioni del secondo ordine si possa migliorare
sensibilmente le prestazioni dell’algoritmo.
Bauso - Pesenti
DINFO-Università di Palermo
17
Metodo del gradiente
Figure 1: Metodo gradiente applicato alla banana function (da demo Matlab).
Bauso - Pesenti
DINFO-Università di Palermo
18
Metodo del gradiente
Scelta valore α0 iniziale delle ricerche monodimensionali
Nella pratica si osserva che la variazione del valore della funzione
obiettivo all’iterazione kma è dello stesso ordine di grandezza di
quella all’iterazione iterazione (k − 1)ma.
f (xk + αk dk ) − f (xk ) ∼
= f (xk−1 + αk−1 dk−1 ) − f (xk−1 )
Da cui
αk ∇f (xk )T dk ∼
= αk−1 ∇f (xk−1 )T dk−1
Usualmente si sceglie quindi
α0 =
k−1 T k−1
) d
k−1 ∇f (x
α
∇f (xk )T dk
Nel caso del gradiente α0 =
k−1
)||2
k−1 ||∇f (x
α
||∇f (xk )||2
Bauso - Pesenti
DINFO-Università di Palermo
19
Metodo di Newton (puro)
Ad ogni passo k
• Si approssima quadraticamente f (x) nell’intorno di xk .
La funzione approssimante al variare di d è
1
f˜(d) = f (xk ) + ∇f (xk )T d + dT ∇2 f (xk )d ∼
= f (xk + d)
2
• Si determina un punto stazionario della funzione approssimante
ottenendo
dk = −(∇2 f (xk ))−1 ∇f (xk )
Si pone quindi xk+1 = xk − (∇2 f (xk ))−1 ∇f (xk )
• Si osservi che in questo caso non si esegue una ricerca
unidimensionale ma si determina allo stesso istante sia direzione
di discesa che passo da spostamento da xk (oppure si può dire
che αk vale sempre 1).
Bauso - Pesenti
DINFO-Università di Palermo
20
Metodo di Newton (puro)
Convergenza
• Se f (x) ∈ C 2 (X) con X aperto,
se esiste x∗ ∈ X tale che ∇f (x∗ ) = 0 e dove ∇2 f (x∗ ) non
singolare,
se inoltre esiste L t.c. in D ||∇2 f (x) − ∇2 f (y)|| ≤ L||x − y||,
qualunque x, y ∈ X,
allora esiste una sfera B aperta inclusa in X e centrata in x∗ t.c.
se x0 ∈ B la successione {xk } converge con rapidità quadratica
(in un solo passo se f (x) una quadrica.
• Però se l’hessiana è singolare, xk+1 non è definita.
• Se x0 6∈ B il metodo potrebbe non convergere.
• Infine il metodo potrebbe convergere a massimi locali.
Bauso - Pesenti
DINFO-Università di Palermo
21
Metodo di Newton (puro)
Convergenza
• Si definiscono quindi modifiche globalmente convergenti del
metodo di Newton
• Questi sono algoritmi che, se f (x) ∈ C 2 (X) e se l’insieme di
livello associato a f (x0 ) è compatto, non hanno le
controindicazioni del metodo di Newton e che una volta che
definiscono un xk ∈ B si comportano come il metodo di Newton
puro.
• Due classi di algoritmi: metodi che usano ricerche
unidimensionali e metodi della regione di confidenza (trust
region).
Bauso - Pesenti
DINFO-Università di Palermo
22
Metodo di Newton
Metodi che usano ricerche unidimensionali
• Definiscono un passo da eseguire nella direzione di dk (in genere
uguale a −(∇2 f (xk ))−1 ∇f (xk ))
• Definiscono dk in modo alternativo (e.g., con l’antigradiente
oppure perturbando la diagonale di ∇2 f (xk ) sommando
all’hessiana una matrice diagonale) quando l’hessiana tende ad
essere singolare (si avvicina a zero).
Bauso - Pesenti
DINFO-Università di Palermo
23
Metodo di Newton
Metodi che usano ricerche unidimensionali
• Questi metodi non utilizzano le condizioni del secondo ordine e
quindi non possono garantire la convergenza su punti con
hessiana semidefinita positiva.
• Si possono usare ricerche unidimensionali curvilinee (Armijo
√
k+1
k
k k
modificato), x
= x + α d + αk sk , dove dk è scelto in
modo da soddisfare le condizioni di convergenza globale e di
efficienza, mentre sk viene vincolato a soddisfare diverse
condizioni su gradiente ed hessiana (e.g., angolo acuto con
l’antigradiente) in modo da garantire la convergenza su un punto
con hessiana semidefinita positiva.
Bauso - Pesenti
DINFO-Università di Palermo
24
Metodo di Newton
Metodi della regione di confidenza
• Determinano contemporaneamente direzione e passo.
• Ad ogni iterazione k, minimizzano φk (x) l’approssimazione di
secondo ordine di f (x) in una regione centrata in xk e di
raggio sk . Sia ak il passo individuato.
• Se la riduzione attesa, moltiplicata per una costante 0 < c < 1, è
minore della riduzione ottenuta, i.e.,
c(φ(xk ) − φ(xk + ak )) ≤ f (xk ) − f (xk + ak ),
allora xk+1 = xk + ak
e al passo successivo il raggio di confidenza aumenta, sk+1 > sk .
• Altrimenti si ripete l’operazione di minimizzazione in una sfera di
raggio inferiore.
Bauso - Pesenti
DINFO-Università di Palermo
25
Metodo di Newton
Metodi della regione di confidenza
• Si osservi che per sk → 0, la direzione tende all’antigradiente,
viceversa se l’hessiana è definita positiva la direzione tende ad
essere quella di Newton.
• Se f ∈ C 2 e l’insieme di livello di f (x0 ) è compatto l’algoritmo è
una modifica globalmente convergente del metodo di Newton.
• Se l’algoritmo tende ad x∗ , allora ∇2 f (x∗ ) Â 0 (questo metodo è
più forte delle ricerche unidimensionali pure in quanto soddisfa le
condizioni del secondo ordine).
Bauso - Pesenti
DINFO-Università di Palermo
26
Metodo di Newton
Metodi della regione di confidenza
• I limiti di questi metodi risiedono nella necessità di risolvere il
problema di minimizzazione di φk (x) quando l’hessiana ∇2 f (xk )
non è definita positiva. Sono state identificate delle condizioni
minime che garantiscono le caratteristiche del metodo senza la
necessità di risolvere tale problema in modo esatto. Tali
condizioni sono però onerose da soddisfare, richiedono la stima
dell’autovalore minimo di ∇2 f (xk ).
• I metodi approssimati che ne derivano si possono classificare in
tre categorie.
Bauso - Pesenti
DINFO-Università di Palermo
27
Metodo di Newton
Metodi della regione di confidenza
• se ∇2 f (xk ) 4 0, si osserva che la soluzione del problema di
minimizzazione quadratica giace sulla frontiera della sfera e si risolve il
problema equivalente ||(∇2 f (xk ) + λI)ak ||2 = (sk )2 , dove λ è scelto in
modo da rendere (∇2 f (xk ) + λI) almeno semidefinita positiva;
• si minimizza φk (x) all’interno della sfera di raggio sk , muovendosi
lungo una spezzata: inizialmente nella direzione dell’antigradiente, alla
fine lungo la direzione di Newton, in mezzo lungo una direzione
intermedia;
• si minimizza φk (x) in uno spazio ridotto bidimensionale definito dalla
direzione dell’antigradiente e da un’altra direzione coincidente con
quella di Newton o una sua perturbazione se ∇2 f (xk ) > 0, altrimenti
con una a curvatura negativa, i.e., t.c. dT ∇2 f (xk )d < 0.
Bauso - Pesenti
DINFO-Università di Palermo
28
Metodo di Newton
Commenti
• Il metodo di Newton puro può essere molto più efficiente delle
modifiche proposte, poiché, queste ultime richiedendo che ad ogni
passo la funzione obiettivo decresca, rischiano di imporre
spostamenti αk molto piccoli.
• Si sono quindi definiti degli algoritmi, che pur assicurando la
convergenza globale, non sono monotoni poiché impongono che il
decremento di f (x) non avvenga necessariamente ad ogni passo,
ma debba verificarsi almeno ogni certo numero fissato di passi.
• Questi algoritmi hanno buone prestazioni, ma un passo sbagliato
può influenzare pesantemente il risultato dell’algoritmo.
Bauso - Pesenti
DINFO-Università di Palermo
29
Metodo gradiente coniugato
Motivazione
• Per determinare dk Newton richiede di risolvere
∇2 f (xk )T dk + ∇f (xk ) = 0
(∗),
ciò può essere troppo oneroso per istanze di grandi dimensioni
(10000 variabili).
• Il metodo del gradiente coniugato calcola una soluzione dk del
sistema (*) in maniera approssimata a meno di un residuo, se
tale soluzione tende a zero più velocemente del gradiente
all’aumentare di k, allora la successione {xk } converge
superlinearmente.
Bauso - Pesenti
DINFO-Università di Palermo
30
Metodo gradiente coniugato
Caratteristiche:
• Il calcolo di dk può spesso essere ottenuto con poche iterazioni.
• Se ||∇f (xk )|| è grande, la direzione individuata dal metodo tende
a coincidere con l’antigradiente.
• Se ||∇f (xk )|| è piccolo la direzione tende a coincidere con quella
di Newton.
• Se ∇2 f (xk ) non è definita positiva il metodo si arresta fornendo
una direzione di discesa a curvatura negativa.
Bauso - Pesenti
DINFO-Università di Palermo
31
Metodo gradiente coniugato
Direzioni coniugate:
• Data A ∈ Rn×n simmetrica, due vettori non nulli di , dj si dicono
A-coniugati se diT Adj = 0,
se A Â 0 di , dj sono anche indipendenti.
Pn
• Attraverso una trasformazione delle variabili x = i=1 y i di , dove
di sono vettori mutuamente A-coniugati, si riduce la funzione
quadratica f (x) = 21 xT Ax + bx + c in una somma di n funzioni
quadratiche in una sola variabile y i .
• Il metodo delle direzioni coniugate, nel caso di funzioni
quadratiche, fissa come direzione iniziale quella
dell’antigradiente, minimizza lungo questa, determina in base alla
direzione precedente una nuova direzione coniugata e si ripete la
procedura. In al più n passi si ottiene la soluzione ottima.
Bauso - Pesenti
DINFO-Università di Palermo
32
Metodo gradiente coniugato
Direzioni coniugate (caso f (x) quadratica).
Ad ogni passo k:
• Si pone dk = −∇f (xk ) + β k dk−1 .
• Si risolve dkT Adk−1 = 0 in β k (NB, β k è uno scalare).
k
k k
k
• Si minimizza lungo x + α d ottenendo α =
∇f (xk )T dk
− dkT Adk .
Bauso - Pesenti
DINFO-Università di Palermo
33
Metodo gradiente coniugato
Direzioni coniugate (caso f (x) generica).
Ad ogni passo k:
• Il passo αk viene calcolato in modo approssimato (e.g., Armijo).
• Il coefficiente β k , viene calcolato osservando che esistono, per
funzioni quadratiche, modi equivalenti di calcolare le funzioni
coniugate che non fanno uso di ∇2 f (xk ).
• Nel caso di problemi non quadratici queste tecniche danno luogo
ad algoritmi con prestazioni diverse. I metodi più utilizzati sono:
– Fletcher-Reeves:
– Polak-Ribiere:
k
β =
k
β =
||∇f (xk )||2
||∇f (xk−1 )||2
∇f (xk )T (∇f (xk )−∇f (xk−1 ))
||∇f (xk−1 )||2
Bauso - Pesenti
DINFO-Università di Palermo
34
Metodo gradiente coniugato
Convergenza:
• La convergenza del gradiente coniugato è garantita se si pone
β k = 0 ogni n iterazioni (restart). Questa tecnica rallenta però le
prestazioni dell’algoritmo.
• Se ∇f (x) è Lipschitz-continuo, Fletcher-Reeves converge
globalmente anche senza restart.
• Polak-Ribiere appare essere il più veloce dei due metodi. Se
∇f (xk ) − ∇f (xk−1 ) si avvicina a zero allora la direzione diventa
l’antigradiente. Non è però dimostrata la convergenza globale (di
cui si dubita).
• Variazioni di questo ultimo metodo che garantiscono la
convergenza risultano avere prestazioni più scadenti.
Bauso - Pesenti
DINFO-Università di Palermo
35
Metodo gradiente coniugato
precondizionato
• Il metodo del gradiente coniugato ha al meglio una convergenza
quadratica se le ricerche unidimensionali sono perfette (molto
oneroso nella pratica).
• Il metodo del gradiente coniugato precondizionato può essere reso
più efficiente.
• Si calcola β k condizionandolo ad una matrice Gk  0
∇f (xk )T G∇f (xk )
||∇f (xk )||2G
β =
=
.
∇f (xk−1 )T G∇f (xk−1 )
||∇f (xk−1 )||2G
k
• Per funzioni quadratiche strettamente convesse se
Gk = ∇2 f (xk )−1 l’algoritmo termina in un passo.
Bauso - Pesenti
DINFO-Università di Palermo
36
Metodi tipo Newton
• Metodi con iterazione xk+1 = xk − αk (B k )−1 ∇f (xk ) dove B k
aggiornata iterativamente approssima ∇2 f (xk ).
• Questi metodi utilizzano soltanto la conoscenza delle derivate
prime, rappresentano approssimazioni del metodo di Newton,
sono superlineari.
• B k si dice approssimare in modo consistente ∇2 f (xk ) se
lim ||B k − ∇2 f (xk )|| = 0.
k→∞
• I metodi che fanno questa scelta sono detti tipo-Newton.
Bauso - Pesenti
DINFO-Università di Palermo
37
Metodi quasi Newton
(o a metrica variabile)
• Per la superlinearità in realtà basta che, che tutte le B k e
∇2 f (x∗ ) siano non singolari e
||(B k − ∇2 f (xk ))(xk+1 − xk )||
lim
= 0.
k→∞
||xk+1 − xk ||
• Dove basta che si verifichi la relazione vettoriale (e non
matriciale) B k (xk+1 − xk ) ∼
= ∇2 f (xk )(xk+1 − xk ), per xk+1
vicino a xk (equazioni di quasi Newton).
Bauso - Pesenti
DINFO-Università di Palermo
38
Metodi quasi Newton
Calcolo B k
Posti δ k = xk − xk−1 e γ k = ∇f (xk ) − ∇f (xk−1 ) e (di solito) B 0 = I:
• Formule Broyden-Fletcher-Goldfarb-Shanno (BFGS),
approssimano l’hessiana
B
k+1
γ k γ kT
B k δ k δ kT B kT
= B + kT k −
.
kT
k
k
γ δ
δ B δ
k
• Formule Davidon-Fletcher-Powell (DFP), approssimano
l’inversa dell’hessiana. Usano una formula ricorsiva identica a
quella BFGS dove δ k e γ k si scambiano di posto.
Bauso - Pesenti
DINFO-Università di Palermo
39
Metodi quasi Newton
Convergenza
• Convergenza certa se la funzione è strettamente convessa e le
ricerche unidimensionali sono esatte.
• La convergenza locale si dimostra superlineare in condizioni
abbastanza generali, a patto che l’hessiana soddisfi le condizioni
di Lipschitz.
• Esistono anche metodi quasi Newton a memoria limitata che
calcolano B k a partire dalla matrice identica e i risultati delle
ultime iterazioni. Questi metodi sembrano avere un
comportamento simile a quelli non a memoria limitata anche per
un numero di passi (5) limitato.
Bauso - Pesenti
DINFO-Università di Palermo
40
Metodo BFGS
Figure 2: Metodo BFGS applicato alla banana function (da demo Matlab).
Bauso - Pesenti
DINFO-Università di Palermo
41
Metodo DFP
Figure 3: Metodo DFP applicato alla banana function (da demo Matlab).
Bauso - Pesenti
DINFO-Università di Palermo
42
Altri metodi di discesa
Per funzioni f (x) particolari. Ad esempio a struttura a minimi
quadrati
X
f (x) =
Fk2 (x)
k
si usano metodi specifici Gauss-Newton e Levenberg-Marquardt che
sfruttano le caratteristiche particolari dell’hessiana.
Bauso - Pesenti