8 Il metodo del gradiente di Barzilai-Borwein 8.1 Generalitµ a Nel seguito riportiamo i concetti essenziali su cui si basa una versione recente del metodo del gradiente, nota come metodo di Barzilai-Borwein (BB), che si µe rivelata particolarmente e±ciente nella soluzione di problemi \di±cili" e a grande dimensione. In particolare, con riferimento al caso quadratico, accenniamo innanzitutto a una derivazione del metodo BB dall'equazione Quasi-Newton (che µe la derivazione fornita originariamante dagli autori) e successivamente consideriamo un'interpretazione \spettrale", basata sull'approssimazione degli autovalori dell'Hessiana. Accenniamo in¯ne ad alcuni schemi di globalizzazione applicabili nella minimizzazione di funzioni non quadratiche. 8.2 Il metodo BB nel caso quadratico Consideriamo il problema di minimizzare una funzione quadratica strettamente convessa 1 f (x) = x0 Qx + c0 x; 2 il cui gradiente µe rf (x) = Qx + c; con Q simmetrica de¯nita positiva. Il metodo BB per la minimizzazione di f µe un metodo di tipo gradiente descritto dallo schema iterativo 1 rf (xk ); xk+1 = xk ¡ ®k dove lo scalare ®k µe de¯nito in modo da approssimare la matrice Hessiana Q con una matrice del tipo B = ®k I; o, equivalentemente, la matrice inversa Q¡1 con una matrice del tipo H = (1=®k )I; essendo I la matrice identitµ a n £ n. 91 L'approssimazione di Q (o di Q¡1 ) viene costruita determinando il valore di ® (o di 1=®) che minimizza l'errore sul soddisfacimento di un'equazione Quasi-Newton. Ricordiamo che le equazioni Quasi-Newton si possono porre nella forma ± = Q¡1 °; Q± = °; dove ± = xk ¡ xk¡1 ; ° = rf (xk ) ¡ rf (xk¡1 ); (omettiamo, per semplicitµ a, l'indicazione del pedice k ¡ 1 in ° e ±). Possiamo allora pensare di determinare il valore di ® che minimizza l'errore sul soddisfacimento dell'equazione Quasi-Newton B± ¡ ° = 0 ove si assuma B = ®I, o, alternativamente di determinare il valore di ¯ = 1=® che minimizza l'errore sull'equazione ± ¡ H° = 0 quando si ponga H = ¯I. Nel primo caso, ciµ o corrisponde a trovare il valore di ® che minimizza la quantitµ a f (®) = k®± ¡ °k2 = ®2 k±k2 ¡ 2®± 0 ° + k°k2 : La derivata di f (®) rispetto ad ® µe data da: df (®) = 2®k±k2 ¡ 2± 0 °; d® e quindi, imponendo che tale derivata si annulli, si ottiene una prima stima del tipo: ®ak = 0 °k¡1 ±k¡1 : k±k¡1 k2 (8.1) Analogamente, minimizzando rispetto a ¯ l'errore k± ¡¯°k2 e ponendo ® = 1=¯, si ottiene la stima: ° 0 °k¡1 ®kb = k¡1 : (8.2) 0 ±k¡1 °k¡1 Nel caso di obiettivo quadratico strettamente convesso il metodo BB puµo anche essere interpretato come un metodo del gradiente in cui, ad ogni iterazione, il passo µe un'approssimazione dell'inverso di qualche autovalore della matrice Hessiana, e per tale motivo il metodo BB µe anche denominato in letteratura metodo spettrale del gradiente. Un fondamento teorico a questa strategia µe costituito dal fatto che, utilizzando in sequenza gli inversi degli autovalori esatti dell'Hessiana come passi lungo l'antigradiente, si determinerebbe in un numero ¯nito di iterazioni il punto di minimo di una funzione quadratica strettamente convessa. Per dimostrarlo, consideriamo una iterazione del metodo del gradiente, supponendo di e®ettuare un passo de¯nito da uno scalare ´k 2 R, ossia: xk+1 = xk ¡ ´k rf (xk ): 92 Ricordando l'espressione del gradiente, si puµ o scrivere, con facili passaggi: rf (xk+1 ) ´ Qxk+1 + c = Qxk + c ¡ ´k Qrf (xk ) = (I ¡ ´k Q)rf (xk ): Applicando ripetutamente la formula precedente, si puµ o porre: 0 k¡1 Y rf (xk ) = @ j=0 1 (I ¡ ´j Q)A rf (x0 ): Sia ora fuh 2 Rn ; h = 1; : : : ; ng un insieme di n autovettori reali linearmente indipendenti di Q, associati agli autovalori ¸h ; h = 1; : : : ; n, per cui Quh = ¸h uh ; h = 1; : : : ; n: Assumendo fuh 2 Rn ; h = 1; : : : ; ng come base di Rn , possiamo rappresentare rf (x0 ) nella forma n X rf (x0 ) = ¯h uh ; h=1 essendo ¯h 2 R degli scalari opportuni. Possiamo allora porre 0 1 k¡1 Y rf (xk ) = @ j=0 (I ¡ ´j Q)A n X ¯h uh ; h=1 da cui segue, per k = n rf (xn ) = n X h=1 0 n¡1 Y ¯h @ j=0 1 (1 ¡ ´j ¸h )A uh : Se allora i primi n passi vengono de¯niti ponendo, in un qualsiasi ordine: ´jh = 1 ; ¸h h = 1; : : : ; n; ossia si scelgono i passi ´j come gli inversi degli autovalori (necessariamente positivi) di u) n passi. Q, si ha rf (xn ) = 0 e quindi il metodo del gradiente converge in (al piµ Poich¶e tuttavia gli autovalori di Q non sono noti, si puµ o pensare di generarne delle approssimazioni per mezzo dei cosiddetti rapporti di Rayleigh RQ (x) = x0 Qx : kxk2 Si veri¯ca infatti facilmente che ogni autovalore di Q si puµ o esprimere come rapporto di Rayleigh, ove si assuma x coincidente con un autovettore ad esso corrispondente. Al variare di x, il rapporto RQ (x) varia (nel caso di matrici reali simmetriche) in un intervallo (che costituisce la cosiddetta immagine numerica di Q) i cui estremi sono costituiti dall'autovalore minimo e da quello massimo, ossia ¸min (Q) = min RQ (x); x ¸max (Q) = max RQ (x): x 93 Le stime di ® prima ricavate a partire dalla minimizzazione degli errori sull'equazione Quasi-Newton corrispondono a particolari rapporti di Rayleigh che possono essere valutati in base alle iterazioni passate, senza fare intervenire esplicitamente la matrice Q. Infatti, poich¶e ° = Q±, si ha ±0° ± 0 Q± = = RQ (±): ®a = k±k2 k±k2 Analogamente, si puµ o scrivere: ®b = ± 0 QQ± (Q1=2 ±)0 Q(Q1=2 ±) °0° = = = RQ (Q1=2 ±): ±0° ± 0 Q± kQ1=2 ±)k2 o interpretare ®b come inverso del rapporto di Alternativamente, essendo ± = Q¡1 °, si puµ 0 ¡1 2 Rayleigh RQ¡1 (°) = ° Q °=k°k relativo a Q¡1 . Al variare di ° e ± si puµ o quindi pensare che ®a e ®b forniscano delle approssimazioni degli autovalori di Q, almeno quando l'immagine numerica di Q non µe un intervallo molto µ da notare, tuttavia, che non tutti grande (ossia Q non µe troppo mal condizionata). E i rapporti di Rayleigh che si potrebbero generare (anche il passo \ottimo" corrisponde a un particolare rapporto di Rayleigh) assicurano, in pratica, un buon comportamento del metodo del gradiente, per cui l'interpretazione \Quasi-Newton" sembra quella piµ u signi¯cativa. Dal punto di vista teorico, µe stato dimostrato che, scegliendo ®k con una delle formule di BB, il metodo del gradiente converge con rapiditµ a lineare nel caso di funzioni quadratiche strettamente convesse e che la velocitµ a di convergenza puµ o essere R¡superlineare in problemi a due dimensioni. 8.3 Estensioni del metodo BB al caso non quadratico Nel caso di funzioni obiettivo non quadratiche (continuamente di®erenziabili) il metodo di BB puµ o essere de¯nito come un algoritmo tipo-gradiente in cui la direzione di ricerca dk µe del tipo 1 dk = ¡ rf (xk ); ®k dove ®k viene determinato, quando possibile, attraverso le formule di BB (che non fanno intervenire esplicitamente la matrice Hessiana) prima de¯nite. Osserviamo che, nel caso generale, se xk¡1 ; xk sono due punti consecutivi di una successione di punti, si puµ o porre rf (xk ) = rf (xk¡1 ) + per cui ®ka = = 0 1 r2 f (xk¡1 + t(xk ¡ xk¡1 )(xk ¡ xk¡1 )dt; (rf (xk ) ¡ rf (xk¡1 ))0 (xk ¡ xk¡1 ) kxk ¡ xk¡1 k2 Z 0 ®ak Z 1 (xk ¡ xk¡1 )0 r2 f (xk¡1 + t(xk ¡ xk¡1 ))(xk ¡ xk¡1 ) dt; kxk ¡ xk¡1 k2 si puµ o interpretare come media dei rapporti di Rayleigh R(±) al variare della e quindi matrice Hessiana nel segmento di estremi xk¡1 ; xk . 94 Tuttavia, se f µe non quadratica i valori di ®ka e ®bk forniti dalle formule di BB possono non essere calcolabili o possono dar luogo a valori inaccettabili (anche negativi o nulli) di ®k . µ necessario quindi, innanzitutto, assicurarsi che risulti E " · ®k · 1="; (8.3) essendo " > 0 una quantitµ a pre¯ssata (ad esempio " = 10¡10 ), modi¯cando, se necessario i valori forniti dalle formule di BB. Per assicurare la convergenza µe poi necessario introdurre µ da notare, a tale riguardo che, anche nel caso una ricerca unidimensionale opportuna. E quadratico, il valore di ®k fornito dalle formule di BB non assicura una riduzione della funzione obiettivo ad ogni iterazione e quindi, per preservare le proprietµ a di convergenza locale del metodo, accettando il piµ u possibile il passo di BB, sembra opportuno far ricorso a tecniche di tipo non monotono. Un metodo di stabilizzazione globale non monotono (Gobal Barzilai-Borwein method (GBB)) (Raydan, 1997) puµ o essere de¯nito dall'iterazione xk+1 = xk ¡ ´k 1 rf (xk ) ®k dove 0 < ´k · 1 µe calcolato per mezzo di una ricerca unidimensionale non monotona di tipo Armijo (introdotta originariamente per stabilizzare il metodo di Newton) (GrippoLampariello-Lucidi, 1986) e basata sulla condizione di accettabilitµ a f (xk + ´dk ) · max 0·j·min(k;M ) ff (xk¡j )g + °´rf (xk )0 dk ; (8.4) dove dk = ¡(1=®k )rf (xk ) e ®k µe il passo BB (eventualmente modi¯cato in modo da soddisfare la (8.3)). Il metodo GBB consente di migliorare notevolmente il comportamento del metodo del gradiente ed µe competitivo con il metodo del gradiente coniugato e con i metodi Quasi Newton a memoria limitata anche nei problemi convessi a grande dimensione. Tuttavia esso puµ o richiedere un costo computazionale elevato in problemi di±cili, in cui puµ o essere necessario un ulteriore rilassamento della non monotonicitµ a. Si noti, infatti che la ricerca non monotona impone che i punti generati dall'algoritmo si mantengano comunque entro l'insieme di livello de¯nito dal punto iniziale, per cui il comportamento del metodo puµ o dipendere criticamente dalla scelta del punto iniziale e dal valore prescelto per M . Una nuova tecnica di stabilizzazione non monotona del metodo BB, che appare particolarmente promettente per l'addestramento di reti neurali, µe stata de¯nita recentemente (Grippo-Sciandrone, 2002) ed µe basata sulla combinazione di una tecnica di tipo watchdog non monotona con un metodo di ricerca unidimensionale non monotono. Lo schema di globalizzazione proposto µe applicabile, in linea di principio, ad un metodo qualsiasi, allo scopo di assicurare la convergenza globale verso punti stazionari di un algoritmo locale, perturbando il meno possibile i punti di tentativo generati localmente. Uno schema sempli¯cato di algoritmo basato su questa strategia µe descritto nel paragrafo successivo. 95 8.4 Una tecnica di globalizzazione non monotona* Lo schema di globalizzazione descritto di seguito µe applicabile, in linea di principio, ad un metodo qualsiasi, allo scopo di assicurare la convergenza globale verso punti stazionari di un algoritmo locale, perturbando il meno possibile i punti di tentativo generati localmente. Tale schema si puµ o descrivere de¯nendo: (a) una sequenza di iterazioni principali k = 0; 1; : : :, che producono i punti xk ; (b) per ogni k, una sequenza di iterazioni interne che generano, a partire da xk , attraverso un algoritmo locale, una sequenza ¯nita di N punti: zk1 ; zk2 ; : : : ; zkN ; (c) un criterio di tipo watchdog per accettare o meno uno dei punti zki generati dall'algoritmo locale; (d) un algoritmo non monotono di ricerca unidimensionale che determina uno spostamento ¸k lungo una direzione di discesa opportuna dk nei casi in cui il punto zkN non sia accettato. Una strategia di tipo watchdog consiste sostanzialmente nel controllare se µe soddisfatta una condizione di accettabilitµ a (che garantisca opportune condizioni di convergenza) durante un numero ¯nito di iterazioni di un algoritmo locale, le cui iterazioni vengono \osservate", ma non alterate (a meno di casi estremi). Durante la fase watchdog, non viene quindi \forzato" il soddisfacimento della condizione di accettabilitµ a , a di®erenza di quanto avviene nella ricerca unidimensionale, in cui le condizioni di accettabilitµ a vengono comunque soddisfatte riducendo opportunamente il passo lungo la direzione di ricerca dk . La garanzia di convergenza globale µe quindi fornita dalla ricerca unidimensionale lungo dk ; tuttavia la ricerca unidimensionale interviene solo se falliscono tutte le iterazioni locali. Questa strategia (interpretabile come un ulteriore rilassamento della monotonicitµ a) ha senso, ovviamente, solo se l'algoritmo locale µe vantaggioso, in termini di rapiditµ a di convergenza, almeno in un intorno (non noto a priori) della soluzione cercata. Si noti, in particolare, che i punti zki possono uscire dall'insieme di livello L0 , ma tutti punti xk devono restare in L0 . Si suppone che per ogni k sia generata una direzione di discesa dk tale che rf (xk )0 dk · ¡c1 krf (xk )k2 ; (8.5) kdk k · c2 krf (xk )k (8.6) per c1 ; c2 > 0. La condizione precedente µe soddisfatta assumendo, ad esempio, dk = ¡(1=®k )rf (xk ); con 0 < " · ®k · 1=": 96 Una \su±ciente" riduzione della funzione obiettivo viene valutata rispetto a un valore di riferimento de¯nito da max ff (xk¡j )g; Wk = 0·j·min(k;M) dove M > 0 µe un intero pre¯ssato (tipicamente dell'ordine di 10-20). L'algoritmo di stabilizzazione µe descritto dallo schema seguente, in cui si µe indicato con linesearch una variabile logica che assume valore true se deve essere e®ettuata una ricerca unidimensionale e valore false altrimenti. Algoritmo di stabilizzazione non nmonotono (NMS) Dati. x0 2 Rn , interi N ¸ 1, M ¸ 0, k = 0, ¾1 ; ¾2 : R+ ! R+ funzioni di forzamento. While rf (xk ) 6 = 0 do Passo 1. Calcola una direzione dk che soddis¯ le condizioni (8.5), (8.6) e poni z 0 = xk , linesearch= true Passo 2. For i = 0; 1 : : : N ¡ 1 do determina una direzione pi (con un algoritmo locale opportuno) e poni z i+1 = z i + pi © ¡ ¢ ª If f (z i+1 ) · Wk ¡ max ¾1 kz i+1 ¡ xk k ; ¾2 (kdk k)) then poni xk+1 = zi+1 , linesearch= false ed esci dal Passo 2. End if End For Passo 3. If linesearch= true then determina ¸k con un algoritmo di ricerca unidimensionale e poni xk+1 = xk + ¸k dk : End if Passo 4. Poni k = k + 1. End while 97 La ricerca unidimensionale deve essere tale da soddisfare la seguente condizione. Condizione sulla ricerca unidimensionale (LS) Sia K un sottoinsieme in¯nito di indici tale che xk+1 = xk + ¸k dk ; k 2 K: Allora: (c1) Per ogni k 2 K risulta: f (xk + ¸k dk ) · Wk ¡ ¾(¸k kdk k); dove M ¸ 0 µe un intero pre¯ssato, e ¾ : R+ ! R+ µe una funzione di forzamento; (c2) Se ff (xk )g converge e fxk gK µe limitata, si ha lim k!1;k2K rf (xk )0 dk = 0: kdk k La condizione (LS) puµ o essere soddisfatta attraverso una tecnica di ricerca unidimensionale non monotona di tipo Armijo-Goldstein. Per quanto riguarda le proprietµ a di convergenza dell'Algoritmo NMS, si puµ o dimostrare il seguente risultato. Proposizione 8.1 Supponiamo che l'insieme di livello L0 sia compatto, che fxk g sia una successione prodotta dall'algoritmo NMS e che la condizione LS sia soddisfatta. Allora: (i) fxk g ½ L0 ed ha punti limite; (ii) ogni punto limite della successione fxk g µe un punto stazionario di f in L0 , e non µe un punto di massimo locale. In [5] µe stata proposta una versione del metodo BB basata sull'Algoritmo NMS, in cui le direzioni pik , utilizzate in ciascun ciclo principale, sono de¯nite da: pik = ¡ 1 rf (zik ): ®ik Gli scalari ®ik sono de¯niti alternando, quando possibile, i valori ®a e ®b forniti dalle formule riportate in precedenza. Riferimenti [1] Barzilai, J., J.M. Borwein (1988), \Two-point step size gradient method," IMA Journal on Numerical Analysis, vol. 8, pp. 141-148. [2] Fletcher, R. (2001), \On the Barzilai-Borwein method," Numerical Analysis Report NA/207. [3] Grippo, L., F. Lampariello, S. Lucidi (1986), \A nonmonotone line search technique for Newton's method," SIAM Journal on Numerical Analysis, vol. 23, pp. 707-716. [4] Grippo, L., F. Lampariello, S. Lucidi (1991), \A class of nonmonotone stabilization methods in unconstrained optimization," Numerische Mathematik, vol. 59, pp. 779-805. 98 [5] Grippo, L., M. Sciandrone (2002), \Nonmonotone globalization techniques for the BarzilaiBorwein gradient method," Computational Optimization and Applications, vol. 23, pp. 143-169. [6] Plagianakos, V. P., G.D. Magoulas, M.N. Vrahatis (2003), \Deterministic nonmonotone strategies for e®ective training of multilayer perceptrons," IEEE Transactions on Neural Networks, vol. 13, pp. 1268-1284. [7] Raydan, M. (1993), \On the Barzilai and Borwein choice of the steplength for the gradient method," IMA Journal on Numerical Analysis, vol. 13, pp. 618-622. [8] Raydan, M. (1997), \The Barzilai and Borwein gradient method for the large scale unconstrained minimization problem," SIAM Journal on Optimization, vol. 7, pp. 26-33. 99 100 9 Metodi senza derivate 9.1 Generalitµ a Gli algoritmi che non richiedono la conoscenza delle derivate della funzione obiettivo (da non confondere con i metodi di ottimizzazione non di®erenziabile) si possono distinguere, orientativamente, in due classi - metodi alle di®erenze ¯nite, - metodi di ricerca diretta (direct search methods.) I metodi basati su tecniche alle di®erenze ¯nite possono essere ottenuti, in linea di principio, dagli algoritmi considerati in precedenza sostituendo, sia nel calcolo della direzione che nelle ricerche unidimensionali, il gradiente (e la matrice Hessiana, quando richiesta) con approssimazioni numeriche alle di®erenze. In molte applicazioni industriali, tuttavia, la funzione obiettivo non µe nota analiticamente e puµ o essere calcolata solo attraverso complesse simulazioni che introducono, tipicamente, errori tali da rendere di fatto impossibile l'impiego di tecniche alle di®erenze ¯nite. In tali applicazioni non si µe interessati, in generale, a una localizzazione accurata dei punti di minimo quanto ad una su±ciente riduzione della funzione obiettivo, da ottenere in tempi accettabili. Se il numero delle variabili non µe molto elevato (¯no a qualche centinaio, al massimo) i metodi di ricerca diretta possono risultare preferibili. I metodi di ricerca diretta comprendono diversi algoritmi, talvolta de¯niti attraverso tecniche euristiche, sprovviste di giusti¯cazioni teoriche della convergenza. Per alcuni di tali metodi, la convergenza µe stata provata formalmente in tempi abbastanza recenti. Nel seguito ci limiteremo ad illustrare una tecnica di ricerca unidimensionale senza derivate che puµ o essere utilizzata per assicurare la convergenza globale di metodi basati sull'impiego di direzioni linearmente indipendenti, come ad esempio il metodo delle coordinate. Per un'introduzione piµ u generale ai metodi di ricerca diretta, agli studi piµ u recenti sulla convergenza e alle estensioni a problemi vincolati si rinvia al lavoro: T.G.Kolda, R.M. Lewis and V.Torczon, Optimization by direct search: new perspectives on some classical and modern methods, SIAM Review, Vol.45, No. 3, 2003, pp. 385-482. 101 9.2 Ricerca unidimensionale senza derivate Consideriamo il problema di minimizzare una funzione f : Rn ! R continuamente differenziabile, utilizzando un algoritmo de¯nito dall'iterazione: xk+1 = xk + ®k dk : Ci proponiamo di studiare un metodo di ricerca unidimensionale che non richieda la conoscenza delle derivate e consenta, nelle ipotesi usuali, di soddisfare le condizioni f (xk+1 ) · f (xk ); lim kxk+1 ¡ xk k = 0; k!1 rf (xk )0 dk = 0: k!1 kdk k lim Si µe giµ a visto in precedenza (cfr. Cap. 2) che il soddisfacimento di tali condizioni, sotto opportune ipotesi su dk , consente di stabilire risultati di convergenza globale. Osserviamo preliminarmente che, in mancanza di informazioni sulle derivate, non µe possibile stabilire per via analitica se un vettore assegnato dk sia o meno una direzione di discesa per f nel punto xk . Potrebbe essere quindi conveniente disporre di criteri di ricerca unidimensionale in cui si considerano sia valori positivi che valori negativi dello spostamento µ questo il caso, ad esempio, dei metodi di ricerca lungo gli assi coordinati in cui la ®k . E ricerca va condotta in entrambi i versi di ciascun asse coordinato. Occorre inoltre tener o essere tale che ® = 0 costituisca un conto del fatto che una direzione assegnata dk puµ punto di minimo locale della funzione Á(®) = f (xk + ®dk ); per cui puµ o risultare impossibile trovare valori positivi o negativi di ® prossimi a 0 per cui Á(®) < Á(0). (In questa situazione potrebbe essere necessario utilizzare un'altra direzione nell'iterazione successiva). Non essendo disponibili le derivate, bisogna quindi de¯nire procedimenti numerici ¯niti in grado di discriminare, almeno asintoticamente, tale situzione. Nello schema successivo viene descritto un algoritmo tipo-Armijo, basato sulla condizione di accettabilitµa di tipo \parabolico": f (xk + ®dk ) · f (xk ) ¡ °®2 kdk k2 ; in cui ° > 0; dk 2 Rn e ®k 2 R. L'algoritmo termina in un numero ¯nito di passi, a partire da una stima iniziale ¢k , con due possibili risultati: = 0 che assicura una su±ciente riduzione di f e un su±- viene determinato un ®k 6 ciente spostamento - viene posto ®k = 0 (e quindi il punto corrente rimene inalterato). 102 Ricerca unidimensionale senza derivate (SD) Dati. ¢k > 0, ° > 0, ± 2 (0; 1), ½k 2 (0; 1). 1. Poni ® = ¢k . 2. While f (xk + u®dk ) > f (xk ) ¡ °®2 kdk k2 per u = §1; do If ®kdk k < ½k then poni ®k = 0, ´k = ® ed esci Else poni ® = ±® End If End while 3. Poni ® = u® (essendo u 2 f¡1; 1g il valore per cui µe soddisfatta la condizione di su±ciente riduzione). 4. Se j®j < ¢k poni ®k = ® ed esci. 5. While f (xk + µ ¶2 ® ® dk ) < minff (xk + ®dk ); f (xk ) ¡ ° ± ± kdk k2 g poni ® = ®=± End while 6. Poni ®k = ® ed esci. Si veri¯ca facilmente che se f µe limitata inferiormente l'algoritmo precedente µe ben de¯nito. Infatti, poich¶e ± < 1, il ciclo al passo 2 termina necessariamente in un numero ¯nito di riduzioni del passo. Inoltre, se il ciclo al passo 5 non terminasse in numero ¯nito di iterazioni si avrebbe j®j=± ! 1 al crescere di ® e di conseguenza, in base alle istruzioni al passo 5, il valore della funzione obiettivo dovrebbe tendere a ¡1. Osserviamo anche che, in caso di fallimento, ossia quando ®k = 0, l'algoritmo genera (in uscita) uno scalare ´k > 0 tale che f (xk § ´k dk ) > f (xk ) ¡ °´k2 kdk k2 : Vale il risultato seguente, che estende al caso in esame il risultato di convergenza giµ a stabilito per il metodo di Armijo. 103 Proposizione 9.1 (Convergenza ricerca unidimensionale senza derivate) Supponiamo che l'insieme di livello L0 = fx 2 Rn : f (x) · f (x0 )g sia compatto e che rf sia continuo su L0 . Sia fxk g una successione de¯nita xk+1 = xk + ®k dk , essendo ®k il passo calcolato per mezzo dell'Algoritmo SD e supponiamo che sia ½k ! 0 per k ! 1: Allora si ha: f (xk+1 ) · f (xk ); (9.1) lim kxk+1 ¡ xk k = 0; (9.2) rf (xk )0 dk = 0: k!1 kdk k (9.3) k!1 lim Dim. Le istruzioni dell'algoritmo assicurano che sia f (xk ) ¡ f (xk+1 ) ¸ °®2k kdk k2 ; in cui, eventualmente, ®k = 0. Si ha quindi, in ogni caso, f (xk+1 ) · f (xk ) e quindi vale la o implica che ff (xk )g ammette un limite. (9.1). Poich¶e L0 µe compatto ed f µe continua, ciµ La convergenza di ff (xk )g implica allora lim ®k kdk k = 0 k!1 (9.4) e qundi vale la (9.2). Rimane da dimostrare la (9.3). Supponiamo, per assurdo, che non sia vera. Allora deve esistere una sottosuccessione (che ride¯niamo fxk g), tale che: lim k!1 ¯ ¯ ¯rf (xk )0 dk ¯ kdk k = ¹ > 0: Poichµe fxk g µe contenuta nell'insieme compatto L0 e poichµe la successione corrispondente fdk =kdk kg µe limitata, µe possibile trovare sottosuccessioni (ride¯nite fxk g e fdk g), tali che ^; lim xk = x k!1 lim k!1 dk ^ = d: kdk k (9.5) Dalle (9.4) e (9.5) segue allora, per la continuitµ a di rf : lim k!1 ¯ ¯ ¯rf (xk )0 dk ¯ kdk k ^ = ¹ > 0: = jrf (^ x)0 dj (9.6) Distinguiamo ora due possibilitµ a: caso (i): esiste un k~ tale che per ogni k ¸ k~ si ha ®k = 0; = 0. caso (ii): esiste una sottosequenza tale che ®k 6 Nel primo caso, se ®k = 0 per k ¸ k~ ciµ o implica, in base alle istruzioni dell'algoritmo, che la condizione di su±ciente riduzione non µe stata soddisfatta, n¶e per u = 1, n¶e per u = ¡1, ~ per cui deve essere, per k ¸ k: f (xk + ´k dk ) ¡ f (xk ) > ¡°´k2 kdk k2 ; f (xk ¡ ´k dk ) ¡ f (xk ) > ¡°´k2 kdk k2 ; 104 (9.7) con ´k kdk k · ½k Essendo ½k ! 0, segue ovviamente lim ´k kdk k = 0: (9.8) k!1 Utilizzando il teorema della media, dalla (9.7) segue, con semplici passaggi: rf (uk )0 dk > ¡°´k kdk k; kdk k rf (vk )0 dk < °´k kdk k; kdk k dove, ¹k 2 (0; 1) uk = xk + ¹k ´k dk ; vk = xk ¡ ºk ´k dk ºk 2 (0; 1): Passando al limite per k ! 1 e tenendo conto della (9.8) si ottiene rf (^ x)0 d^ = 0 il che contraddice la (9.6). Supponiamo ora che valga il caso (ii), ossia che ®k 6 = 0 per una sottosequenza, ride¯nita o implica che il passo ®k deterancora come fxk g. In base alle istruzioni dell'algoritmo, ciµ minato soddisfa la condizione di accettabilitµ a f (xk + ®dk ) · f (xk ) ¡ °®2 kdk k2 ; (9.9) (in quanto si µe usciti dal ciclo al passo 2) e che ®k µe stato accettato al passo 4 oppure al passo 6. Deve valere, in ogni caso una delle due condizioni ®k ®2 dk ) ¡ f (xk ) > ¡° 2k kdk k2 ; (9.10) ± ± ®k dk ) ¸ f (xk + ®k dk ): f (xk + (9.11) ± Utilizzando il teorema della media con riferimento alla coppia costituita dalle (9.9)(9.10) oppure alla coppia costituita dalle (9.9), (9.11), considerando il limite per k ! 1 si ottiene, ragionando come nel caso precedente1 e tenendo conto della (9.4): f (xk + rf (^ x)0 d^ ¸ 0; rf (^ x)0 d^ · 0 e quindi rf (^ x)0 d^ = 0; il che contraddice la (9.6). Deve quindi valere anche la (9.3). 1 C'µe solo da osservare che il teorema della media si puµ o applicare alla (9.11) ponendo f (xk + ³ ´ ®k ®k dk ) = f xk + ®k dk + ( ¡ ®k )dk ; ± ± per cui si puµ o scrivere: f (xk + ®k ®k dk ) = f (xk + ®k dk ) + ( ¡ ®k )rf (wk )0 dk ± ± con wk = xk + ®k dk + µk ( . ®k ¡ ®k )dk ; ± 105 µk 2 (0:1) Le stesse osservazioni svolte a proposito del metodo di Armijo si possono ripetere in µ possibile anche considerare un criterio di accettabilitµ relazione all'algoritmo precedente. E a analogo a quello espresso dalle condizioni di Goldstein imponendo che siano soddisfatte le condizioni: (3:43) f (xk + ®dk ) · f (xk ) ¡ °1 ®2 kdk k2 f (xk + ®dk ) ¸ f (xk ) ¡ °2 ®2 kdk k2 ; (3:44) con °2 > °1 . Dal punto di vista geometrico, ciµ o equivale a richiedere che Á(®k ) sia compreso fra la parabola y = f (xk ) ¡ °1 ®2 kdk k2 e la parabola y = f (xk ) ¡ °2 ®2 kdk k2 : Osserviamo anche che µe possibile considerare condizioni (analoghe alle condizioni di Wolfe) che impongono limitazioni su una approssimazione della derivata di Á(®) nel punto ®k e che µe possibile de¯nire procedimenti di interpolazione quadratica che utilizzano solo i valori della funzione. In particolare, se la funzione Á(®) = f (xk + ®dk ) µe stata calcolata nei tre punti a < b < c il punto di minimo di una approssimazione quadratica µe dato da 1 ® = 2 ¤ à ! Á(a)(c2 ¡ b2 ) + Á(b)(a2 ¡ c2 ) + Á(c)(b2 ¡ a2 ) : Á(a)(c ¡ b) + Á(b)(a ¡ c) + Á(c)(b ¡ a) Questa formula puµ o essere utilizzata (dopo opportune veri¯che sulla signi¯cativitµa della stima quadratica) per determinare un nuovo valore di tentativo. Se b = 0, a = ¡¢ e c = ¢, si ha ®¤ = 1 2 µ ¶ Á(¡¢) ¡ Á(¢) ¢ Á(¡¢) ¡ 2Á(0) + Á(¢) ed occorrerµ a veri¯care che tale stima fornisca una riduzione accettabile di ¢. Il valore di ½k deve essere de¯nito in modo tale che sia ½k ! 0, almeno quando la ricerca o pensare di ridurre ½k termina con ®k = 0 per una sottosequenza in¯nita e quindi si puµ rispetto al valore precedente secondo un fattore ¾ 2 (0; 1) ogni volta che al passo 2 la ricerca termina con ®k = 0. 106 9.3 Il metodo delle coordinate Il metodo concettualmente piµ u semplice che non utilizza la conoscenza delle derivate µe il metodo delle direzioni coordinate in cui vengono utilizzate ciclicamente le direzioni ei 2 Rn degli assi coordinati. Una versione convergente µe quella de¯nita nello schema successivo. Metodo delle coordinate 1. Scegli x0 2 Rn e poni k = 0 e j0 = 1. 2. For k=0,1,. . . Assumi dk = ejk calcola il passo ®k lungo dk per mezzo dell'algoritmo SD calcola xk+1 = xk + ®k dk se jk < n poni jk+1 = jk + 1 altrimenti poni jk+1 = 1 poni k = k + 1 End for Tenendo conto della Proposizione 2.3 e della Proposizione 9.1 si puµ o enunciare il risultato seguente. Proposizione 9.2 Sia fxk g la successione prodotta dal metodo delle coordinate e si supponga che L0 sia compatto. Allora: (a) fxk g rimane in L0 ed ammette punti di accumulazione; (b) ogni punto di accumulazione di fxk g appartiene a L0 ; (c) la successione ff (xk )g converge; (d) limk!1 krf (xk )k = 0; (e) ogni punto di accumulazione x ¹ di fxk g soddisfa rf (¹ x) = 0. Si noti che, a di®erenza di quanto si µe osservato a proposito del metodo del gradiente, puµ o non convergere un algoritmo in cui il passo ®k viene scelto minimizzando f lungo dk con una ricerca esatta. Infatti, in tal caso, la condizione (9.2), che µe essenziale per giusti¯care la convergenza, puµ o non essere soddisfatta. Si puµ o mostrare che se n ¸ 3 e la funzione f non µe convessa si possono costruire esempi in cui la minimizzazione esatta lungo gli assi non assicura la convergenza. In pratica, occorre poi de¯nire un criterio di arresto che potrebbe consistere nel far terminare l'algoritmo quando tutti i passi lungo gli n assi sono su±cientemente piccoli e non si hanno riduzioni signi¯cative della funzione obiettivo. 107