Está en la página 1de 38

ETSII-UPM

Mtodos de optimizacin
sin restricciones
Mtodos Matemticos de Especialidad
(Mecnica-Mquinas)
Madrid, 12 de enero de 2009
Javier Garca de Jaln
ETSII - Departamento de Matemtica Aplicada
a la Ingeniera Industrial
ETSII-UPM
Programa
Mtodos de optimizacin sin restricciones
Introduccin
Algoritmo general de minimizacin
Mtodo de la bsqueda de lnea
Mtodo del mximo descenso
Mtodo del gradiente conjugado
Mtodo de Newton
Mtodos quasi-Newton. Mtodo BFGS
Ejemplos
ETSII-UPM
Introduccin
Concepto de optimizacin
En sentido general, se llama optimizacin al proceso de encontrar la mejor solucin a
un determinado problema.
En un sentido ms restringido, en este tema se entiende por optimizacin el proceso de
encontrar los valores mnimos de una funcin de n variables f (x) en un dominio que
puede ser R
n
.
Un gran nmero de problemas de Ingeniera se pueden formular de esta forma.
Funcin objetivo, variables de diseo, restricciones
La funcin f (x) a optimizar se suele denominar funcin objetivo. Es muy importante la
formulacin matemtica de esta funcin, as como el clculo de sus derivadas de
primer y segundo orden.
Las variables de las que depende la funcin objetivo se llaman variables de diseo y se
agrupan en un vector xR
n
.
Con frecuencia las variables de diseo deben satisfacer ciertas restricciones, de
igualdad o desigualdad. En este tema se supondr que no hay restricciones.
Mtodos matemticos de optimizacin
Constituyen a la vez una ciencia y un arte. Existe una gran variedad de mtodos y de
variantes, con distintos rangos de aplicacin.
En este tema se vern slo algunos de los mtodos ms clsicos y eficientes.
ETSII-UPM
Definiciones y terminologa (1/2)
Mnimos locales y globales de f (x) en E:
Mnimo global: Mnimo local:
Mnimo global estricto: Mnimo local estricto:
La maximizacin de f (x) se plantea como la minimizacin de f (x).
Ejemplos:
( )
( )
, f f E

x x x
( )
( )
, , f f E

< x x x x x
( )
( ) ( )
, tal que , 0 f f E

< > x x x x x
( )
( )
, , , tal que f f E

< < x x x x x x x
mnimo global estricto
mnimo local
estricto
mximo local estricto
mnimo local
mximo global estricto
ETSII-UPM
Definiciones y terminologa (2/2)
Conjuntos convexos
Un conjunto S es convexo si para dos elementos cualesquiera x e y de S
Dicho de otra forma, un conjunto es convexo si cualquier segmento que une
dos puntos del conjunto, est formado por puntos del conjunto.
Funciones convexas
Una funcin f, definida sobre un conjunto convexo S, es convexa si satisface:
Esto quiere decir que el segmento que une los puntos
est por encima de los puntos de la funcin.
Problema de optimizacin convexo
Hallar el mnimo de una funcin convexa definida en un conjunto convexo.
Teorema (sin demostracin):
Si x
*
es un mnimo local de un problema de optimizacin convexo, entonces x
*
es tambin el mnimo global.
( )
1 , 0 1 x y S +
( ) ( ) ( ) ( ) ( )
1 1 , 0 1, , f x y f x f y x y S + +
( ) ( ) ( ) ( )
, y , x f x y f y
ETSII-UPM
Condiciones de mnimo local
Condicin necesaria de primer orden
Un mnimo local x
*
no puede tener puntos prximos tales que
A partir del desarrollo en serie de Taylor alrededor de x
*
:
El segundo trmino no debe tomar valores negativos para ningn valor de h.
Para que x
*
sea un mnimo local es condicin necesaria que el gradiente sea nulo:
Condicin necesaria de segundo orden
Considerando los tres primeros trminos del desarrollo de Taylor:
Para que x
*
sea un mnimo es tambin necesario que el trmino de 2 orden sea no-
negativo. Para ello es necesario que la matriz Hessiana sea semidefinida
positiva:
Condicin suficiente de segundo orden (se supone ya que )
Si la Hessiana en x
*
es definida positiva, x
*
es un mnimo local.
Otros casos
Los dems casos deben estudiarse teniendo en cuenta derivadas superiores.
( ) ( )
. f f

+ < x h x
( ) ( ) ( )
( )
2
T
f f f O

+ = + + x h x h x h
( )
f

= x 0
( ) ( ) ( )
( )
3
2
1
2
T
f f f O

+ = + + x h x h x h h
( )
2
0,
T
f

h x h h 0
( )
2
f

x
( )
f

= x 0
ETSII-UPM
Visin general de los mtodos de descenso
Objetivo: Hallar un mnimo local x
*
de la funcin f (x),
Planteamiento general de los mtodos de descenso
Partiendo de un punto arbitrario x
0
se obtiene una sucesin de puntos
que converge al mnimo local x
*
:
El proceso bsico de este mtodo general es determinar un nuevo punto x
k+1
a partir del
punto anterior x
k
, de forma que se cumpla mediante una relacin del
tipo:
donde p
k
es un vector que determina la direccin en que se busca el nuevo punto x
k+1
y

k
es un escalar que determina la distancia o la longitud del paso en la direccin p
k
.
En la prctica de este proceso hay que distinguir tres subprocesos fundamentales:
1. Determinar la direccin p
k
en la que se buscar el punto siguiente.
2. Determinar la distancia ptima
k
que hay que moverse en la direccin p
k
.
3. Establecer un criterio de terminacin del proceso, es decir, las condiciones que tiene
que cumplir el punto x
k+1
para que pueda ser considerado como el punto ptimo
buscado y la iteracin se detenga.
A continuacin se considerarn estos tres subprocesos de la optimizacin sin
restricciones, exponindolos en orden inverso al anterior.
{ }
0 1 2
, , ,... x x x
: . f
n
R R
0, para
k k
k

x x x x
( ) ( )
1
,
k k
f f
+
< x x
1 k k k k

