Metodi di Quasi Newton - · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k...
Transcript of Metodi di Quasi Newton - · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k...
Metodi di Quasi Newton
Stefano GualandiUniversità di Pavia, Dipartimento di Matematica
email: [email protected]: @famo2spaghiblog: http://stegua.github.com
Metodi di Newton
Data la generica direzione di discesa
dk = −B−1k ∇f (xk), (1)
diverse scelte della matrice Bk portano a diversi metodi:
1 Bk = I: se Bk è la matrice identità, otteniamo il metodo dimassima discesa, chiamato anche metodo del (anti) gradiente.
2 Bk = ∇2f (xk): se Bk è pari alla matrice Hessiana valutataall’iterata corrente, otteniamo il metodo di Newton.
3 Bk ≈ ∇2f (xk): se Bk è solo un’approssimazione della matriceHessiana all’iterata corrente, allora abbiamo un metodo diquasi-Newton.
Metodi di Newton
Data la generica direzione di discesa
dk = −B−1k ∇f (xk), (1)
diverse scelte della matrice Bk portano a diversi metodi:
1 Bk = I: se Bk è la matrice identità, otteniamo il metodo dimassima discesa, chiamato anche metodo del (anti) gradiente.
2 Bk = ∇2f (xk): se Bk è pari alla matrice Hessiana valutataall’iterata corrente, otteniamo il metodo di Newton.
3 Bk ≈ ∇2f (xk): se Bk è solo un’approssimazione della matriceHessiana all’iterata corrente, allora abbiamo un metodo diquasi-Newton.
Metodi di Newton
Data la generica direzione di discesa
dk = −B−1k ∇f (xk), (1)
diverse scelte della matrice Bk portano a diversi metodi:
1 Bk = I: se Bk è la matrice identità, otteniamo il metodo dimassima discesa, chiamato anche metodo del (anti) gradiente.
2 Bk = ∇2f (xk): se Bk è pari alla matrice Hessiana valutataall’iterata corrente, otteniamo il metodo di Newton.
3 Bk ≈ ∇2f (xk): se Bk è solo un’approssimazione della matriceHessiana all’iterata corrente, allora abbiamo un metodo diquasi-Newton.
Metodi di Newton
Data la generica direzione di discesa
dk = −B−1k ∇f (xk), (1)
diverse scelte della matrice Bk portano a diversi metodi:
1 Bk = I: se Bk è la matrice identità, otteniamo il metodo dimassima discesa, chiamato anche metodo del (anti) gradiente.
2 Bk = ∇2f (xk): se Bk è pari alla matrice Hessiana valutataall’iterata corrente, otteniamo il metodo di Newton.
3 Bk ≈ ∇2f (xk): se Bk è solo un’approssimazione della matriceHessiana all’iterata corrente, allora abbiamo un metodo diquasi-Newton.
Metodi di Ottimizzazione
Metodi di OttimizzazioneI metodi numerici per il calcolo di minimi di una funzione obiettivosono di tipo iterativo: a partire da un dato punto iniziale x0 ∈ Rn
generano una successione di punti xk convergente ad un puntostazionario.
SCHEMA GENERICO DI ALGORITMO ITERATIVO1 Sia dato x0 e un valore di tolleranza numerica toll2 while(||∇f (xk)||∞ > 10−13) (Verifica C.N. I ordine)3 il metodo genera un vettore hk
4 xk+1 = xk + hk (aggiornamento dell’iterata)5 end
La scelta fatta del vettore hk differenzia il metodo usato.
Metodi di Ottimizzazione
Metodi di OttimizzazioneI metodi numerici per il calcolo di minimi di una funzione obiettivosono di tipo iterativo: a partire da un dato punto iniziale x0 ∈ Rn
generano una successione di punti xk convergente ad un puntostazionario.
SCHEMA GENERICO DI ALGORITMO ITERATIVO1 Sia dato x0 e un valore di tolleranza numerica toll2 while(||∇f (xk)||∞ > 10−13) (Verifica C.N. I ordine)3 il metodo genera un vettore hk
4 xk+1 = xk + hk (aggiornamento dell’iterata)5 end
La scelta fatta del vettore hk differenzia il metodo usato.
Metodi di Quasi-Newton
Punti principali
I metodi di quasi Newton sono stati introdotti per ovviareall’eccessivo carico computazionale dei metodi di Newton puri.
Le direzioni di ricerca di quasi Newton non richiedono ilcalcolo della matrice Hessiana e hanno una velocità diconvergenza superlineare.
Al posto della vera matrice Hessiana ∇2f (xk) si usa una suaapprossimazione data da una matrice Bk definita in modoopportuno
Gli update della matrice Bk si basano sull’idea che ledifferenze del gradiente ∇f (xk) tra due iterate successivefornisce delle informazioni sulla derivata seconda di f () lungala direzione di ricerca.
Punti principali
I metodi di quasi Newton sono stati introdotti per ovviareall’eccessivo carico computazionale dei metodi di Newton puri.
Le direzioni di ricerca di quasi Newton non richiedono ilcalcolo della matrice Hessiana e hanno una velocità diconvergenza superlineare.
Al posto della vera matrice Hessiana ∇2f (xk) si usa una suaapprossimazione data da una matrice Bk definita in modoopportuno
Gli update della matrice Bk si basano sull’idea che ledifferenze del gradiente ∇f (xk) tra due iterate successivefornisce delle informazioni sulla derivata seconda di f () lungala direzione di ricerca.
Punti principali
I metodi di quasi Newton sono stati introdotti per ovviareall’eccessivo carico computazionale dei metodi di Newton puri.
Le direzioni di ricerca di quasi Newton non richiedono ilcalcolo della matrice Hessiana e hanno una velocità diconvergenza superlineare.
Al posto della vera matrice Hessiana ∇2f (xk) si usa una suaapprossimazione data da una matrice Bk definita in modoopportuno
Gli update della matrice Bk si basano sull’idea che ledifferenze del gradiente ∇f (xk) tra due iterate successivefornisce delle informazioni sulla derivata seconda di f () lungala direzione di ricerca.
Punti principali
I metodi di quasi Newton sono stati introdotti per ovviareall’eccessivo carico computazionale dei metodi di Newton puri.
Le direzioni di ricerca di quasi Newton non richiedono ilcalcolo della matrice Hessiana e hanno una velocità diconvergenza superlineare.
Al posto della vera matrice Hessiana ∇2f (xk) si usa una suaapprossimazione data da una matrice Bk definita in modoopportuno
Gli update della matrice Bk si basano sull’idea che ledifferenze del gradiente ∇f (xk) tra due iterate successivefornisce delle informazioni sulla derivata seconda di f () lungala direzione di ricerca.
Partiamo dal teorema di Taylor nella forma
∇f (x + p) = ∇f (x) +∫ 1
0∇2f (x + tp)p dt
aggiungiamo e sottraiamo il termine ∇2f (x) p ottenendo
∇f (x + p) = ∇f (x) +∇2f (x) p +∫ 1
0[∇2f (x + tp)−∇2f (x)] p dt
Poiché ∇f è continuo, la dimensione dell’ultimo termine dell’integrale èo(||p||). Ponendo x = xk e p = xk+1 − xk , otteniamo
∇f (xk+1) = ∇f (xk) +∇2f (xk)(xk+1 − xk) + o(||xk+1 − xk ||).Quando xk e xk+1 si trovano in un intorno della soluzione ottima x∗, intorno nelquale ∇2f (x) è definito positivo, il termine finale viene in pratica dominato daltermine ∇2f (xk)(xk+1 − xk), e possiamo scrivere
∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (2)
Partiamo dal teorema di Taylor nella forma
∇f (x + p) = ∇f (x) +∫ 1
0∇2f (x + tp)p dt
aggiungiamo e sottraiamo il termine ∇2f (x) p ottenendo
∇f (x + p) = ∇f (x) +∇2f (x) p +∫ 1
0[∇2f (x + tp)−∇2f (x)] p dt
Poiché ∇f è continuo, la dimensione dell’ultimo termine dell’integrale èo(||p||).
Ponendo x = xk e p = xk+1 − xk , otteniamo
∇f (xk+1) = ∇f (xk) +∇2f (xk)(xk+1 − xk) + o(||xk+1 − xk ||).Quando xk e xk+1 si trovano in un intorno della soluzione ottima x∗, intorno nelquale ∇2f (x) è definito positivo, il termine finale viene in pratica dominato daltermine ∇2f (xk)(xk+1 − xk), e possiamo scrivere
∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (2)
Partiamo dal teorema di Taylor nella forma
∇f (x + p) = ∇f (x) +∫ 1
0∇2f (x + tp)p dt
aggiungiamo e sottraiamo il termine ∇2f (x) p ottenendo
∇f (x + p) = ∇f (x) +∇2f (x) p +∫ 1
0[∇2f (x + tp)−∇2f (x)] p dt
Poiché ∇f è continuo, la dimensione dell’ultimo termine dell’integrale èo(||p||). Ponendo x = xk e p = xk+1 − xk , otteniamo
∇f (xk+1) = ∇f (xk) +∇2f (xk)(xk+1 − xk) + o(||xk+1 − xk ||).
Quando xk e xk+1 si trovano in un intorno della soluzione ottima x∗, intorno nelquale ∇2f (x) è definito positivo, il termine finale viene in pratica dominato daltermine ∇2f (xk)(xk+1 − xk), e possiamo scrivere
∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (2)
Partiamo dal teorema di Taylor nella forma
∇f (x + p) = ∇f (x) +∫ 1
0∇2f (x + tp)p dt
aggiungiamo e sottraiamo il termine ∇2f (x) p ottenendo
∇f (x + p) = ∇f (x) +∇2f (x) p +∫ 1
0[∇2f (x + tp)−∇2f (x)] p dt
Poiché ∇f è continuo, la dimensione dell’ultimo termine dell’integrale èo(||p||). Ponendo x = xk e p = xk+1 − xk , otteniamo
∇f (xk+1) = ∇f (xk) +∇2f (xk)(xk+1 − xk) + o(||xk+1 − xk ||).Quando xk e xk+1 si trovano in un intorno della soluzione ottima x∗,
intorno nelquale ∇2f (x) è definito positivo, il termine finale viene in pratica dominato daltermine ∇2f (xk)(xk+1 − xk), e possiamo scrivere
∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (2)
Partiamo dal teorema di Taylor nella forma
∇f (x + p) = ∇f (x) +∫ 1
0∇2f (x + tp)p dt
aggiungiamo e sottraiamo il termine ∇2f (x) p ottenendo
∇f (x + p) = ∇f (x) +∇2f (x) p +∫ 1
0[∇2f (x + tp)−∇2f (x)] p dt
Poiché ∇f è continuo, la dimensione dell’ultimo termine dell’integrale èo(||p||). Ponendo x = xk e p = xk+1 − xk , otteniamo
∇f (xk+1) = ∇f (xk) +∇2f (xk)(xk+1 − xk) + o(||xk+1 − xk ||).Quando xk e xk+1 si trovano in un intorno della soluzione ottima x∗, intorno nelquale ∇2f (x) è definito positivo,
il termine finale viene in pratica dominato daltermine ∇2f (xk)(xk+1 − xk), e possiamo scrivere
∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (2)
Partiamo dal teorema di Taylor nella forma
∇f (x + p) = ∇f (x) +∫ 1
0∇2f (x + tp)p dt
aggiungiamo e sottraiamo il termine ∇2f (x) p ottenendo
∇f (x + p) = ∇f (x) +∇2f (x) p +∫ 1
0[∇2f (x + tp)−∇2f (x)] p dt
Poiché ∇f è continuo, la dimensione dell’ultimo termine dell’integrale èo(||p||). Ponendo x = xk e p = xk+1 − xk , otteniamo
∇f (xk+1) = ∇f (xk) +∇2f (xk)(xk+1 − xk) + o(||xk+1 − xk ||).Quando xk e xk+1 si trovano in un intorno della soluzione ottima x∗, intorno nelquale ∇2f (x) è definito positivo, il termine finale viene in pratica dominato daltermine ∇2f (xk)(xk+1 − xk), e possiamo scrivere
∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (2)
Equazione di Quasi Newton diretta
Sfruttando la
∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (3)
l’approssimazione successiva Bk+1 della matrice Hessiana vienescelta in modo che venga soddisfatta l’equazione di quasiNewton diretta
Bk+1hk = pk (4)
in cui hk = (xk+1 − xk) e pk = ∇f (xk+1)−∇f (xk).
Tipicamente, si richiede inoltre che Bk+1 sia simmetrica,poiché la vera matrice Hessiana è simmetricaL’approssimazione iniziale B0 viene definita dall’utente, e puòsempre essere posta uguale alla matrice identità.
Equazione di Quasi Newton diretta
Sfruttando la
∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (3)
l’approssimazione successiva Bk+1 della matrice Hessiana vienescelta in modo che venga soddisfatta l’equazione di quasiNewton diretta
Bk+1hk = pk (4)
in cui hk = (xk+1 − xk) e pk = ∇f (xk+1)−∇f (xk).
Tipicamente, si richiede inoltre che Bk+1 sia simmetrica,poiché la vera matrice Hessiana è simmetrica
L’approssimazione iniziale B0 viene definita dall’utente, e puòsempre essere posta uguale alla matrice identità.
Equazione di Quasi Newton diretta
Sfruttando la
∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (3)
l’approssimazione successiva Bk+1 della matrice Hessiana vienescelta in modo che venga soddisfatta l’equazione di quasiNewton diretta
Bk+1hk = pk (4)
in cui hk = (xk+1 − xk) e pk = ∇f (xk+1)−∇f (xk).
Tipicamente, si richiede inoltre che Bk+1 sia simmetrica,poiché la vera matrice Hessiana è simmetricaL’approssimazione iniziale B0 viene definita dall’utente, e puòsempre essere posta uguale alla matrice identità.
Equazione di Quasi Newton inversa
Per semplicità di notazione, spesso si scrivono le formule diaggiornamento usando la matrice Gk = B−1
k , ovvero Gk è l’inversadella matrice Bk che approssima la matrice HessianaHk = ∇2f (xk).
Ovvero si usa l’equazione di quasi Newton inversa:
Gk+1pk = hk (5)
invece di usare l’equazione di Newton diretta:
dk = −∇2f (xk)−1∇f (xk)
Equazione di Quasi Newton inversa
Per semplicità di notazione, spesso si scrivono le formule diaggiornamento usando la matrice Gk = B−1
k , ovvero Gk è l’inversadella matrice Bk che approssima la matrice HessianaHk = ∇2f (xk).
Ovvero si usa l’equazione di quasi Newton inversa:
Gk+1pk = hk (5)
invece di usare l’equazione di Newton diretta:
dk = −∇2f (xk)−1∇f (xk)
Formula di aggiornamento di rango uno 1/2
Partendo da
Gk+1pk = hk
con la formula di aggiornamento di rango uno si impone
Gk+1pk = Gkpk + cuuTpk = hk
ovvero
Gk+1 = Gk + cuuT
Se si sceglie il coefficiente c in modo che valga la relazione cuTpk = 1, ovvero
c = 1uTpk
e si impone u = hk − Gkpk , la formula di aggiornamento di Gk+1 a partire daGk diventa
Gk+1 = Gk + (hk − Gkpk)(hk − Gkpk)T
(hk − Gkpk)Tpk
Formula di aggiornamento di rango uno 1/2
Partendo da
Gk+1pk = hk
con la formula di aggiornamento di rango uno si impone
Gk+1pk = Gkpk + cuuTpk = hk
ovvero
Gk+1 = Gk + cuuT
Se si sceglie il coefficiente c in modo che valga la relazione cuTpk = 1, ovvero
c = 1uTpk
e si impone u = hk − Gkpk , la formula di aggiornamento di Gk+1 a partire daGk diventa
Gk+1 = Gk + (hk − Gkpk)(hk − Gkpk)T
(hk − Gkpk)Tpk
Formula di aggiornamento di rango uno 1/2
Partendo da
Gk+1pk = hk
con la formula di aggiornamento di rango uno si impone
Gk+1pk = Gkpk + cuuTpk = hk
ovvero
Gk+1 = Gk + cuuT
Se si sceglie il coefficiente c in modo che valga la relazione cuTpk = 1, ovvero
c = 1uTpk
e si impone u = hk − Gkpk , la formula di aggiornamento di Gk+1 a partire daGk diventa
Gk+1 = Gk + (hk − Gkpk)(hk − Gkpk)T
(hk − Gkpk)Tpk
Formula di aggiornamento di rango uno 1/2
Partendo da
Gk+1pk = hk
con la formula di aggiornamento di rango uno si impone
Gk+1pk = Gkpk + cuuTpk = hk
ovvero
Gk+1 = Gk + cuuT
Se si sceglie il coefficiente c in modo che valga la relazione cuTpk = 1, ovvero
c = 1uTpk
e si impone u = hk − Gkpk , la formula di aggiornamento di Gk+1 a partire daGk diventa
Gk+1 = Gk + (hk − Gkpk)(hk − Gkpk)T
(hk − Gkpk)Tpk
Formula di aggiornamento di rango uno 2/2
Proprietà 1Gk converge a ∇2f (xk)−1 per funzioni quadratiche anche se αknon viene calcolato in modo ottimo.
Permangono però due problemi:1 Gk non rimane definita positiva ad ogni iterazione e quindi
non abbiamo garanzia che la direzione scelta sia sempre unadirezione di discesa.
2 Il valore uTpk può diventare molto piccolo introducendo cosìdei problemi di stabilità numerica.
Formula di aggiornamento di rango uno 2/2
Proprietà 1Gk converge a ∇2f (xk)−1 per funzioni quadratiche anche se αknon viene calcolato in modo ottimo.
Permangono però due problemi:
1 Gk non rimane definita positiva ad ogni iterazione e quindinon abbiamo garanzia che la direzione scelta sia sempre unadirezione di discesa.
2 Il valore uTpk può diventare molto piccolo introducendo cosìdei problemi di stabilità numerica.
Formula di aggiornamento di rango uno 2/2
Proprietà 1Gk converge a ∇2f (xk)−1 per funzioni quadratiche anche se αknon viene calcolato in modo ottimo.
Permangono però due problemi:1 Gk non rimane definita positiva ad ogni iterazione e quindi
non abbiamo garanzia che la direzione scelta sia sempre unadirezione di discesa.
2 Il valore uTpk può diventare molto piccolo introducendo cosìdei problemi di stabilità numerica.
Formula di aggiornamento di rango uno 2/2
Proprietà 1Gk converge a ∇2f (xk)−1 per funzioni quadratiche anche se αknon viene calcolato in modo ottimo.
Permangono però due problemi:1 Gk non rimane definita positiva ad ogni iterazione e quindi
non abbiamo garanzia che la direzione scelta sia sempre unadirezione di discesa.
2 Il valore uTpk può diventare molto piccolo introducendo cosìdei problemi di stabilità numerica.
Davidon, Fletcher, Powell: Metodo DFP
Formula di aggiornamento di rango due: DFP
Con la formula di aggiornamento di rango due si impone
Gk+1 = Gk + cuuT + dvvT
In questo caso, se si sceglie di imporre le relazioni
u = hk , cuTpk = 1, v = Gkpk , dvTpk = −1
si ottiene la formula di aggiornamento seguente:
(DFP) Gk+1 = Gk + hkhTk
hTk pk
− GkpkpTk Gk
pTk Gkpk
Formula di aggiornamento di rango due: DFP
Proprietà 2Se f (x) è una funzione qualsiasi il metodo DFP
1 Se G0 è definita positiva (e.g., G0 = I), il metodo genera matrici Gkdefinite positive, quindi ad ogni passo le direzioni dk sono di discesa
2 Ha una rapidità di convergenza superlineare3 Ha un costo computazionale dell’ordine O(n2) per iterazione
Proprietà 3Se f (x) è una funzione convessa il metodo DFP con ricerca esatta del passo αkconverge.
Questo significa che la convergenza è garantita anche quando la matrice G0non è inizializzata con la matrice identità
Formula di aggiornamento di rango due: DFP
Proprietà 2Se f (x) è una funzione qualsiasi il metodo DFP
1 Se G0 è definita positiva (e.g., G0 = I), il metodo genera matrici Gkdefinite positive, quindi ad ogni passo le direzioni dk sono di discesa
2 Ha una rapidità di convergenza superlineare3 Ha un costo computazionale dell’ordine O(n2) per iterazione
Proprietà 3Se f (x) è una funzione convessa il metodo DFP con ricerca esatta del passo αkconverge.
Questo significa che la convergenza è garantita anche quando la matrice G0non è inizializzata con la matrice identità
Formula di aggiornamento di rango due: DFP
Proprietà 2Se f (x) è una funzione qualsiasi il metodo DFP
1 Se G0 è definita positiva (e.g., G0 = I), il metodo genera matrici Gkdefinite positive, quindi ad ogni passo le direzioni dk sono di discesa
2 Ha una rapidità di convergenza superlineare3 Ha un costo computazionale dell’ordine O(n2) per iterazione
Proprietà 3Se f (x) è una funzione convessa il metodo DFP con ricerca esatta del passo αkconverge.
Questo significa che la convergenza è garantita anche quando la matrice G0non è inizializzata con la matrice identità
Formula di aggiornamento di rango due: DFP
Proprietà 4Se f (x) è una funzione quadratica il metodo DFP con ricerca esatta del passoαk
1 Termina in n iterazioni con Gn+1 = ∇2f (xn)−1
2 Genera direzioni che soddisfano la seguente condizione:
dTi ∇2f (x)dj = 0, per ogni i 6= j
In pratica le direzioni generate sono coniugate;3 Quando G0 = I, genera gradienti coniugati4 Gk+1pi = hi , con i = 1, . . . , k, ovvero, la relazione (??) viene soddisfatta
in maniera retroattiva.
La proprietà precedente ci dice che, in pratica, quando questo metodo vieneapplicato alle funzioni quadratiche, esso converge in un numero di iterazioni alpiù pari alla dimensione dello spazio di ricerca, cioè in n passi
Formula di aggiornamento di rango due: DFP
Proprietà 4Se f (x) è una funzione quadratica il metodo DFP con ricerca esatta del passoαk
1 Termina in n iterazioni con Gn+1 = ∇2f (xn)−1
2 Genera direzioni che soddisfano la seguente condizione:
dTi ∇2f (x)dj = 0, per ogni i 6= j
In pratica le direzioni generate sono coniugate;3 Quando G0 = I, genera gradienti coniugati4 Gk+1pi = hi , con i = 1, . . . , k, ovvero, la relazione (??) viene soddisfatta
in maniera retroattiva.
La proprietà precedente ci dice che, in pratica, quando questo metodo vieneapplicato alle funzioni quadratiche, esso converge in un numero di iterazioni alpiù pari alla dimensione dello spazio di ricerca, cioè in n passi
Formula di aggiornamento di rango due: BFGS
Formula di aggiornamento di rango due: BFGS
In questo caso partiamo dall’equazione di quasi Newton diretta
H(xk)hk ≈ pk
e imponiamo alla matrice Bk di soddisfarla come uguaglianza.
Cerchiamo quindi direttamente una formula di aggiornamento di rango due siimpone
Bk+1 = Bk + cuuT + dvvT
e con passaggi analoghi a quelli visti nella sezione precedente si arrivaall’espressione
(BFGS) Bk = Bk + pkpTk
pTk hk− BkhkhT
k Bk
hTk Bkhk
dove sono stati invertiti i ruoli di h e p.
Formula di aggiornamento di rango due: BFGS
In questo caso partiamo dall’equazione di quasi Newton diretta
H(xk)hk ≈ pk
e imponiamo alla matrice Bk di soddisfarla come uguaglianza.Cerchiamo quindi direttamente una formula di aggiornamento di rango due siimpone
Bk+1 = Bk + cuuT + dvvT
e con passaggi analoghi a quelli visti nella sezione precedente si arrivaall’espressione
(BFGS) Bk = Bk + pkpTk
pTk hk− BkhkhT
k Bk
hTk Bkhk
dove sono stati invertiti i ruoli di h e p.
Formula di aggiornamento di rango due: BFGS
Il metodo BFGS è più robusto del metodo DFP rispetto agli erroridi arrotondamento ed in particolare vale la seguente
Proprietà 5Data una funzione f (x) il metodo BFGS converge globalmentepurché la ricerca monodimensionale di αk soddisfi la condizione disufficiente riduzione della f (x) data dalla Condizione di Armijo,delle Condizione di curvatura e della Condizione d’angolo.