1. TecNM/Instituto Tecnológico de Cd. Madero
MÉTODOS INDIRECTOS
MÉTODO DE
BROYDEN-FLETCHER-GOLDFARB-SHANNO
(APROXIMACIÓN DE LA INVERSA DE H)
Dr. David Macias Ferrer
Centro de Investigación en Petroquímica
Charles George Broyden
(1933-2011)
Roger Fletcher
(1939-2016)
David F. Shanno
(1938-)
Donald Goldfarb
(1941-)
2. MÉTODO DE BROYDEN-FLETCHER-GOLDFARB-SHANNO
Direcciones de Búsqueda, basada en la relación:
1
ˆs H xk k k
f
Donde es una aproximación de la inversa de H, para abreviar:
1
x x η xk k k k k
f
Para k = 0:1
ˆHk
1
ˆη Hk k
1
x η g x x x η g x η g g x x
η η
g x g x g x
T T T Tk k k k k k k k k k k k k k
k k
T T Tk k k k k k
La relación recurrente es
de la forma:
0
η I
Para
k 0:
Donde:
El escalar k puede estar
determinado por la
optimización de: x sk k
f
Un Criterio de convergencia adecuado
que puede ser aplicado desde el
comienzo es:
xk
f
1
1
g x x
x x x
k k k
k k k
f f
f f
3. Vector Inicial x0
Optimizar f(xk + sk ), para encontrar k
Generar el vector xk+1
Encontrar el vector de dirección sk
Vector Óptimo xopt
Evaluar la Función Objetivo en xopt, es decir f(xopt )
Solución Óptima f(xopt )
1
ˆs H xk k k
f
|f(xk)|<
1
x x η xk k k k k
f
k = k + 1
Sí
No
Actualizar k+1
MÉTODO DE BROYDEN-FLETCHER-GOLDFARB-SHANNO
4. EJEMPLO
Encuentre el vector x que minimice la función
2 2
1 2 1 2, 4 5 6f x x x x
Si: 0
8 9x
T
MÉTODO DE BROYDEN-FLETCHER-GOLDFARB-SHANNO
5. EJEMPLO
Encuentre el vector x que minimice la función
2 2
1 2 1 2, 4 5 6f x x x x
Si: 0
8 9x
T
MÉTODO DE BROYDEN-FLETCHER-GOLDFARB-SHANNO
6. EJEMPLO
Aplicando la relación de recurrencia: 1 0 0 0 0
x x η xf donde: 0
η I
El gradiente es:
1
2
8 5
2 6
x
x
f
x
0 24
6
xf
Por lo tanto, para x0:
Encuentre el vector x que minimice la función
2 2
1 2 1 2, 4 5 6f x x x x
Si: 0
8 9x
T
De aquí que:
1
1
1
2
8 24
9 6
x
x
Luego entonces:1 8 1 0 24
9 0 1 6
x
Optimizando f():
2 2 2
4 8 24 5 9 6 6 2340 612 45f
MÉTODO DE BROYDEN-FLETCHER-GOLDFARB-SHANNO
7. CONTINUACIÓN
Derivando respecto de : 4680 612
df
d
4680 612 0 Si f’() = 0 entonces:
Sustituyendo en la relación recurrente: 1 0 0 0
x x s
De aquí que: 0
0.13076923
Luego entonces:
1 8 1 0 24
0.13076923
9 0 1 6
x
1 4.861538462
8.215384615
x
1
8 4.861538462 5 1.10769231
4.430769232 8.215384615 6
xf
El gradiente para x1 es:
Donde: 0 0 0
s η xf
A diferencia del método de
Broyden, aquí tomaremos 8
decimales:
MÉTODO DE BROYDEN-FLETCHER-GOLDFARB-SHANNO
8. Para actualizar 1 aplicaremos la relación (6.33). Para k = 0:
De aquí que:
0 1.10769231 24 25.10769231
4.43076923 6 1.569230769
g
0 4.861538462 8 3.138461538
8.215384615 9 0.784615385
x
Por otro lado, para x0:
CONTINUACIÓN
0
25.107769231 1.569230769g
T
0
3.138461538 0.784615385x
T
También:
También:
1
x η g x x x η g x η g g x x
η η
g x g x g x
T T T Tk k k k k k k k k k k k k k
k k
T T Tk k k k k k
MÉTODO DE BROYDEN-FLETCHER-GOLDFARB-SHANNO
9. Para el cálculo de 1, se necesitará modificarla de tal manera que se haga más fácil su
manipulación algebraica, esto es:
3.138461538 3.138461538 1 0 25.10769231
0.784615385 0.784615385 0 1 1.569230769 0.86
25.10769231 3.138461538
1.569230769 0.784615385
x x η g
g x
T
Tk k k k
T Tk k
1538462 0.030769231
0.215384615 0.007692308
Por otro lado:
CONTINUACIÓN
3.138461538 1 0 25.10769231 3.138461538
0.784615385 0 1 1.569230769 0.784615385 0.86
25.10769231 3.138461538
1.569230769 0.784615385
x η g x
g x
T
Tk k k k
T Tk k
1538462 0.215384615
0.030769231 0.007692308
Por una parte:
1
2
x η g x x x η g x η g g
η η x x
g x g x g x
T T Tk k k k k k k k k k k k
Tk k k k
T T Tk k k k k k
MÉTODO DE BROYDEN-FLETCHER-GOLDFARB-SHANNO
11. Aplicando la relación de recurrencia: 2 1 1 1 1
x x η xf
2 4.861538462 0.127100592 0.033609467 1.107669231
8.215384615 0.033609467 1.037751479 4.430769231
x
CONTINUACIÓN
2
1
2
2
4.861538462 0.289704142
8.215384615 4.635266272
x
x
Luego entonces:
Optimizando f():
2 2
2
4 4.861538462 0.289704142 5 8.215384615 4.635266272 6
21.821407 20.858698 4.9846153
f
Derivando respecto de : 40.642814 20.858698
df
d
MÉTODO DE BROYDEN-FLETCHER-GOLDFARB-SHANNO
12. CONTINUACIÓN
40.642814 20.858698 0 Si f’() = 0 entonces: 1
0.4779411764
Sustituyendo el valor de 1:
Luego entonces:
2 5
6
x
2
1
2
2
4.861538462 0.289704142 0.4779411764
8.215384615 4.635266272 0.4779411764
x
x
2
8 5 5 0
2 6 6 0
xf
El gradiente para x2 por lo tanto es:
Nuevamente aquí el resultado numérico
es exacto debido a que se manejaron 8
decimales como en el obtenido en la
hoja de Excel
Por lo tanto el vector óptimo es:
5
6
xopt
MÉTODO DE BROYDEN-FLETCHER-GOLDFARB-SHANNO
13. En 2 etapas tenemos los siguientes resultados :
RESÚMEN
MÉTODO DE BROYDEN-FLETCHER-GOLDFARB-SHANNO
k x1 x2 f(xk) |f(xk)|
0 0.130769 8.000000 9.000000 45.000000 24.738633
1 0.477941 4.861538 8.215384 4.984615 4.567132
2 ---- 5.000000 6.000000 0.000000 0.000000
14. Por lo tanto el vector óptimo que corresponde al extremo mínimo es:
5
6
xopt
Extremo Mínimo Local
Punto Óptimo
de la Función
2 2
1 2 1 2, 4 5 6f x x x x
MÉTODO DE BROYDEN-FLETCHER-GOLDFARB-SHANNO
RESÚMEN
15. BIBLIOGRAFÍA
T.F. Edgar, D.M. Himmelblau, L.S. Lasdon, “Optimization of Chemical Processes”, 2nd
Edition, New York, USA, McGraw Hill Inc., 2001