+
= + x x p
ETSII-UPM
Criterios de terminacin
Ideas generales
Los criterios de terminacin deben asegurar que la iteracin converge y que
converge a un mnimo local.
Conviene tener en cuenta las condiciones necesarias y/o suficientes de un
mnimo local, as como el hecho de que su valor no suele ser conocido.
Posibles criterios a utilizar:
Asegurar que el error en el punto es suficientemente pequeo:
Tambin se puede considerar el error en la funcin objetivo:
El inconveniente est en que x
*
no es conocido (puede serlo ).
Se puede considerar la diferencia entre dos resultados consecutivos:
Estas expresiones pueden garantizar la convergencia de la iteracin, pero no la
condicin de mnimo local del resultado alcanzado.
Se pueden comprobar las condiciones necesarias de primer y segundo orden:
Cuando x
k
y x
k+1
estn suficientemente cerca del ptimo se cumplir:
En la prctica habr que utilizar algunas de las expresiones anteriores con las
constantes adecuadas y quizs utilizando errores relativos.
1 k k

< e x x
( )
( )
2 k
f f

< x x
( ) ( )
1 3 1 4
,
k k k k
f f
+ +
< < x x x x
( )
5 k
< x
( ) ( ) ( ) ( ) ( ) ( )
2
1 6 1 7 1 1 1 1 8
, ,
T
k k k k k k k k k k
f f f
+ + + + + +
< < = < x x x x x x x x x x
( )
f

x
ETSII-UPM
Direcciones de descenso
Direccin de descenso
Se dice que p
k
es una direccin de descenso en x
k
cuando la funcin
es decreciente en
k
=0, es decir, F'(0) <0. Considerando valores pequeos de
k
p
k
, el
desarrollo de Taylor alrededor de x
k
con dos trminos indica que:
Considerando valores
k
>0 ser necesario que se cumpla la condicin:
Esta condicin indica que p
k
est en el semiespacio opuesto al gradiente
Se define el ngulo
k
como el ngulo cuyo coseno es
Para que la direccin p
k
sea de descenso es necesario que
En la prctica, para evitar direcciones de bsqueda casi
ortogonales al gradiente y garantizar un descenso
significativo, se suele exigir la condicin:
donde >0.
Grficamente, se exige que el ngulo
k
est comprendido
en el intervalo sealado en la figura.
( ) ( )
, 0
k k k k k
F f + x p
( ) ( ) ( ) ( )
T
k k k k k k k k
f f f f + + < x p x p x x
( )
0
T
k k
f < p x
( )
.
k
f x
( )
( )
cos
T
k k
k
k k
f
f


=

p x
p x
2 2.
k
< <
( ) ( )
2 2
k
< <

( )
k
f x
k
p
k

ETSII-UPM
Mtodos para determinar el tamao de paso
Objetivo: determinar el valor ms adecuado de
k
en la expresin:
Mtodo de la bsqueda de lnea (line search)
Este mtodo trata de minimizar la siguiente funcin de una variable:
suponiendo que x
k
y p
k
se mantienen fijos.
Mtodo de la regin de confianza (trust region)
Se supone un modelo para la funcin objetivo f (x). Por ejemplo, para el mtodo de
Newton el modelo es una funcin cuadrtica q(x), obtenida a partir de f (x) mediante
el desarrollo en serie de Taylor:
El modelo cuadrtico se considera de confianza cuando p es pequeo:
Se resuelve el problema de hallar el vector p que minimiza q(p) con la restriccin
citada y se estudia el factor:
que representa la relacin entre la mejora real y la mejora predicha por el modelo.
Si r
k
es muy pequeo (modelo pobre) se disminuye
k
y si es muy grande (modelo muy
preciso)
k
se incrementa. El proceso se repite hasta alcanzar el ptimo.
En este tema slo se considerar con detalle el mtodo de la bsqueda de lnea.
1 k k k k

+
= + x x p
( ) ( ) ( )
, con 0 y 0 0
k k
F f F + < x p
( ) ( ) ( ) ( ) ( )
2
1
2
T T
k k k k
f q f f f + = + + x p p x p x p x p
p
( ) ( )
( ) ( )
0
k k
k
f f
r
q q
+
=

x x p
p
ETSII-UPM
Mtodo de la bsqueda de lnea (1/4)
Objetivo
Minimizar la funcin de una variable
A partir del desarrollo en serie de Taylor de F() en =0 se tiene:
La derivada en =0 resulta ser,
pues p
k
es una direccin de descenso.
La figura muestra un posible aspecto de F().
El mnimo est situado en el punto
*
.
Bsqueda de lnea exacta
El punto
*
se determinar con precisin. Se cumplir
La derivada de F() en un punto cualquiera se puede calcular, por medio de la
derivada direccional, en la forma:
que indica que, en el mnimo, el gradiente es ortogonal a la direccin de bsqueda.
La bsqueda de lnea exacta puede requerir un gran esfuerzo numrico.
Esta bsqueda es importante para algunas demostraciones tericas.
( ) ( )
.
k k
F f = + x p
( ) ( ) ( ) ( )
( )
2 2 3
1
2
T T
k k k k k k
F f f f O = + + + x p x p x p
( ) ( )
0 0
T
k k
F f = < p x


