El método del gradiente conjugado de Fletcher-Reeves es un método iterativo para encontrar el mínimo de una función. Se presenta un ejemplo para minimizar la función f(x)=x^2-2x+1. El método genera sucesivas direcciones de descenso conjugadas mediante 2 o 3 iteraciones hasta alcanzar un punto óptimo de x1=1, f(x1)=1.
1. TecNM/Instituto Tecnológico de Cd. Madero
MÉTODOS INDIRECTOS
MÉTODO DEL GRADIENTE CONJUGADO
(LANCZOS-HESTENES –STIEFEL, FLETCHER-REEVES)
Dr. David Macias Ferrer
Centro de Investigación en Petroquímica
Cornelius Lanczos
(1893 - 1974)
Magnus Rudolph
Hestenes
(1906 - 1991)
Roger Fletcher
(1939 - 2016)
Eduard Stiefel
(1909 - 1978)
2. MÉTODO DEL GRADIENTE CONJUGADO (FLETCHER-REEVES)
Direcciones de Búsqueda, basada en la relación:
2
1
1 1
2
x
s x s
x
k
k k k
k
f
f
f
1. Para la minimización se elige el signo negativo del gradiente (f(xk))
2. Para la maximización se elige el signo positivo del gradiente (f(xk))
3. La dirección inicial s0 estará dada por:
... (6.10)
La relación recurrente es
de la forma:
1
x x sk k k k
El escalar k puede
estar determinado
por:
x s
s H x s
T k k
Opt k
Tk k k
f
... (6.5)
La optimización de : x sk k
f
0 0
s xf
Un Criterio de convergencia adecuado
puede ser:
xk
f
3. Vector Inicial x0
Optimizar f(x0 + s0 ), para encontrar 0
Generar el vector x1
Encontrar el vector de dirección s0
Vector Óptimo xopt
Evaluar la Función Objetivo en xopt, es decir f(xopt ) Solución Óptima f(xopt )
0 0
s xf
|f(xk)|<
1 0 0 0
x x s
k = 0
Sí
No
MÉTODO DEL GRADIENTE CONJUGADO (FLETCHER-REEVES)
k = k + 1
Optimizar f(xk + sk ), para encontrar k
Generar el vector xk+1
Encontrar el vector de dirección sk+1
2
1
1 1
2
x
s x s
x
k
k k k
k
f
f
f
1
x x sk k k k
4. EJEMPLO
Encuentre el vector x que minimice la función
2 2
1 2 1 2, 2 1 1f x x x x
Si: 0
2 2x
T
MÉTODO DE FLETCHER-REEVES
5. EJEMPLO
Encuentre el vector x que minimice la función
2 2
1 2 1 2, 2 1 1f x x x x
Si: 0
2 2x
T
MÉTODO DE FLETCHER-REEVES
6. EJEMPLO
Encuentre el vector x que minimice la función
2 2
1 2 1 2, 2 1 1f x x x x
Si: 0
2 2x
T
El gradiente es:
1
2
4 1
2 1
x
x
f
x
El vector de dirección s0 es: 0 0 4
2
s f x
Aplicando la relación recurrente para k = 0:
1 0 0 0
x x s
De aquí que:
1
1
1
2
2 4
2 2
x
x
Luego entonces:1 2 4
2 2
x
0 4
2
xf
Por lo tanto, para x0:
Optimizando f():
2 2 2
2 2 4 1 1 2 2 3 20 36f
MÉTODO DE FLETCHER-REEVES
7. CONTINUACIÓN
Derivando respecto de : 72 20
df
d
72 20 0 Si f’() = 0 entonces:
Sustituyendo en la relación recurrente:
1 0 0 0
x x s
De aquí que: 0
0.2778
Luego entonces:
1 2 4
0.2778
2 2
x
1 0.8888
1.4444
x
1
4 0.8888 1 0.4448
2 1 1.4444 0.8888
xf
El gradiente para x1 es:
MÉTODO DE FLETCHER-REEVES
8. CONTINUACIÓN
Aplicando la relación:
2
1
1 1 0
2
0
x
s x s
x
f
f
f
2
2 2
1
2
2 2
0.4448 0.88880.4448 4
0.8888 2
4 2
s
Si f’() = 0 entonces:
2 1 1 1
x x s
De aquí que:
1 0.2473
0.9876
s
Aplicando la relación recurrente para k = 1:
De aquí que:
2
1
2
2
0.8888 0.2473
1.4444 0.9876
x
x
Luego:
2 08888 0.2473
1.4444 0.9876
x
MÉTODO DE FLETCHER-REEVES
9. CONTINUACIÓN
Optimizando f():
2 2
2
2 0.8888 0.2473 1 1 1.4444 0.9876
1.097 0.9877 0.2222
f
Derivando respecto de : 2.195 0.9877
df
d
2.195 0.9877 0 Si f’() = 0 entonces:
Sustituyendo en la relación recurrente:
2 1 1 1
x x s
De aquí que: 1
0.4499
Luego entonces:
2 08888 0.2473
0.4499
1.4444 0.9876
x
2 1
1
x
MÉTODO DE FLETCHER-REEVES
11. Por lo tanto el vector óptimo que corresponde al extremo mínimo es:
1
1
xopt
Extremo Mínimo Local
Punto Óptimo
de la Función
2 2
1 2 1 2, 2 1 1f x x x x
RESÚMEN
MÉTODO DE FLETCHER-REEVES