You are on page 1of 12

Optimizacin Matemtica

1 Mtodo del Gradiente Conjugado de Fletcher-Reeves


How shall I reach
the top?
No time for thus
reflecting!
Start to climb!
Friedrich Nietzsche
Excelsior, 1882

Introduccin

El mtodo del Gradiente Conjugado de Fletcher-
Reeves (GCRV) es una modificacin del mtodo del
Gradiente Conjugado (GC) realizado por Hestenes y
Stiefel en 1952, pero tambin de otros trabajos como los
de: Fletcher y Powell (1963), Davidon (1959),
Beckman (1960). Como su nombre lo indica, este trabajo
fue realizado por R. Fletcher y C. M. Reeves en 1964 y
fue publicado en The Computer Journal del mismo ao, en la Figura 1 se muestra un
fragmento de este trabajo. El mtodo del GCRV forma parte de la familia de los mtodos de
descenso del gradiente y toma sus principios del mtodo de direcciones conjugadas.


Figura 1. Fragmento del artculo del trabajo Minimizacin de funciones por gradientes conjugado. Tomado
de Fletcher & Reeves, 1964.

Como nos dice la frase de Nietzsche, geomtricamente hablando, nos gustara
escalar tan rpido como sea posible, aunque la nica informacin que tenemos de la
montaa proviene de las experiencias pasadas que tenemos, en este caso la nica
informacin es el gradiente de la funcin, la cual nos indicar la direccin en donde se tiene
el mximo crecimiento de la funcin (para nuestros fines queremos el mximo descenso,
por eso se toma el negativo del gradiente).
El mtodo de GCFR se utiliza para minimizar funciones generales (cuadrticas y no
cuadrticas), en la siguiente seccin se describir el algoritmo para funciones cuadrticas y
al final del documento se esbozar muy brevemente la forma de minimizar funciones
generales.

Optimizacin Matemtica
2 Mtodo del Gradiente Conjugado de Fletcher-Reeves
Qu es lo que vara este mtodo del mtodo del gradiente conjugado?

Prcticamente en este mtodo cambia dos cuestiones:
- Direccin de bsqueda
Siguiendo la filosofa del mtodo de direcciones conjugadas, se construirn direcciones
de bsqueda que sean conjugadas (ortogonales) al gradiente en un punto. Las bsquedas
sern lineales. En la Error! Reference source not found. se presenta grficamente una direccin
de bsqueda lineal.

Figura 2. Direccin de bsqueda lineal, la cual es conjugada al gradiente en el nuevo punto. Tomado de
Fletcher, 2000.

- Tamao de paso

A travs de la direccin de bsqueda lineal avanzaremos (tamao de paso) hasta que la
funcin se minimice en esta lnea recta. En la Figura 3 se muestra un ejemplo de hasta
dnde se avanza en la direccin para encontrar el siguiente punto.


Optimizacin Matemtica
3 Mtodo del Gradiente Conjugado de Fletcher-Reeves

Figura 3. Tamao de paso a travs de una bsqueda lineal. Tomado de Fletcher, 2000.
Algoritmo de Fletcher-Reeves

El algoritmo para minimizar funciones cuadrticas es el siguiente:
0
Y
Punto de partida
( )
0 o
d f Y = V
Direccin de bsqueda lineal inicial

1 k k k k
Y Y c d
+
= +
Nuevo punto

donde

( )
( )
( ) ( )
( ) ( )
1 1
1 1
min
k k k k
k k k k
k k
k
k k
c f Y c d
d f Y t d
f Y f Y
t
f Y f Y
+ +
+ +
= +
= V +
V V
=
V V

Como podemos observar, la estructura de este mtodo es similar a la de los mtodos
de gradiente, y como se menciono en la seccin anterior, el tamao de paso (ck) se adopta
hasta minimizar la funcin en el nuevo punto. Para encontrar el tamao de paso (minimizar
la funcin que depende de ck) se puede utilizar cualquier mtodo para minimizar funciones
de una variable que se han abordado en este curso.
Tamao de paso
Nueva direccin de bsqueda

Optimizacin Matemtica
4 Mtodo del Gradiente Conjugado de Fletcher-Reeves
La construccin de la nueva direccin de bsqueda (
1 k
d
+
), estar dada por una
combinacin lineal de gradientes, y
k
t nos indicar la proporcin de la bsqueda anterior
que compondr la nueva direccin.
El algoritmo se detiene hasta que no podamos avanzar ms, es decir hasta que
( )
1 k
f Y
+
V sea nulo.
A continuacin se presentarn dos ejemplos de minimizacin de funciones
utilizando el mtodo de GCFR.


Ejemplo 1