F
( ) ( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
0 0
2 2
0
2 2
0
lim lim
lim 2
lim 2
k k k k k
h h
T T
k k k k k k k k k k k
h
T T T
k k k k k k k k k k
h
F F h F h f h f h
f h f f h f h
h f f h h f



= + = + + + =
= + + + + + + =
= + + + = +
x p p x p
x p p x p p x p p x p
p x p p x p p p x p
( )
0. F

=
ETSII-UPM
Mtodo de la bsqueda de lnea (2/4)
Bsqueda de lnea aproximada
Se busca un valor de aproximado que reduzca significativamente
Este valor aproximado debe ser muy fcil y econmico de calcular. En la prctica,
basta con encontrar un que satisfaga ciertos criterios muy fciles de comprobar
que tratan de evitar valores muy pequeos o muy grandes de .
Criterio de Goldstein
Se evita un valor muy grande de obligando a que
F() est por debajo de la recta () cuya pendiente
es una pequea fraccin de F' (0)
Para evitar valores pequeos se obliga a que F()
est por encima de otra recta de ms pendiente ()
Criterio de Wolfe
La 1 condicin es similar a la de Goldstein
La 2 condicin obliga a que la pendiente sea mayor
algebraicamente que la pendiente en el origen
Wolfe se considera superior a Goldstein (invariante)
( )
.
k k
f + x p

F
( )

( )
0 F
( )

( ) ( ) ( ) ( )
0 0 , 0 1 2 F F F < = + < <
( ) ( ) ( ) ( ) ( )
0 1 0 F F F > = +
( ) ( ) ( ) ( )
0 0 , 0 1 2 F F F < = + < <

F
( )

( ) 0 F
( ) 0 F
( ) ( )
0 , 1 F F < <
ETSII-UPM
Mtodo de la bsqueda de lnea (3/4)
Bsqueda de lnea aproximada: mtodo prctico 1
Se elige como el primer elemento de la secuencia
que satisfaga la desigualdad
Como se va de mayor a menor, se evita de modo automtico que sea muy pequeo.
Para que =1 sea un valor inicial relativamente grande hace falta que el vector p
k
sea
de tamao similar al gradiente
Bsqueda de lnea aproximada: mtodo prctico 2
Se trata de determinar un intervalo [
1
,
2
] que contenga un mnimo local de F().
Para ello se pide que F' (
1
) < 0 y que F' (
2
) > 0.
Un posible valor inicial para
1
es 0.
Para determinar
2
se van estudiando los valores de la secuencia {1,2,4,8,} hasta que
se encuentra un valor tal que F' (
2
) >0.
Si en el proceso de bsqueda de
2
se encuentra un valor que satisface Wolfe, se toma
como valor de
k
y se termina el proceso.
Mejora mediante aproximacin polinomial:
Conocidos los valores de F(
1
), F' (
1
), F(
2
) y F' (
2
) se puede hallar el mnimo contenido
en [
1
,
2
] del polinomio cbico determinado por esos cuatro valores.
Si el mnimo satisface el criterio de Wolfe se termina el proceso. Si no, dicho mnimo
sustituye a
1
a
2
, dependiendo del signo del gradiente en el mnimo.
{ }
1,1 2,1 4,1 8,...,1 2 ,...
i
( ) ( ) ( ) ( )
0 0 , 0 1 2. F F F < = + < <
( )
, 0.
k k
m f m > p x
ETSII-UPM
Mtodo de la bsqueda de lnea (4/4)
Concepto de convergencia global
Se entiende por convergencia global, no la convergencia a un mnimo
global, sino la convergencia a un punto estacionario desde cualquier punto
inicial x
0
.
Est garantizado que los mtodos que tienen convergencia global llegan a
alguna solucin.
Teorema de la convergencia global (sin demostracin)
Enunciado: Dado un mtodo de descenso absoluto basado en la bsqueda de
lnea con el criterio de Wolfe, si la funcin f (x) es continua y con derivadas
continuas en los puntos x en que f (x) <f (x
0
), para k se dar uno de los
casos siguientes:
a) f (x
k
) =0 para algn k,
b) f (x
k
) ,
c) f (x
k
) 0.
Este teorema confirma el slido fundamento terico de los mtodos de
optimizacin basados en la bsqueda de lnea, aunque dicha bsqueda sea slo
aproximada.
ETSII-UPM
Mtodos para determinar la direccin p
k
Condiciones que debe cumplir la direccin de bsqueda
Hasta ahora se ha supuesto que la direccin p
k
era conocida. Tan slo se le ha exigido
que cumpliera las dos condiciones siguientes:
1. La direccin p
k
debe ser una direccin de descenso absoluto, es decir, cumplir:
2. Adems, p
k
debe estar relacionado con el gradiente (tener magnitud similar):
Determinacin de la direccin p
k
Existen diversos mtodos de optimizacin que se diferencian entre s por el modo en
que determinan la direccin de bsqueda. Los ms importantes son:
1. Mtodo del mximo descenso.
2. Mtodo del gradiente conjugado.
3. Mtodo de Newton y mtodos quasi-Newton.
A su vez, cada uno de estos mtodos puede utilizar o no bsqueda de lnea, y si la
utiliza sta puede ser exacta o aproximada.
De cada uno de estos mtodos hay que tener en cuenta el tipo de convergencia y la
clase de informacin que necesita (funcin, gradiente, Hessiana, ).
Es habitual comparar estos mtodos con funciones objetivo cuadrticas.
( ) ( )
( )
( )
( )
0, 2 acos 2 , 0
T
T k k
k k k
k k
f
f
f


< < = < >

p x
p x
p x
( )
, 0.
k k
m f m > p x
ETSII-UPM
Mtodo del mximo descenso (1/4)
Desarrollado por Cauchy (1847) para resolver ecuaciones no lineales.
Direccin de mximo descenso
El mtodo de mximo descenso busca el nuevo punto en la direccin opuesta
al gradiente (mximo descenso porque ):
Esta direccin puede combinarse con bsqueda de lnea, exacta o aproximada.
Por ms que esta eleccin parezca lgica a primera vista, en general el mtodo
del mximo descenso converge muy lentamente, incluso en la cercana del
ptimo.
Tiene la ventaja de ser un mtodo muy sencillo, uno de los pocos mtodos
cuyas propiedades pueden ser estudiadas tericamente.
Se ha podido demostrar que el mtodo del mximo descenso satisface las
condiciones del teorema de convergencia global, que garantiza que la
secuencia {x
k
} converge a un punto estacionario (si est acotada), partiendo
de un punto arbitrario x
0
.
Este mtodo puede ser considerado tambin como una aproximacin del
mtodo de Newton (que se ver posteriormente), en el que la matriz Hessiana
se sustituye por la matriz identidad:
( )
k k k
f = p x g
cos 1
k
=
( ) ( ) ( )
1
2
1 k k k k k k
f f f

+
=

