Anda di halaman 1dari 35

Metodo del gradiente

Erik Alex Papa Quiroz


Dr. Universidad Federal de Rio de Janeiro

Modelos y Metodos de Optimizacion con Aplicaciones


Facultad de Ciencias Naturales y Matematica
Callao-Peru

15/02/2013
Resumen
1 Introduccion
2 Metodo del gradiente
3 Propiedades del metodo del gradiente
4 Implementacion del metodo del gradiente
5 Referencias
1. Introduccion
En esta seccion, presentamos el metodo del gradiente para
optimizacion irrestricta, veremos sus propiedades de
convergencia debil y fuerte, convergencia global de convergencia
asi como sus tasa de convergencia.
2. Metodo del gradiente

Considere el problema:

min{f (x) : x Rn }

donde f : Rn R es una funcion continuamente diferenciable.


.
Algoritmo del Maximo Descenso
Dado x0 Rn ,
Para k = 0, 1, ...,
Si f (xk ) = 0, entonces parar.
Caso contrario, hacer

xk+1 = xk k f (xk ),

donde k es escogido por una de las siguientes reglas:


a) Busqueda Lineal Exacta:

k arg min{() = f (xk f (xk )) : 0}

b) Regla de Armijo
Dados los escalares s, , con 0 < < 1 y 0 < < 1, definir

k = s mk ,

donde mk es el menor entero no negativo tal que

f (xk ) f (xk + s m dk ) m sf (xk )T dk ,

donde dk = f (xk ).
Ejemplo 1: Busqueda exacta
Considere el problema

min{x12 + x22 : (x1 , x2 ) R2 }

En este caso f (x1 , x2 ) = x12 + x22 y el gradiente es

f (x1 , x2 ) = (2x1 , 2x2 ).

Realizaremos pasos del metodo de maximo descenso con


busqueda lineal exacta.
Tomemos el punto inicial x0 = (1, 1) entonces

||f (x0 )|| = ||f (1, 1)|| = 2 2 >> 0.

As, x0 no satisface las condiciones del algoritmo.


Luego el escalar 0 es obtenido como:

0 = arg min{() = f (x0 f (x0 )) : 0}.

De los datos tenemos que

x0 f (x0 ) = (1 2, 1 2)

y as
() = (1 2)2 + (1 2)2 .
1
El mnimo de esta funcion obviamente es 0 = 2 y as el siguiente
punto de la iteracion es
1
x1 = x0 0 f (x0 ) = (1, 1) (2, 2) = (0, 0).
2
Para realizar la siguiente iteracion realizamos el test de parada
obteniendo
||f (x1 )|| = 0
con lo que finaliza el metodo y obtiene el punto de mnimo
x1 = (0, 0).
Ejemplo 2: Busqueda exacta
Ahora considere el problema
1
min{x12 + x22 : (x1 , x2 ) R2 }
2
En este caso f (x1 , x2 ) = x12 + 21 x22 y el gradiente es

f (x1 , x2 ) = (2x1 , x2 ).
Tomemos el punto inicial x0 = (2, 1) entonces f (x0 ) = (4, 1) y as

||f (x0 )|| = ||f (2, 1)|| = 17 >> 0.
Como
x0 f (x0 ) = (2 4, 1 ),
entonces 0 debe minimizar la funcion
1
() = (2 4)2 + (1 )2 .
2
17
Resolviendo el problema tenemos que 0 = 33 y as el nuevo
punto es
 
1 0 0 17 2 16
x = x 0 f (x ) = (2, 1) (4, 1) = , .
33 33 33
Pasamos a la segunda iteracion.
f (x1 ) = ( 4 16
33 , 33 ) y la nueva funcion () es

4 2 2 1 16 16 2
() = ( ) + ( )
33 2 33 33
Luego el valor de 1 debe minimizar la funcion anterior....as
sucesivamente
Ejemplo 1:Armijo
Considere el problema
1
min{x12 + x22 : (x1 , x2 ) R2 }
2
En este caso f (x1 , x2 ) = x12 + 21 x22 y el gradiente es

f (x1 , x2 ) = (2x1 , x2 ).

Consideramos:
1
= , s = 1, = 1/2
2
Tomemos el punto inicial x0 = (2, 1) entonces f (x0 ) = (4, 1) y as

||f (x0 )|| = ||f (2, 1)|| = 17 >> 0.

Para obtener el punto x1 debemos encontrar el valor de 0 tal que


se cumpla la siguiente desigualdad

f (x0 f (x0 )) f (x0 ) (/2)||f (x0 )||2


La desigualdad anterior se convierte en:

1 9 17
(2 4)2 + (1 )2 .
2 2 2
Si damos = 1 entonces tenemos

4 4,

lo que no es verdad.
1
Si = 2 entonces
1 1
,
8 4
lo que es verdad, entonces 0 = 12 .
El nuevo punto es:
1 1
x1 = (2, 1) (4, 1) = (0, )
2 2
Pasamos a la segunda iteracion.
f (x1 ) = (0, 12 ). La desigualdad a ser verificada es

f (x1 f (x1 )) f (x1 ) (/2)||f (x1 )||2 .

Reemplazando los valores se tiene


