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