x x x x x I x
ETSII-UPM
Mtodo del mximo descenso (2/4)
El mtodo del mximo descenso con funciones cuadrticas
Considrese la siguiente funcin objetivo cuadrtica, con el gradiente y la
Hessiana correspondientes. Se utilizar la terminologa siguiente:
Obsrvese que el gradiente g es el vector opuesto al residuo r.
Si la matriz A es definida positiva, slo puede haber un punto estacionario y se
trata de un mnimo. Este punto estacionario viene dado por el sistema lineal:
La matriz Hessiana transforma distancias entre puntos en diferencias de
gradientes:
El valor exacto de
k
se puede calcular analticamente mediante la
ortogonalidad entre la direccin de bsqueda y el gradiente en el nuevo punto:
( ) ( ) ( )
2
1
, ,
2
T T
f f f = = = = = x x Ax x b x g Ax b r p x A
( )
1
, f

= = = x Ax b 0 x A b
( )

k k
k i k i
i i
=

=

=

g Ax b
g g A x x
g Ax b
( ) ( )
1
0,
T T
T T T T T T
k k k k
k k k k k k k k k k k k k k k k k
T T
k k k k
f
+
+ = = + = + = = =
p g g g
p x p p g p A x p p b p g p Ap
p Ap g Ag
ETSII-UPM
Mtodo del mximo descenso (3/4)
Error del mtodo del mximo descenso con funciones cuadrticas
Se define la funcin de error E(x) en la forma (relacionada con f (x)):
El error en el punto k se define y vara en la forma:
Pre-multiplicando el error e
k
por A se obtiene el gradiente g
k
La funcin E(x), entre dos iteraciones sucesivas, cambia en la forma:
Dividiendo por 2E(x
k
), y teniendo en cuenta que
La desigualdad de Kantorovich establece que para una matriz simtrica y
definida positiva A y un vector cualquiera x se cumple que:
( )
( ) ( )
( )
1 1 1 1
2 2 2 2
T
T T T T
E f

= = + = + x x x A x x x Ax x Ax x Ax x x Ax
( ) ( ) ( ) ( )
2
1 1 1
2 2 2
T
T T T T T
k k k k k k k k k k k k k k k k k k k k
E E
+ + +
= = = x x e Ae e Ae e g A e g e Ae g Ae g Ag
( )
1 1
, , 2
T
k k k k k k k k k k k k k
E

+ +
= = = = e x x e x x x g x e g x e Ae
( )
k k k k k
f

= = = Ae Ax Ax Ax b x g
( ) ( )
( )
( ) ( )
( ) ( )
( )
( ) ( )
2 2 2
2
1
1 1
2
2
T T T
T T
k k k k k k
k k
k k k k k k
T T T T T
k k k k k k k k k k k
E E
E

+


= = =
g g g g g g
x x
g Ae g Ag
x e Ae g Ag g A g g Ag g A g
y :
T T
k k k k k k k
= = g g g Ag Ae g
( )
( ) ( ) ( )
( )
2
1
1 2
1
1
4
, , : mnimo y mximo valor propio de
T
n
n
T T
n



+
x x
A
x Ax x A x
ETSII-UPM
Mtodo del mximo descenso (4/4)
Error del mtodo del mximo descenso (cont.)
Aplicando la desigualdad de Kantorovich a la relacin entre
donde (A) es la condicin numrica de la matriz A.
La expresin anterior muestra que la convergencia es lineal con una constante
que puede estar muy prxima a la unidad si (A) es muy grande.
Representacin grfica de la convergencia para n =2
La figura muestra la lenta convergencia en forma de zig-zag con la que el
mtodo del mximo descenso converge hacia el mnimo (se podra mejorar?).
( )
( )
( )( )
( )
( )
( ) ( )
( )
( )
( )
2
2
2
1 1
1 2
1
1
1
1
4
1 1
1
T
k k
n n
k k k k k
T T
n k k k k
n
E E E E E




+






= = =



+ +
+



g g
A
x x x x x
A g Ag g A g
( ) ( )
1
y :
k k
E E
+
x x
ETSII-UPM
Mtodo del gradiente conjugado (1/7)
Se comenzar estudiando el MGC para funciones cuadrticas. Caractersticas:
Desarrollado por Hastenes y Stiefel (1952) para sistemas de ecuaciones lineales.
El MGC converge en n iteraciones (suponiendo que no hay errores en las
operaciones), siendo n el nmero de incgnitas del problema.
Es muy sencillo de programar y tiene pocas necesidades de memoria.
El MGC comienza determinando un nuevo punto a partir de la direccin p
i
:
En el mtodo del mximo descenso En el MGC la direccin de bsqueda
p
k
es una combinacin del gradiente g
k
y de la direccin de bsqueda anterior p
k1
El escalar
k1
se determina con la condicin de que la nueva direccin de bsqueda
sea conjugada de la anterior respecto a la matriz A:
A partir de las dos expresiones anteriores se obtiene el valor de
k1
:
Las expresiones anteriores de y se simplifican para funciones cuadrticas.
1 1 k k k k


= + p g p
1
0
T
k k
= p Ap
( )
1
1 1 1 1 1
1 1
0
T
T T T
k k
k k k k k k k
T
k k




= + = =
g Ap
p Ap g p Ap
p Ap
1
,
T
k k
k k k k k
T
k k

+
= + =
p g
x x p
p Ap
.
k k
= p g
ETSII-UPM
Mtodo del gradiente conjugado (2/7)
Algoritmo de clculo bsico
Valores iniciales
1
1
1 1
1 1
1
1.
2.
3.
4.
5.
6. volver al paso 1.
i k
T
k k
k
T
k k
k k k k
T
k k
k
T
k k
k k k k



+
=
=
= +
=
= +

g Ax b
g Ap
p Ap
p g p
p g
p Ap
x x p
0
0 0
1 0 0
1. arbitrario
2.
3. 0;