1 1 1
(1 )2 ( ).
8 8 2 4
Si tomamos = 1 y verificando en la desigualdad tenemos que
0 0, as el nuevo punto es
1 1
x2 = (0, ) 1(0, ) = (0, 0.)
2 2
Pasamos a la siguiente iteracion.
Como ||f (x2 )|| = 0, entonces el algoritmo finaliza con el punto

x2 = (0, 0).
3. Propiedades del metodo del gradiente

Propiedad
Usando las busquedas a) y b) tenemos:
La sucesion {f (xk )} es no cresciente, esto es,

f (xk+1 ) f (xk ), k = 0, 1, ...


Observacion
Usando cualquiera de las reglas a) o b), k siempre sera un
numero positivo. En efecto, si en la busqueda unidimensional
obtenemos k = 0, entonces por la condicion de optimalidad se
tiene que
0 (0) = f (xk )T f (xk ) 0,
lo que implica que f (xk ) = 0, lo que contradice el hecho que
f (xk ) 6= 0 segun el algoritmo. Ahora si usamos la busqueda
aproximada es obvio que el parametro k es positivo.
Observacion
El algoritmo es llamado de maximo descenso, por la razon que
entre todas las direcciones dk que satisfacen la condicion

f (xk )dk < 0,

el gradiente negativo f (xk ) es la direccion que da el mayor


decrescimo.
En efecto, para todo dk tal que ||dk || = 1 se tiene que

f (xk )
 
k T
f (x ) = ||f (xk )||.1 = ||f (xk )||||dk || |f (xk )T dk |,
||f (xk )||

donde la ultima desigualdad es por Cauchy-Schwartz. De aqu


obtenemos que

f (xk )
 
k T
f (x ) f (xk )T dk ,
||f (xk )||

dk Rn tal que ||dk || = 1.


Teorema
Sea f : Rn R es una funcion limitada inferiormente y de clase
C1 en Rn . Si {xk } es la sucesion generada por el algoritmo usando
la regla a) o b) entonces

lim f (xk ) = 0.
k+

Ademas, todo punto de acumulacion de {xk } es un punto


estacionario.
4. Implementacion del metodo de gradiente

Algoritmo de Maximo Descenso


Dado x0 Rn ,
Para k = 0, 1, ...,
Si f (xk ) = 0, entonces parar.
Caso contrario, hacer

xk+1 = xk k f (xk ),

donde k es escogido por la regla de Armijo


Regla de Armijo
Dados los escalares s, , con 0 < < 1 y 0 < < 1, definir

k = s mk ,

donde mk es el menor entero no negativo tal que

f (xk ) f (xk + s m dk ) m sf (xk )T dk .


Consideraciones practicas
I En la practica usualmente se toma el valor de muy
pequeno, i.e,
[105 , 101 ]

I El valor de es elegido usualmente

1 1
< .
2 10
Ejemplo MG1
Considere el problema
1
min{x12 + x22 : (x1 , x2 ) R2 }
2
Consideraremos
x0 = (2, 1)

1
= , s = 1, = 0.1
2
Ejemplo MG2
Considere el problema

min{3x12 + x24 : (x1 , x2 ) R2 }

Consideraremos
x0 = (1, 2)

= 0.5, s = 1, = 0.1
Ejemplo MG4
Considere el problema

min{x12 + x22 + x32 + x42 + x52 : (x1 , x2 ) R2 }

Consideraremos
x0 = (1, 2, 3, 4, 5)

= 0.1, s = 1, = 0.1
Ejemplo MG5
Considere el problema

min{(x1 2)2 + (x1 2x2 )2 : (x1 , x2 ) R2 }

Consideraremos
x0 = (0, 3)
Realizar 7 iteraciones del metodo con

= 0.5, s = 1, = 0.1

x = (2, 1)
Ejemplo MG6
Considere el problema

min{100(x2 x12 )2 + (1 x1 )2 : (x1 , x2 ) R2 }

Consideraremos
x0 = (1.2, 1)
Realizar iteraciones del metodo con

= 0.5, s = 1, = 0.1

x = (1, 1), f = 0
Convergencia lineal
Considere el problema
1
min{ xT Ax bT x : (x1 , x2 ) R2 }
2
donde A es simetrica y definida positiva.
 2
cond(A) 1
f (xk+1 ) f (x ) f (xk ) f (x ) .

cond(A) + 1
Observacion practica
I Note que incluso para valores moderados de cond(A), la cota
superior es cercano a 1.
I Cuando cond(A) es menor que 50 el metodo de maximo
descenso tiene gran chance de tornarse practico.
5. Referencias

IZMAILOV A. and SOLODOV M., Otimizacao Volume 2, IMPA, Rio de Janeiro,


Brazil, 2007.
CAUCHY, Methode Generale pour la Resolution des Systemes dEquations
Simultanies, Comptes Rendus de Academie des Sciences, Paris, Vol 25, pp.
536-538, 1847.
KIWIEL and MURTY, Convergence of the steepest descent method for
minimization quasiconvex functions, JOTA Journal of Optimization Theory and
Applications, 89 (1) 1996, 221-226.

Anda mungkin juga menyukai