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