=
= =
x
g Ax b
p p g
Este algoritmo bsico se puede modificar de
modo que se realicen menos operaciones
%f i cher o gr adi conj u0. m
%gr adi ent e conj ugado si n mej or as
n=4; A=r and( n, n) ; A=A' *A; b=r and( n, 1) ;
xv=1. / di ag( A) ; x=zer os( n, 1) ;
gv=A*xv- b; g=zer os( n, 1) ;
pv=zer os( n, 1) ; p=zer os( n, 1) ;
ni t =0; er r or =1e06;
whi l e er r or >1e- 06
ni t =ni t +1;
i f ni t ==1
p=- gv;
el se
bet a=gv' *A*pv/ ( pv' *A*pv) ;
p=- gv+bet a*pv;
end
al f a=- p' *gv/ ( p' *A*p) ;
x=xv+al f a*p;
g=A*x- b;
er r or =nor m( g) ;
xv=x; gv=g; pv=p;
end
%compr obaci n
di sp( ' Val or exact o: ' ) ; di sp( A\ b) ; di sp( ' ' ) ;
di sp( ' Val or cal cul ado: ' ) ; di sp( x) ;
di sp( [ ' Nmer o de i t er aci ones ' , num2st r ( ni t ) ] ) ;
ETSII-UPM
Mtodo del gradiente conjugado (3/7)
Simplificaciones para funciones cuadrticas:
El gradiente en un paso se puede calcular a partir del gradiente anterior:
El valor de
k
se puede simplificar haciendo uso de las propiedades de
ortogonalidad del Teorema 3:
Teorema 1: El gradiente g
k+1
es ortogonal a la direccin p
k
Teorema 2: El gradiente g
k+1
es ortogonal al gradiente anterior g
k
Teorema 3: Se cumplen tambin todas las relaciones siguientes:
( )
1
0
T
T T T T
k k
k k k k k k k k k k
T
k k

+
= = =
p g
p g p g Ap p g p Ap
p Ap
( )
1 1 1 1 1 1 k k k k k k k k


= = + = + g Ax b A x p b g Ap
( )( )
1 1 1
1 1 1 1
0 0 0
T T T
k k k k k k k k
T T T T T T
k k k k k k k k k k k k k k k k k


+

= + + =
= + + = + + =
g g g p A p p
g p g p p Ap p Ap g p p Ap
1 1 1
) 0 , ) 0 , ) 0 , para 0,1, 2,...,
T T T
k i k i k i
a b c i k
+ + +
= = = = p Ap g p g g
( ) ( )
( )( )
1 1 1 1 1
1
1
1 1 1 1 1 1 2 2
1 2 2 1 1

T
T T
k k k k k k k k
k k k k
k
T T
T T
k k k k k k k k
k k k k k k



+ = +
= = =

= +
+ +

g g g Ap g g
g Ap g g
p Ap g g p g p
g p g g
ETSII-UPM
Mtodo del gradiente conjugado (4/7)
Demostracin del Teorema 3 (por induccin)
Se demuestra que el Teorema 3 se cumple para k =0
Se supone ahora que el Teorema 3 se cumple para k y se demostrar que
tambin se cumple para k +1, es decir que tambin se satisfacen las relaciones:
Se demostrar primero que se cumple la ecuacin b.2)
para i =0,1,...,k este producto se anula por hiptesis. Para i =k +1 se anula en
virtud del valor de
k+1
1 0
1 0
1 0
.1) 0 por ser direcciones conjugadas
.1) 0 por el Teorema 1
.1) 0 por el Teorema 2
T
T
T
a
b
c
=
=
=
p Ap
g p
g g
2
2
2
.2) 0
.2) 0
.2) 0 para 0,1, 2,..., , 1
T
k i
T
k i
T
k i
a
b
c i k k
+
+
+
=
=
= = +
p Ap
g p
g g
( )
2 1 1 1 1 1 1
.2) 0
T T T T T
k i k k k i k i k k i
b
+ + + + + + +
= + = + = g p g p A p g p p Ap
1 1
1
1 1
T
k k
k
T
k k

+ +
+
+ +
=
g p
p Ap
ETSII-UPM
Demostracin del Teorema 3 por induccin (cont.)
Tambin se cumple la ecuacin c.2)
pues para i =0,1,...,k todos los sumandos se anulan por hiptesis. Para i =k+1
el producto de gradientes se anula por el Teorema 2.
Finalmente, se demuestra que se cumple la ecuacin a.2)
para i =1,2,...,k, el 2 sumando se anula por hiptesis. Para estudiar el primer
sumando se considera la expresin
En esta expresin el primer sumando se anula en virtud de la ecuacin c.2),
luego se debe anular tambin el segundo, que es el que aparece en la ecuacin
a.2). Para i =k+1 la ecuacin a.2) se cumple por ser p
k+2
y p
k+1
vectores
conjugados.
Con esto se concluye la demostracin del Teorema 3.
( )( )
2 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
.2)
0
T T T
k i k k k i i i
T T T T
k i i k i k k i k i k i
c

+ + + +
+ + + + + +
= + + =
= + + =
g g g p A p p
g p g p p Ap p Ap
( )
2 2 1 1 2 1 1
.2) 0
T T T T T
k i k k k i k i k k i
a
+ + + + + + +
= + = + = p Ap g p Ap g Ap p Ap
( )
2 2 1 2 1 2
0
T T T T
k i k i i i k i i k i

+ + + + + +
= = = g g g g Ap g g g Ap
Mtodo del gradiente conjugado (5/7)
ETSII-UPM
Mtodo del gradiente conjugado (6/7)
Conclusiones:
Se puede demostrar que la funcin de error
en el MGC responde a la expresin:
Este expresin indica convergencia lineal.
La constante es ms pequea que en el mximo descenso, pues aparece
Aplicacin a funciones no cuadrticas
Si la funcin objetivo no es cuadrtica, no se obtiene convergencia en n etapas
Los resultados mejoran reiniciando el proceso cada n pasos:
El algoritmo de clculo puede ser similar al de las funciones cuadrticas, con
algunas modificaciones:
Calcular una nueva matriz A en cada paso es prohibitivo. Se evita su uso:
en
k
calculndolo mediante bsqueda de lnea y no con la frmula analtica.
en
k1
utilizando frmulas vlidas slo para funciones cuadrticas (mejor P&R):
( )
( )
( )
( )
2
1
1
1
k k
E E


+

A
x x
A
( )
. A
( )
n n n
f = = p g x
( ) ( )
( ) ( )
2
,
, no constante
k k k k
k
f
f
=
=
g x g Ax b
A x A
( )
( )
( )
1
1 1
1 1 1 1
Fletcher&Reeves Polak&Ribiere
,
(1964) (1971)
T
T
k k k
k k
k k
T T
k k k k