Minimizar
( )
2 2
1 2 1 2 1 2 1 2
, 8 f x x x x x x x x = + + + + , empezando en
( )
0
1,1 Y = .

Lo primero que realizaremos es calcular el gradiente de esta funcin y se evala en
el punto inicial, con lo cual obtendremos una direccin inicial de partida.

( ) ( )
( ) ( ) ( )
( ) ( )
1 2 1 2 2 1
0
0 0
, 2 1, 2 1
1,1 4, 4
4, 4
f x x x x x x
f Y f
d f Y
V = + + + +
V = V =
= V =

Con el punto y la direccin de bsqueda inicial podemos construir el siguiente
punto, dado por
( ) ( )
( )
1 0 0 0
0
0 0
1,1 4, 4
1 4 ,1 4
Y Y c d
c
c c
= +
= +
=

Como podemos notar el punto depende del tamao de paso a tomar, este tamao se
determina como
( ) ( )
0 0 0 0 1
min min c f Y c d f Y = + =


Optimizacin Matemtica
5 Mtodo del Gradiente Conjugado de Fletcher-Reeves
Sustituyendo Y1 en la funcin y realizando el algebra correspondiente, obtenemos la
funcin que depende del tamao de paso inicial
( ) ( ) ( )
( ) ( ) ( )( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( )
1 0 0 0
2 2
0 0 0 0 0 0
2 2 2
0 0 0 0
2
0 0
1 4 ,1 4
1 4 1 4 1 4 1 4 1 4 1 4 8
1 4 1 4 1 4 2 1 4 8
3 1 4 2 1 4 8
f Y f c f c c
c c c c c c
c c c c
c c
= =
= + + + +
= + + +
= +




Una vez obtenida esta funcin, procedemos a encontrar este tamao de paso talque
minimice la funcin anterior, dado por
( ) ( )( ) ( )
0 0
0
0
0
6 1 4 4 2 4
24 96 8
96 32 0
32 1
96 3
f c c
c
c
c
' = +
= +
= =
= =

Sustituyendo este tamao de paso en Y1, podemos conocer el nuevo punto
1
1 1 1 1
1 4 ,1 4 ,
3 3 3 3
Y
| |
| | | | | |
= =
| | | |
\ . \ . \ .
\ .

Ahora veamos la nueva direccin de bsqueda, la cual est dada por:
( )
( ) ( ) ( )
1 1 0 0
0 0 0
0, 0 4, 4 4 , 4
d f Y t d
t t t
= V +
= + =

donde
( ) ( )
( ) ( )
( ) ( )
( ) ( )
1 1
0
0 0
0, 0 0, 0
0
0
4, 4 4, 4 32
f Y f Y
t
f Y f Y
V V
= = = =
V V


Optimizacin Matemtica
6 Mtodo del Gradiente Conjugado de Fletcher-Reeves
es decir, no es necesario avanzar ms. Por lo tanto
( )
1
0, 0 d = .
El nuevo punto Y2, se puede determinar por
( )
2 1
1
1 1
, 0, 0
3 3
1 1
,
3 3
Y c
Y
| |
= +
|
\ .
| |
= =
|
\ .

lo cual resulta que el nuevo punto es el mismo que el anterior, esto se vea desde el hecho
que el tamao de paso era nulo. Entonces Y1 es el punto ptimo, ya que satisface
( ) ( )
1
1 1
, 0, 0
3 3
f Y f
| |
V = V =
|
\ .
.
Ejemplo 2

Minimizar
( )
2 2
1 2 1 2 1 2 1
, 4 2 4 5 f x x x x x x x = + + , empezando en
( )
0
1,1 Y = .

Similar que en el ejemplo anterior, empezamos por determinar el gradiente de la
funcin y evaluarlo en el punto inicial, para construir la direccin de bsqueda inicial, es
decir

( ) ( )
( ) ( ) ( )
( ) ( )
1 2 1 2 2 1
0
0 0
, 8 4 1, 4 4
1,1 5, 0
5, 0
f x x x x x x
f Y f
d f Y
V = +
V = V =
= V =


Con el punto y la direccin de bsqueda inicial podemos construir el siguiente
punto, dado por

( ) ( )
( )
1 0 0 0
0
0
1,1 5, 0
1 5 ,1
Y Y c d
c
c
= +
= +
=

Como podemos notar el punto depende del tamao de paso a tomar, este tamao se
determina de la siguiente forma

Optimizacin Matemtica
7 Mtodo del Gradiente Conjugado de Fletcher-Reeves
( ) ( )
0 0 0 0 1
min min c f Y c d f Y = + =

Sustituyendo Y1 en la funcin y realizando el algebra correspondiente, obtenemos la
funcin que depende del tamao de paso inicial
( ) ( ) ( )
( ) ( ) ( )( ) ( )
1 0 0
2 2
0 0 0
2
0 0
1 5 ,1
4 1 5 2 1 4 1 5 1 1 5 5
100 25 2
f Y f c f c
c c c
c c
= =
= + +
=

Una vez obtenida esta funcin, procedemos a encontrar este tamao de paso talque
minimice la funcin anterior, dado por
( )
0 0
0
200 25 0
25 1
200 4
f c c
c
' = =
= =

Sustituyendo este tamao de paso en Y1, podemos conocer el nuevo punto
1
1 3
1 5 ,1 ,1
8 8
Y
| |
| | | |
= =
| | |
\ . \ .
\ .

Ahora veamos la nueva direccin de bsqueda, la cual est dada por:
( )
( )
( )
1 1 0 0
1
1 0 0
3 5
,1 0,
8 2
5 5
0, 5, 0 5 ,
2 2
d f Y t d
f Y f
d t t
= V +
| | | |
V = V =
| |
\ . \ .
| | | |
= + =
| |
\ . \ .

donde
( ) ( )
( ) ( ) ( ) ( )
1 1
0
0 0
5 5
0, 0,
1 2 2
5, 0 5, 0 4
f Y f Y
t
f Y f Y
| | | |

| |
V V
\ . \ .
= = =
V V

Por lo tanto la nueva direccin estar dada por

Optimizacin Matemtica
8 Mtodo del Gradiente Conjugado de Fletcher-Reeves
1
1 5 5 5
5 , ,
4 2 4 2
d
| |
| | | |
= =
| | |
\ . \ .
\ .
.
El nuevo punto Y2, se puede determinar por
2 1 1 1
1
1 1
3 5 5
,1 ,
8 4 2
3 10 2 5
,
8 2
Y Y c d
c
c c
= +
| | | |
= +
| |
\ . \ .

| |
=
|
\ .



A continuacin determinemos el nuevo tamao de paso, primero sustituyamos Y2 en
la funcin, derivemos con respecto a c1 e igualemos a cero para determinar c1
( ) ( )
1 1
2 1
2 2
1 1 1 1 1
2
1 1
3 10 2 5
,
8 2
3 10 2 5 3 10 2 5 3 10
4 2 4 5
8 2 8 2 8
100 100 63
16
c c
f Y f c f
c c c c c
c c
| |
= =
|
\ .
| | | | | || | | |
= + +
| | | | |
\ . \ . \ .\ . \ .

=

( )
1 1
1
200 100
0
16 16
1
2
f c c
c
' = =
=

Ya conocido cunto avanzaremos a travs de la bsqueda lineal, sustituyamos lo
anterior en Y2, para conocer el nuevo punto.
( ) ( )
1 1
2
1 1
2 2
3 10 2 5
,
8 2
3 10 2 5
1 1
, ,
8 2 4 4
c c
Y

| |
=
|
\ .
| |
| |
= =
| |
\ .
\ .


Optimizacin Matemtica
9 Mtodo del Gradiente Conjugado de Fletcher-Reeves
Ahora veamos si este nuevo punto es un punto ptimo o de lo contrario buscar una
nueva direccin de bsqueda, para lo anterior lo comprobamos por
( ) ( )
2
1 1
, 0, 0
4 4
f Y f
| |
V = V =
|
\ .

Por consiguiente, la solucin ptima para este problema es
2
1 1
,
4 4
Y
| |
=
|
\ .


Resumen del algoritmo

En resumen, el algoritmo del Gradiente Conjugado de Fletcher-Reeves se describe de la
siguiente manera
Paso 1. Se inicia con un punto
0
Y y se calcula
( )
0
f Y V , definiendo la primera direccin

( )
0 0
d f Y = V


Paso 2. Para 0,1, , 1 k n = , se define

1 k k k k
Y Y c d
+
= +


donde
k
c minimiza

( )
k k k
f Y c d +


Se calcula ( )
1 k
f Y
+
V . A no ser que 1 k n = se definen las direcciones

( )
1 1 k k k k
d f Y t d
+ +
= V +


donde


Optimizacin Matemtica
10 Mtodo del Gradiente Conjugado de Fletcher-Reeves
( ) ( )
( ) ( )
1 1 k k
k
k k
f Y f Y
t
f Y f Y
+ +
V V
=
V V


Paso 3. Reemplace
0
Y por
n
Y y regrese al paso 1.







Mtodo de Gradiente Conjugado de Fletcher-Reeves para funciones
generales

Este algoritmo localiza el mnimo para funciones cuadrticas en a lo ms n
iteraciones, donde n es el nmero de variables de la funcin.
Lo anterior no sucede para funciones generales, es decir el algoritmo sigue siendo
iterativo an despus de n iteraciones para lo cual es necesario una prueba de
convergencia. Tomando ciertas consideraciones se puede utilizar el algoritmo anterior para
minimizar funciones generales.
Las direcciones de bsqueda que son generadas son correspondientes a las actuales
aproximaciones cuadrticas locales de la funcin, y la tasa de convergencia depende de la
respuesta a los cambios en la aproximacin cuadrtica de iteracin en iteracin.
As aplicando el algoritmo de GCFR para funciones generales, se deben considerar
cuatro puntos importantes, los cuales son:
1. La eleccin del punto inicial
Para funciones cuadrticas cualquier eleccin del punto inicial es en un principio
igualmente satisfactoria, pero para funciones generales es posible que el algoritmo
converja a un mnimo no deseado. Por lo anterior es necesario prestarle
importancia a la eleccin del punto inicial.
2. Bsqueda lineal
Las direcciones de bsqueda lineal se realizarn de la misma forma, pero lo que
determinar el tamao de paso se realizar mediante el mtodo de interpolacin
cbica.
3. Tasa de convergencia

Optimizacin Matemtica
11 Mtodo del Gradiente Conjugado de Fletcher-Reeves
Para funciones generales, el algoritmo presenta un convergencia lenta al mnimo (es
decir, presenta un nmero grande de iteraciones). Para esto se propone reiniciar el
proceso en cada n+1 iteraciones para obtener resultados satisfactorios.
4. Criterio de convergencia
Para este tipo de funciones es necesario definir un criterio de convergencia en al
ngulo formado entre la direccin de bsqueda y el gradiente en un punto (para
asegurar obtener vectores conjugados), debido a la convergencia lenta que presenta
este algoritmo.




Ejemplo de minimizacin de funciones generales

A continuacin se presenta un ejemplo de minimizacin de una funcin general
(Fletcher & Reeves, 1964), conocida como la funcin de valle de banana de Rosenbrock en
dos dimensiones
( ) ( ) ( )
2
2
2
1 2 2 1 1
, 100 1 f x x x x x = +
empezando en el punto
( ) 1.2, 1 . Los autores proponen un criterio de convergencia en el
ngulo de los vectores conjugados en 0.06.

En la Figura 4 se muestran los contornos de dicha funcin, para localizar sus
mnimos.

Figura 4. Curvas de nivel (Contornos) de la funcin de Rosenbrock en dos dimensiones. Tomado de Fletcher, 2000.

Optimizacin Matemtica
12 Mtodo del Gradiente Conjugado de Fletcher-Reeves
Los resultados obtenidos al aplicar el algoritmo y considerando reinicios del
proceso, se muestran en la Tabla 1, como podemos notar se localiz el mnimo en 27
iteraciones, mostrando su poca practicidad para resolver este tipo de funciones.
Iteracin X1 X2 f
0 -1.200 1.000 24.200
3 -0.631 0.324 3.199
6 -0.425 0.124 2.353
9 -0.171 -0.045 1.921
12 0.139 -0.023 0.920
15 0.510 0.214 0.453
18 0.681 0.433 0.193
21 0.846 0.698 0.053
24 0.989 0.980
4
8 10


27 1.000 1.000
8
1 10


Tabla 1. Resultado de la funcin de valle en forma de banana, mediante el mtodo de GCFR para funciones generales
Bibliografa

Bazaraa, M. S., Sherali, H. D., & Shetty, C. M. (2006). Nonlinear Programming: Theory and
Algorithms. NY, John Wiley and Sons, Inc.
Fletcher, R. (2000). Practical Methods of Optimization (Segunda ed.). NY, John Wiley & Sons.
Fletcher, R., & Reeves, C. M. (1964). Function minimization by conjugate gradients. The
Computer Journal , 2 (7), 149-154.
Hestenes, M. R. (1980). Conjugate Direction Methods in Optimizacin. NY, Springer-Verlag.
Jacoby, S. L., Kowalik, J. S., & Pizzo. (1972). Iterative Methods for Nonlinear Optimization
Problems. NJ, USA: Prentice-Hall, Inc.
Martnez, E. J. (1994). Programacin Matemtica. Mxico: SEPI-ESIME IPN.
Peressini, A. L., Sullivan, F. E., & Uhl, J. J. (1988). The Mathematic of Nonlinear Programming.
NY, Springer-Verlag.
Scales, L. E. (1985). Introduction to Nonlinear Optimization. NJ, MacMillan Publishers.