= =
g g g
g g
g g g g
ETSII-UPM
Mtodo del gradiente conjugado (7/7)
Ejemplo de convergencia en 2-D
Es relativamente fcil entender que el
MGC converge en slo dos etapas.
Se parte de un punto arbitrario x
0
y se
halla x
1
en la direccin del gradiente.
Se verifica que:
Introduciendo en esta expresin el punto ptimo x
*
, en el que se anula el gradiente:
Esta expresin indica que p
1
, la direccin conjugada de p
0
que pasa por x
1
, pasa
tambin por el ptimo. Por este motivo, el ptimo se encontrar en el paso siguiente.
MGC pre-condicionado
La convergencia del MGC depende de la condicin numrica de la Hessiana. Si est
condicin numrica fuera la unidad, convergera en una sola etapa.
El pre-condicionamiento acerca (A) a la unidad y reduce mucho el n de etapas.
Ventajas en problemas grandes
El MGC es inferior a los mtodos de Newton o quasi-Newton que se van a estudiar.
Sin embargo, como es un mtodo con muy pocas necesidades de memoria, puede
resultar competitivo en problemas de tamao muy grande (con pre-condicionamiento)
( )
0 1 0 1
0
T T
= = p g p Ax b
( )
( )
( )
( )
0 1 0 1 0 1
0
T T T
= = = p Ax b p Ax b Ax b p A x x
1
x
0
x
0
p
1
g
1
p

x
ETSII-UPM
Gradiente conjugado pre-condicionado (1/2)
Pre-condicionamiento del MGC
Consiste en transformar el sistema de ecuaciones a resolver (gradiente nulo), de modo
que la matriz del sistema se parezca en la medida de lo posible a la matriz identidad
El sistema Ax=b se va a transformar en otro sistema equivalente
Introduciendo una matriz C, simtrica y definida-positiva, que transforma x y b
se obtiene:
A la matriz C se le puede aplicar la factorizacin QR (R denotada aqu como H
T
)
donde H es una matriz triangular inferior no singular, y Q es ortogonal.
Se define una matriz M=C
2
. La matriz Mse puede expresar en la forma:
En funcin de H y Q, y de la factorizacin la matriz resulta ser:
El resultado ser una buena aproximacin de I siempre que la matriz H aproxime o sea
igual a L. Esta matriz ser mucho ms adecuada que A para aplicar el MGC.
1
; ,

= Ax = b x C x b = Cb

1 1 1 1 1
; ; ;

= AC x = Cb C AC x = b Ax b A C AC


T
C = QH
2 T T T T
= = = M C C C HQ QH HH
( )( )
1 1 1 1 1 T T T T T T T T
= = = A C AC C AC Q H AH Q Q H L L H Q I

= Ax b

,
T
A = LL
ETSII-UPM
Gradiente conjugado pre-condicionado (2/2)
La matriz H, que tiene que cumplir H
1
LI, se puede calcular por
factorizacin de Cholesky incompleta
Una factorizacin incompleta es una factorizacin aproximada que no tiene
en cuenta el llenado de la matriz o que lo tiene en cuenta slo parcialmente.
El nmero de operaciones aritmticas necesarias para cada iteracin no debe
aumentar significativamente.
Se ver que es necesario resolver un sistema de ecuaciones adicional en cada
iteracin. Este sistema debe ser muy fcil de resolver. En la prctica este
sistema tiene la forma
que se puede resolver con una sustitucin hacia delante y otra hacia atrs
En las siguientes transparencias se presentan:
El algoritmo del MGC P-C derivado del MGC, con un paso intermedio
Un programa del MGC P-C realizado con Matlab que lo compara con la
solucin estndar y la que obtiene el propio Matlab por medio de la funcin
pcg(). Para este ejemplo se utilizan matrices sparse y un ejemplo real de
clculo matricial de estructuras (catenaria de ferrocarril) con n=1002.
o bien
T
Mz = r HH z = r
ETSII-UPM
Algoritmo del MGC pre-condicionado (1/2)
El MGC bsico para el sistema
tendra la forma:
Haciendo
se pueden eliminar las tildes:
= Ax b

1
, ,
k k k k k k

= = = p Cp x Cx r C r

0
0 0
1 0
1 1 2 2
1 1
1 1
0; arbitrario

1
1


/( )


/(
k
T T
k k k k k
k k k k
T T
k k k k
k
while
k k
if k
else
end




=
=

= +
==
=
=
= +
=
x
r b Ax
r 0
p r
r r r r
p r p
r r p C





1 1
1
1 1
1
)


k
k k k k
k k k k
end

= +
=
AC p
x x p
r r C AC p



0
0 0
1
1 2
1 0 1 0
1 1
1 1 2 2
1
1 1
0; arbitrario

1
1
( )

/( )



k
T T T T
k k k k k
k k k k
k
while
k k
if k
else
end


=
=

= +
==
= =
=
= +
x
r b Ax
C r 0
Cp C r C p r
r C C r r C C r
Cp C r Cp
1 1 1
1 1
1
1 1 1 1
1
/( )


T T T T
k k k k k
k k k k
k k k k
end

=
= +
=
r C C r p C C AC Cp
Cx Cx Cp
C r C r C AC Cp
ETSII-UPM
Algoritmo del MGC pre-condicionado (2/2)
El MGC P-C sin tildes estableca
el siguiente algoritmo:
Haciendo M=C
2
e introduciendo un
vector z
k
tal que Mz
k
=r
k
, se obtiene:
0
0 0
1
1 2
1 0 1 0
1 1
1 1 2 2
1
1 1
0; arbitrario

1
1
( )

/( )



k
T T T T
k k k k k
k k k k
k
while
k k
if k
else
end


=
=

= +
==
= =
=
= +
x
r b Ax
C r 0
Cp C r C p r
r C C r r C C r
Cp C r Cp
1 1 1
1 1
1
1 1 1 1
1
/( )


T T T T
k k k k k
k k k k
k k k k
end

=
= +
=
r C C r p C C AC Cp
Cx Cx Cp
C r C r C AC Cp
0
0 0
1 0
1 1 2 2
1 1
0; arbitrario

resolver ; 1
1


/( )



k
k k
T T
k k k k k
k k k k
k
k
while
k k
if k
else
end



=
=

= = +
==
=
=
= +
x
r b Ax
r 0
Mz r
p z
r z r z
p z p
1 1
1
1
/( )


T T
k k k k
k k k k
k k k k
end

=
= +
=
r z p Ap
x x p
r r Ap
ETSII-UPM
Programacin del MGC P-C con Matlab
%MGC pr econdi ci onado con mat r i ces spar se
cl ear al l
%se car ga l a mat r i z y el vect or de f uer zas
l oad Ks84;
di sp( ' Ti empo de l a sol uci n exact a' ) ;
t i c; xs=ks\ f s; t oc;
n=si ze( ks, 1) ; A=ks; b=f s;
nnzA=nnz( A) ; spy( A) ;
H=chol i nc( A, 1. e- 03) ' ; %chol ( A) devuel ve L'
nnzH=nnz( H) ;
di sp( ' Ti empo de l a r esol uci n con pcg( ) ' ) ;
t i c; ys=pcg( ks, f s, 1e- 10, 100, H, H' ) ; t oc;
x0=spar se( n, 1) ; x1=spar se( n, 1) ;
x0=spar se( 1. / di ag( A) ) ;
r 0=spar se( n, 1) ; r 1=spar se( n, 1) ;
p0=spar se( n, 1) ; p1=spar se( n, 1) ;
z0=spar se( n, 1) ; z1=spar se( n, 1) ;
r 0=b- A*x0; y=H\ r 0; z0=H' \ y; r 1=r 0;
ni t =0;
r 0mod2=r 0' *r 0; r 1mod2=1e06;
t i c
whi l e r 1mod2>1e- 10
ni t =ni t +1;
y=H\ r 1; z1=H' \ y;
i f ni t ==1
p1=z1;
el se
bet a=r 1' *z1/ ( r 0' *z0) ;
p1=z1+bet a*p0;
r 0=r 1; z0=z1;
end
Ap1=A*p1;
al f a=r 1' *z1/ ( p1' *Ap1) ;
x1=x0+al f a*p1;
r 1=r 0- al f a*Ap1;
r 1mod2=r 1' *r 1;
x0=x1; p0=p1;
end
t oc
%compr obaci n
di sp( ' Val or exact o: ' ) ; di sp( xs( 1: 10) ) ;
di sp( ' ' ) ;
di sp( ' Val or cal cul ado: ' ) ; di sp( x1( 1: 10) ) ;
di sp( ' Er r or : ' ) ; di sp( nor m( x1- xs) ) ;
di sp( [ ' Ni t ' , num2st r ( ni t ) ] ) ;
ETSII-UPM
Mtodo de Newton (1/2)
Planteamiento bsico del mtodo de Newton (1660)
Se aproxima la funcin mediante los tres primeros trminos de la serie de Taylor:
Imponiendo la condicin de valor estacionario y suponiendo que la Hessiana es
invertible:
Error del mtodo de Newton
Teorema: Supngase que f C
2
y que la Hessiana satisface Lispchitz cerca de x
*
Si x
k
est suficientemente cerca de x
*
y H
*
es definida positiva, el mtodo de Newton
est bien definido para todo k y converge a x
*
con convergencia cuadrtica.
Demostracin: Cerca de x
k
el gradiente se puede expresar en la forma:
Para se cumplir:
Multiplicando por
Esta condicin implica que existe una constante c tal que
( ) ( ) ( ) ( ) ( ) ( )( )
2
1
2
T T
k k k k k k
f f f f + + x x x x x x x x x x
( ) ( ) ( ) ( ) ( ) ( )
1
2 2
1
0
k k k k k k k
f f f f f

+
= + = =

x x x x x x x x x
( )
2
,
k k k i k i
f H x H H x x
( ) ( )
( )
2
k k k
f f O + = + + x h x H h h
( ) ( ) ( )
( )
2
k k k k
f f O

= = + x 0 x H x x h
( )
1
suponiendo por continuidad que existe y est acotada
k

H
( )
( )
( )
( )
( )
( ) ( )
2 2 2
1
1 1 k k k k k k k k k k
f O O O

+ +
= + = + = + 0 H x x x h x x x x h h h
k k

= = h h x x
2
1
.
k k
c
+
= h h
ETSII-UPM
Mtodo de Newton (2/2)
Ventajas del mtodo de Newton
Para funciones cuadrticas convexas se obtiene el mnimo en un solo paso.
En las proximidades del mnimo x
*
la convergencia est garantizada y es
cuadrtica.
Limitaciones del mtodo de Newton
Como la Hessiana es simtrica, es necesario calcular n(n+1)/2 derivadas
segundas, lo cual no siempre es fcil o posible.
En cada iteracin hay que resolver un sistema de n ecuaciones lineales con n
incgnitas, lo que requiere O(n
3
) operaciones aritmticas.
El mtodo de Newton no tiene convergencia global. Si se parte de un punto
lejano, la Hessiana puede no ser definida positiva o invertible. Tampoco est
garantizado que el vector sea una direccin de descenso.
Modificaciones sencillas del mtodo de Newton
Utilizar la misma Hessiana en varios pasos para reducir el esfuerzo de clculo:
Utilizar un tamao de paso reducido por un factor para garantizar el
descenso en la funcin objetivo:
1
k k k

= p H g
( ) ( )
1
2
1 0 k k k
f f

+
=

x x x x
( ) ( ) ( ) ( )
1
2
1 1
, tal que
k k k k k k
f f f f

+ +
= >

x x x x x x
ETSII-UPM
Mtodos quasi-Newton (1/4)
Concepto general de los mtodos quasi-Newton
Se trata de sustituir en la iteracin de Newton la Hessiana por una matriz B
k
donde son aproximaciones de la Hessiana y de su inversa, de
modo que el mtodo resultante: a) tenga buenas condiciones de convergencia,
b) no requiera segundas derivadas y, c) necesite pocas operaciones aritmticas.
Estas matrices sern calculadas con la condicin de que imiten las
propiedades de la matriz H.
Los mtodos quasi-Newton satisfacen todas estas condiciones.
Condicin quasi-Newton
A partir del desarrollo en serie de Taylor
Esta frmula es exacta si la funcin es cuadrtica. Se utilizar la notacin:
A la ecuacin se le llama condicin quasi-Newton.
Las matrices B
k
y D
k
se construirn recursivamente, exigindoles que sean
simtricas y que cumplan la condicin quasi-Newton. Cuando sea posible se
les pedir tambin que sean definidas positivas.
Es preferible D
k
que B
k
, pues con D
k
se halla el nuevo punto directamente.
( ) ( )
1
1 2 1
1 1

k k k k k k k k k k k k k k
f f


+ +
= = = =

x x H g x x x x x B g x D g
1
y
k k k

= B D B
( ) ( ) ( )( )
( )
( )
2
2
1 1 1 1

k k k k k k k k k k
f f f O
+ + + +
= + + x x x x x h g g H x x
1 1
,
k k k k k k + +
y g g s x x
( )

k k k k k k
= = y B s D y s
ETSII-UPM
Mtodos quasi-Newton (2/4)
Actualizacin de rango 1 (Broyden y otros (1967))
Partiendo de D
1
=I, se va a desarrollar un mtodo que permite hallar D
k+1
a
partir de D
k
mediante una modificacin simtrica de rango 1:
El vector u se determinar exigiendo a D
k+1
que cumpla la condicin quasi-
Newton con y
k
y s
k
(D
k
no la cumple porque es slo una aproximacin de H
k
):
Esta expresin indica que u tiene la direccin de Haciendo u igual
a este vector y dejando para la constante a el factor de escala correspondiente:
La expresin de actualizacin, eliminando subndices del 2 miembro, resulta:
Se puede demostrar que esta expresin tiene la propiedad hereditaria, que
hace que D
k+1
cumpla la condicin quasi-Newton con los valores anteriores:
y que para funciones cuadrticas se llega el mnimo en no ms de n+1 pasos.
Sin embargo, esta frmula no se utiliza en la prctica (hay otras mejores).
( )
1 1
,
T T
k k k k k k k k k k k k k
a a
+ +
= = + = = D y s D y D y uu y s s D y u y u
( )
.
k k k
s D y
( ) ( )
( )
1 1
T T T T
k k k k k k k k k k
a a a a = = = = s D y u y u u y s D y u y u y
( )( )
( )
1
1
T
T
k
T T
+

= + = +

s Dy s Dy
D D uu D
u y
s Dy y
1
1, 2,...,
k i i
i k
+
= = D y s
1
T
k k
a
+
= + D D uu
ETSII-UPM
Mtodos quasi-Newton (3/4)
Actualizacin de rango 2 (Davidon, Fletcher y Powell (1959-63))
Con la actualizacin de rango 1 no es posible garantizar que D
k
va a ser
definida positiva, y el denominador puede anularse o hacerse muy pequeo.
Una actualizacin de rango 2 ofrece ms posibilidades:
Los vectores u y v no estn unvocamente determinados. Imponiendo la
condicin quasi-Newton:
Esta ecuacin sugiere hacer Sustituyendo en la expresin
anterior e identificando coeficientes se obtiene:
Finalmente, la expresin recursiva del mtodo DFP es:
Caractersticas del mtodo DFP para funciones cuadrticas y generales:
Termina en n+1 iteraciones
Tiene la propiedad de la herencia
Genera direcciones conjugadas y
gradientes conjugados si D
1
=I
1
T T
k k
a b
+
= + + D D uu vv
( ) ( )
1

T T T T
k k k k k k k k k k k
a b a b
+
= + + = = + D y D y uu y vv s s D y u y u v y v
, .
k k k
= = u s v D y
1, 1
T T
k k
a b = = u y v y
1
T T
DFP
k
T T
+
= +
ss Dyy D
D D
s y y Dy
D
k
es definida positiva si
O(n
2
) operaciones por paso
Convergencia superlinear
Convergencia global con bsq. exactas
0,
T
k k
k > s y
ETSII-UPM
Mtodos quasi-Newton (4/4)
Mtodo BFGS (Broyden, Fletcher, Goldfarb y Shanno (1970))
Considerado el mejor mtodo general para optimizaron sin restricciones.
Similar a DFP, pero mucho mejor para bsqueda de lnea aproximada.
Mantiene una relacin de dualidad con el mtodo de DFP: para la matriz B
k
:
La actualizacin de la matriz B
k
en BFGS es anloga a la actualizacin de D
k
en DFP
cambiando D por B, s por y, e y por s. Interesa, tambin en BFGS, calcular D
k
.
Utilizando la frmula de Sherman-Morrison:
es posible calcular la inversa de una matriz con una actualizacin de rango 1. Teniendo
en cuenta que se puede finalmente obtener:
Todas las propiedades del mtodo DFP se conservan en el mtodo BFGS.
Como los clculos comienzan con D
1
=I, al principio lejos del ptimo el mtodo se
comporta de modo similar al mtodo de mximo descenso. A medida que se acerca al
ptimo, D
k
aproxima la inversa de la Hessiana y la convergencia se hace superlineal.
1 1

T T T T
DFP BFGS
k k
T T T T

+ +

= + = +
D B
s y
ss Dyy D yy Bss B
D D B B
s y y Dy y s s Bs
( ) ( )
1 1
1
1 1
1
, siendo 1 0
1
T
T T
T

+ = +
+
A uv A
A uv A v A u
v A u
( )
1
1 1 1 1
,
BFGS BFGS BFGS BFGS
k k k k

+ + + +
= = B B D B I
1
1
T T T T
BFGS
k
T T T
+
+
= + +


y Dy ss sy D Dys
D D
s y s y s y
ETSII-UPM
Ejemplo
Clculo del mnimo de la funcin de Rosenbrock
Segn se ve en las figuras, tiene la forma
de un valle curvo y relativamente angosto.
El fondo del valle es relativamente plano.
Expresiones matemticas:
Se puede observar tambin la trayectoria
del mtodo quasi-Newton (63 iteraciones).
Resumen de algunos resultados
(bsqueda de lnea simplificada):
( )
( )
( )
2
2
2
1 2 2 1 1
, 100 1 f x x x x x = +
( )
( )
( )
( )
2
2 1 1 1
1 2
2
2 1
400 2 1
,
200
x x x x
f x x
x x



=



116 210 29 Quasi-Newton BFGS
2036 5010 509 Gradiente conjugado
24460 66639 6115 Mximo descenso
ngeval nfeval nit