Aplicaciones del concepto de Conjugacion enproblemas de Optimizacion No lineal e
Interpolacion
Fabian Andres Prada NinoDirector: Ahmed Ould Khaoua
Noviembre 2010
Indice general
1. Introduccion 3
2. Preliminares 52.1. Metodo de Gradiente Conjugado Lineal (GCL) . . . . . . . . . 52.2. Convergencia del Metodo de Gradiente Conjugado Lineal . . . 72.3. Gradiente Conjugado No Lineal (GCNL) . . . . . . . . . . . . 112.4. Definiciones de los distintos tipos de convergencia . . . . . . . 122.5. Condiciones de Wolfe y Teorema de Zoutendijk . . . . . . . . 142.6. Convergencia de los metodos de Gradiente Conjugado No Lineal 17
3. Algoritmo y Motivacion 203.1. Que significado tienen las direcciones conjugadas? . . . . . . . 203.2. Como se construyen los metodos clasicos de gradiente conju-
gado no lineal? . . . . . . . . . . . . . . . . . . . . . . . . . . 223.3. Algoritmo de Estudio: GCNL de Daniel . . . . . . . . . . . . 243.4. Busqueda Lineal para nuestro algoritmo . . . . . . . . . . . . 28
3.4.1. Busqueda Lineal basada en Newton . . . . . . . . . . . 293.4.2. Busqueda Lineal Binaria . . . . . . . . . . . . . . . . . 323.4.3. Condicion de Descenso . . . . . . . . . . . . . . . . . . 34
4. Estudio de convergenecia del GCNL de Daniel 384.1. Convergencia Global en problemas fuertemente convexos . . . 38
4.1.1. Modificaciones necesarias para garantizar convergenciaen problemas convexos generales . . . . . . . . . . . . . 43
4.2. Convergencia Lineal en problemas fuertemente convexos . . . 454.3. Convergencia Lineal bajo condiciones de busquedas inexactas . 48
1
5. Modificaciones del GCNL de Daniel 525.1. Criterio de reinicializacion . . . . . . . . . . . . . . . . . . . . 525.2. Proyeccion del gradiente en espacios conjugados . . . . . . . . 54
5.2.1. Aplicacion a un problema de proyecciones . . . . . . . 61
6. Implementacion Comparativa de los Algoritmos Estudiados 64
7. Aplicacion del concepto de Conjugacion a un problema deinterpolacion 717.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . 717.2. Aproximacion a la solucion por el metodo de proyecciones . . 727.3. Aproximacion a la solucion por el metodo de GCL . . . . . . . 747.4. Construccion del Algoritmo . . . . . . . . . . . . . . . . . . . 777.5. Implementacion del Algoritmo . . . . . . . . . . . . . . . . . . 83
8. Conclusiones 89
2
Capıtulo 1
Introduccion
A traves del estudio de conceptos sencillos de algebra lineal, podemosdesarrollar herramientas eficientes que nos permiten dar solucion a proble-mas de analisis numerico. Tal es el caso del concepto de conjugacion, quea pesar de su sencillez, es el corazon de algoritmos de suma importanciacomputacional como el metodo de Gradiente Conjugado Lineal (GCL). Enel presente documento se busca explotar a fondo el concepto de conjugacionimplementandolo en problemas de optimizacion convexa, proyecciones ortog-onales e interpolacion.
Para comprender el papel que juega el concepto conjugacion en problemasde optimizacion, es indispensable estudiar el metodo de Gradiente Conjuga-do Lineal (GCL), cuyo ojetivo es precisamente la minimizacion de funcionescuadraticas convexas. El estudio de la convergencia del GCL se desarrollausando conceptos sencillos de algebra lineal y los resultados que se obtienenilustran de forma clara el poder de este metodo.
Tras estudiar el GCL surge de forma natural preguntarse:
¿Que tan factible es extender este metodo a problemas de optimizacionno lineales?
¿Que propiedades deseamos conservar del metodo lineal?
¿Como se altera la convergencia del metodo?
Estas preguntas son precisamente las que buscamos resolver en los capıtu-los 3 y 4 del presente documento. Para ello, introduciremos y estudiaremos
3
el metodo de Gradiente Conjugado No Lineal de J.W. Daniel (GCNLD), quecomo se vera en su momento, es la extension natural del GCL a problemas nolineales. Los problemas sobre los cuales se estudiara la convergencia de estemetodo seran principalmente de tipo fuertemente convexo. Esta condicionsera suficiente para garantizar la converegencia global y de caracter linealque tiene el algoritmo.
Para poder implementar el algortimo de GCNLD, es indispensable desar-rollar criterios practicos de terminacion para las busquedas lineales que serealizan en cada iteracion. En el capıtulo 3, se presentaran dos alternativassencillas de busquedas lineales y en el capıtulo 4 se mostrara que el criteriopropuesto de terminacion es suficiente para garantizar la convergencia linealdel metodo.
En el capıtulo 5 se trataran algunas modificaciones del metodo de GC-NLD que estan motivadas en el deseo de que la direccion de busqueda no seaproxime arbitrariamente a la ortogonalidad con el gradiente. En el capıtulo6 se presentaran brevemente los resultados de implementacion de los algo-ritmos tratatados a lo largo del documento en 4 tipos de problemas diferentes.
Finalmente en el capıtulo 7 presentamos una aplicacion del concepto deconjugacion a un problema de interpolacion. En este capıtulo busco aprovecharal maximo las propiedades de convergencia del metodo de GCL, que descri-bo brevemente en los preliminares, construyendo un algoritmo iterativo deinterpolacion. Para dicho algoritmo presentamos tambien algunos resultadosde implementacion.
Nuestro aporte al estudio y apliacion de las propiedades de conjugacion enproblemas de analisis numerico se centra en los capıtulos 5,6 y 7. Destacamosprincipalmente el capıtulo 7 como objeto de estudio, pues en el desarrollamosun algoritmo original y eficiente para la resolucion de un problema muygeneral de interpolacion.
4
Capıtulo 2
Preliminares
2.1. Metodo de Gradiente Conjugado Lineal
(GCL)
El metodo de Gradiente Conjugado Lineal, presentado por Hestenes y Stiefel[1],fue propuesto inicialmente como metodo iterativo de solucion de sitemas lin-eales de la forma Ax = b, siendo A matriz Hermitiana Definida Positiva(HDP). La siguiente proposicion nos permitira comprender la relacion queexiste entre la solucion de este tipo sistemas y los problemas de optimzacionconvexa:
Proposicion 2.1. Sea A matriz HDP y b ∈ Rn. La funcion f : Rn → Rdefinida por
f(x) =1
2xtAx− btx. (2.1)
es fuertemente convexa y su unico punto de minimizacion es precisamente lasolucion al sistema Ax = b.
Demostracion. El gradiente de f en el punto x es ∇f(x) = Ax − b y sumatriz Hessiana Hx = A. Dado que Hx = A es HDP, concluimos que f esfuertemente convexa, mas aun, esto nos indica que f tiene un unico punto deminimizacion y que dicho punto satisface ∇f(x) = Ax− b = 0. Por tanto elpunto de minimizacion de f es precisamente solucion al sistema Ax = b.
Teniendo presente la equivalencia entre solucionar el sistema Ax = b yhallar el punto de minimizacion de la funcion convexa f(x) = 1
2xtAx − btx,
5
el metodo de gradiente conjugado lineal plantea el siguiente algoritmo paradar solucion a estos problemas:
Algoritmo 2.1. (Gradiente Conjugado Lineal GCL)
Parametros:{f(x) = 1
2xtAx− btx : Funcion Cuadratica Convexa.
x0 : Punto de partida.
Procedimiento:
r0 = Ax0 − bp0 = −r0k = 0
while rk 6= 0
αk =rtkrkpkApk
xk+1 = xk + αkpk
rk+1 = rk + αkApk
βk+1 =rtk+1rk+1
rtkrk
pk+1 = −rk+1 + βk+1pk
k = k + 1
end while
Para comprender el significado de este algoritmo, es conveniente adop-tar el enfoque dado por el problema de optimizacion, es decir el problemade minimizar f(x) = 1
2xtAx − btx. El algoritmo anterior se puede catalogar
como un Algoritmo Iterativo de Busquedas Lineales (AIBL),que es un tipode algoritmo implementado en problemas de Optimizacion No Restringida(ONR). La forma en que operan estos algoritmos es sencilla: se parte de unpunto inicial y en cada iteracion se elige una direccion de busqueda sobre lacual se efectua un proceso de minimizacion de f .
A partir de esta idea podemos comprender rapidamente el significado dealgunos de los elementos del metodo de gradiente conjugado:
6
x0, x1, x2, ... son los puntos que aproximan la solucion al problema deminimizacion
p0, p1, p2, ... son las direcciones de busqueda que sigue el algoritmo.
α0, α1, α2..., son las longitudes de paso de cada una de las iteraciones.
La razon por la cual llamamos a este algoritmo metodo de GradienteConjugado, es porque las direcciones de busqueda son conjugadas respectoa A, esto significa que satisfacen la relacion
ptiApj = 0 para todos i 6= j (2.2)
En la Seccion 3.1 se discutira cual es el significado geometrico de la con-jugacion y su importancia en el proceso de minimizacion.
La forma recursiva en que se construyen las direcciones de busqueda en elmetodo de GCL va orientada al cumplimiento de la condicion de conjugacion(2.2). Para ello, cada direccion pk+1, se construye a partir de un vector di-rector −rk+1 (que corresponde a −∇fk+1), la direccion de busqueda anteriorpk, y un escalar βk+1, que son tomados de forma que ptiApk+1 = 0 para todoi = 0, 1, ..., k.
2.2. Convergencia del Metodo de Gradiente
Conjugado Lineal
La teorıa asociada a la convergencia del GCL en problemas cuadraticosconvexos posee resultados muy intersantes basados en la distribucion de losvalores propios de la matriz del problema. En esta seccion presentare losresultados mas relevantes de convergencia. Dichos resultados se pueden con-sultar mas ampliamente en [10] y [9].
Lema 2.1. Sea f(x) = 12xtAx − btx funcion cudratica convexa y x0 punto
de partida. Sean p0, p1, ..., pk−1, ..., las direcciones de busqueda generadas porel algoritmo de GCL y sean x0, x1, ..., xk, ..., los puntos recorridos por el al-goritmo. Podemos afirmar que para todo k, xk es el punto que minimiza la
7
funcion f en el espacio afin Uk−1 = x0 + span{p0, p1, ..., pk−1}.
Lema 2.2. Por la forma en que construimos recursivamenete las direccionesde busqueda del GCL se satisface la siguiente igualdad :
span{p0, p1, ..., pk−1} = span{p0, Ap0, ..., Ak−1p0} (2.3)
Por tanto xk es el punto que minimiza la funcion f en el espacio afinUk−1 = x0 + span{p0, Ap0, ..., A
k−1p0}
Teorema 2.1. [9] Sea x el punto de minimizacion global de f y xk el puntocorespondiente a la k − esima iteracion del GCL. Entonces se tiene que:
f(xk)− f(x) =1
2mınQk−1
(x0 − x)t(A(I − AQk−1(A)
)2)(x0 − x) (2.4)
Donde Qk−1 es tomado sobre todos los polinomios de grado menor o iguala k − 1.
Demostracion. Por el teorema de Taylor sabemos que
f(xk) = f(x) +∇f(x)(xk − x) +1
2(xk − x)tH(uk)(xk − x) (2.5)
donde uk es cierto punto en el segmento [x, xk]. Dado que f es cuadraticay x su mınimo, podemos afirmar que ∇f(x) = 0 y H(uk) = A. Por tanto:
f(xk)− f(x) =1
2(xk − x)tA(xk − x) (2.6)
Por el Lema 2.2 sabemos que xk ∈ x0 + span{p0, Ap0, ..., Ak−1p0} y por
ende existe Qk−1 polinomio de grado a lo sumo k − 1 tal que
xk − x0 = Qk−1(A)p0 (2.7)
Observemos ademas que
A(x0 − x) = Ax0 − Ax = Ax0 − b = −p0 (2.8)
De los resultados (2.7) y (2.8) deducimos que
xk − x = (xk − x0) + (x0 − x) = (Qk−1(A)p0) + (x0 − x)
8
=(Qk−1(A)
)(− A(x0 − x)
)+ (x0 − x) =
(I − AQk−1(A)
)(x0 − x)
⇒ xk − x = (I − AQk−1(A))(x0 − x) (2.9)
Apartir de la ecuaciones (2.6) y (2.9) deducimos que
f(xk)− f(x) =1
2(x0 − x)t
(A(I − AQk−1(A)
)2)(x0 − x) (2.10)
Dado que xk es el mınimo de f en x0 + span{p0, Ap0, ..., Ak−1p0} y todo
elemento en dicho conjunto es de la forma x0 +Qk−1(A)p0, podemos concluirque :
f(xk)− f(x) =1
2mınQk−1
(x0 − x)t(A(I − AQk−1(A)
)2)(x0 − x)
Tal como se queria probar.
Teorema 2.2. Sean λ1, λ2, ..., λn valores propios de A. Entonces para todopolinomio Qk−1 de grado a lo sumo k − 1 se satisface:
f(xk)− f(x) ≤(
maxλi
(1− λiQk−1(λi)
)2)(f(x0)− f(x)
)(2.11)
Demostracion. Siendo A HDP considere {v1, v2, ..., vn} base ortonormalde Rn formada por vectores propios de A, y asociados a los valores propiosλ1, λ2, ..., λn respectivamente. Escribiendo x0 − x = r1v1 + ... + rnvn, vemosque
1
2(x0−x)t
(A(I−AQk−1(A)
)2)(x0−x) =
1
2
n∑i=1
(1−λiQk−1(λi)
)2λir
2i (2.12)
y por el Teorema 2.1 podemos afirmar que
f(xk+1)− f(x) ≤ 1
2
n∑i=1
(1− λiQk−1(λi)
)2λir
2i (2.13)
9
A partir de la ecuacion (2.6) deducimos que
f(x0)− f(x) =1
2(x0 − x)tA(x0 − x) =
1
2
n∑i=1
λir2i (2.14)
Observese ahora que
1
2
n∑i=1
(1− λiQk−1(λi)
)2λir
2i ≤
(maxλi
(1− λiQk−1(λi)
)2)(1
2
n∑i=1
λir2i
)=(
maxλi
(1− λiQk−1(λi)
)2)(f(x0)− f(x)
)(2.15)
Finalmente de (2.13) y (2.15) concluimos:
f(xk+1)− f(x) ≤(
maxλi
(1− λiQk−1(λi)
)2)(f(x0)− f(x)
)
Corolario 2.1. Sea A matriz HDP asociada a la funcion cuadratica convexaf . Sean λ1, λ2, ..., λn valores propios de A. Entonces:
f(xk)− f(x) ≤ mınQk−1
maxλi
(1− λiQk−1(λi)
)2(f(x0)− f(x)
)(2.16)
Corolario 2.2. Si la matriz A HDP, tiene exactamente m valores propiosdistintos el metodo de GCL culminara en a lo sumo m iteraciones.
Demostracion. Se puede construir un polinomio Qm−1 de grado a lo sumom−1 tal que los m valores propios de A son raices de 1−λQm−1(λ). Aplicandoel Teorema 2.2 obtenemos que
f(xm)− f(x) ≤ maxλi
(1− λiQm−1(λi))2(f(x0)− f(x)) = 0
Por tanto f(xm) = f(x) y esto garantiza la culminacion en a lo sumo miteraciones.
El resultado anterior tambien nos indica que si la matriz A tiene sus val-ores propios distribuidos en m cumulos el GCL se aproximara eficientementea la solucion en m iteraciones.
10
2.3. Gradiente Conjugado No Lineal (GCNL)
Siendo el metodo de GCL de uso exclusivo en problemas cuadraticosconvexos, muchos autores han propuesto modificaciones sobre este algoritmoque se adecuen a problemas de optimizacion mas generales. La estructurade los algoritmos de Gradiente Conjugado No Lineal es identica y su unicadiferencia se encuentra en la forma en que se generan recursivamente lasdirecciones de busqueda, especificamente, la forma en que se selecciona elvalor de βk+1. La estructura que comparten es la siguiente [10]:
Algoritmo 2.2. (Gradiente Conjugado No Lineal GCNL)
Parametros:f : Funcion
x0 : Punto de partida
ε > 0 : Norma tolerada para el gradiente
Procedimiento:
p0 = −∇f0
k = 0
while‖∇fk‖ > ε
αk = argminα
f(xk + αpk)
xk+1 = xk + αkpk
pk+1 = −∇fk+1 + βk+1pk
k = k + 1
end while
En la literatura existen tres algoritmos que se pueden considerar algorit-mos clasicos de GCNL. Estos algoritmos operan de forma identica al metodode GCL cuando son implementados en problemas cuadraticos convexos. Co-mo se menciono previamente estos algoritmos se diferencian por su eleccionde βk+1:
Fletcher-Reeves: βFRk+1 =∇f tk+1∇fk+1
∇f tk∇fk
11
Hestenes-Stiefel: βHSk+1 =∇f tk+1(∇fk+1−∇fk)ptk(∇fk+1−∇fk)
Polak-Ribere: βPRk+1 =∇f tk+1(∇fk+1−∇fk)
‖∇fk‖2
Se observa rapidamente que los costos computacionales asociados a estostres algoritmos se concentran principalmente en dos factores: Calcular elgradiente en cada iteracion y Realizar la busqueda lineal en la direcciongenerada. El calculo del gradiente en un problema de n variables exige n+ 1evaluaciones de la funcion. Mientras que la realizacion de la busqueda linealdepende de la naturaleza de la funcion subyacente al problema.
2.4. Definiciones de los distintos tipos de con-
vergencia
Sea f : Rn → R una funcion arbitraria y x0 ∈ Rn punto de partida.Suponga que nos enfrentamos al problema de minimizar f usando un Algorit-mo Iterativo de Busquedas Lineales (AIBL), notado P , que toma como puntode partida x0 y que aproxima la solucion a traves los puntos x0, x1, x2, ... . Apartir de este tipo de sucesiones podemos evaluar el desempeno de P segunlos siguientes criterios:
Se dice que el algoritmo P es globalmente convergente si para todox0 ∈ Rn punto de partida, el conjunto de aproximaciones a la solucion gen-erado por P es convergente, es decir, la sucesion x0, x1, x2, ... converge ennorma. Asociados al concepto de convergencia global existen otros tipos deconvergencia mas debiles que seran tratados mas adelante:
lımn→∞ f(xn) = ınfx∈Rn f(x) (Convergencia Debil o en Funcion)
lımn→∞‖∇f(xn)‖ = 0
lım inf‖∇f(xn)‖ = 0
En algunos casos estas formas de convergencia (en principio mas debiles)implican la convergencia global. Esto precisamente sucede con las funcionesestrıctamente convexas tal como se plantea en la siguinete proposicion:
12
Proposicion 2.2. Sea f : Rn → R funcion fuertemente convexa, x puntode minimizacion de f y P Algoritmo Iterativo de Busquedas Lineales. Lossiguientes son equivalentes:
i)P converge globamente a x.
ii)lımn→∞ f(xn) = f(x)
iii)lımn→∞‖∇f(xn)‖ = 0
iv)lım inf‖∇f(xn)‖ = 0
Asumiendo que nuestro algoritmo P sea globalmente convergente, el sigu-iente criterio a considerar es la velocidad de convergencia. Existen tres tiposde razones de convergencia que seran de nuestro interes:
Se dice que {xn} converge linealmente a x si existe r ∈ (0, 1) tal que
‖xk+1 − x‖‖xk − x‖
≤ r
para todo k suficientemente grande.
Se dice que {xn} converge superlinealmente a x si
lımk→∞
‖xk+1 − x‖‖xk − x‖
= 0
Se dice que {xn} converge cuadraticamente a x si existe M > 0 talque
‖xk+1 − x‖‖xk − x‖2
≤M
para todo k suficientemente grande.
De las definciones anteriores se observa que la convergencia lineal es maslenta que la convergencia superlineal, y esta a su vez es mas lenta que laconvergencia cuadratica. Tambien podemos definir la rapidez de convergenciade P en terminos de los valores de f de la siguiente manera:
13
Se dice que {xn} converge linealmente debil a x si existe r ∈ (0, 1)tal que
‖f(xk+1)− f(x)‖‖f(xk)− f(x)‖
≤ r
para todo k suficientemente grande.
Se dice que {xn} converge superlinealmente debil a x si
lımk→∞
‖f(xk+1)− f(x)‖‖f(xk)− f(x)‖
= 0
Se dice que {xn} converge cuadraticamente debil a x si existe M > 0tal que
‖f(xk+1)− f(x)‖‖f(xk)− f(x)‖2
≤M
para todo k suficientemente grande.
Estos tipos de convergencia seran de especial interes cuando discutamosla convergencia de del algoritmo de GCNL que estudiaremos mas adelante.
2.5. Condiciones de Wolfe y Teorema de Zou-
tendijk
Al implementar un AIBL, cada iteracion acarrea un proceso de mini-mizacion de f en la direccion escogida. Dado que en muchas situaciones estecnicamente imposible (o excesivamente costoso) encontrar el mınimo exactode f en la direccion de busqueda, debemos formular un conjunto de condi-ciones que nos indiquen cuando es satisfactorio terminar dicha busqueda. Loque se busca a traves de estas condiciones, es evitar que se sigan gastandoenergias en la busqueda del mınimo de f en cierta dirrecion, y en lugar de ellose salte a un nueva direccion de busqueda que nos permita obtener mayoresavances.
14
En este sentido, las condiciones de Wolfe son dos criterios de busquedaque tienen un gran valor teorico y practico. Las condiciones de Wolfe laspodemos enunciar ası:
Sea f funcion arbitraria, xk punto de partida y pk direccion de desenso.Decimos que αk, longitud de paso, satisface las Condiciones de Wolfe con0 < c1 < c2 < 1 si :
i)f(xk + αkpk) ≤ f(xk) + c1αk∇f(xk)tpk (2.17)
ii)∇f(xk + αkpk)tpk ≥ c2∇f(xk)
tpk (2.18)
La segunda Condicion de Wolfe sera determinante en los estudios de con-vergencia que se desarrollaran mas adelante y por ello merece importanteatencion en esta seccion. A partir del signo de ∇f(xk + αkpk)
tpk podemosafirmar que:
Si ∇f(xk +αkpk)tpk < 0 podemos seguir disminuyendo el valor de f al
movernos en la direccion pk
Si ∇f(xk + αkpk)tpk = 0 hemos alcanzado un mınimo local de f en la
direccion pk
Si ∇f(xk + αkpk)tpk > 0 ya hemos pasado un mınimo local de f y nos
estamos alejando del mismo al movernos en la direccion pk.
Por tanto la expresion (2.18), correspondiente a la segunda Condicion deWolfe, nos da una cota de tolerancia inferior para ∇f(xk + αkpk)
tpk, perono nos da una cota de tolerancia superior. Tal como se deduce de las obser-vaciones anteriores, la ausencia de una cota superior para ∇f(xk + αkpk)
tpkpuede llevar a que nos pasemos del mınimo de f y empecemos a alejarnosde este. Ante esta situacion, existe una sencilla modificacion de la segundaCondicion de Wolfe que nos permite resolver este inconveniente. La condi-cion (2.17) , junta a la version modificada de (2.18) reciben el nombre deCondicion Fuertes de Wolfe :
Sea f una funcion arbitraria, xk punto de partida y pk direccion de desen-so. Decimos que αk, longitud de paso, satisface las Condiciones Fuertes
15
de Wolfe con 0 < c1 < c2 < 1 si :
i)f(xk + αkpk) ≤ f(xk) + c1αk∇f(xk)tpk
ii)|∇f(xk + αkpk)tpk| ≤ c2|∇f(xk)
tpk| (2.19)
La posibilidad de encontrar longitudes de paso que satisfagan las Condi-ciones Fuertes de Wolfe las enuncio en el siguiente resultado:
16
Proposicion 2.3. [10] Sea f : Rn → R continuamente diferenciable y pkdireccion de descenso que parte de xk. Suponga que f esta acotada por debajoen el conjunto {xk+αpk : α > 0}. Dados 0 < c1 < c2 < 1 existen intervalos delongitudes de paso (i.e, valores de α) que satisfacen las Condiciones Fuertesde Wolfe.
Comprendiendo la importancia de las Condiciones de Wolfe como garantesdel descenso de un AIBL, estamos ahora en capacidad de enunciar el teoremade Zoutendijk:
Teorema 2.3. [10] Sea f funcion acotada inferiormente,x0 punto de partiday U0 = {x : f(x) ≤ f(x0)} conjunto de nivel. Suponga que f es continua-mente diferenciable en U0 y que ∇f es Lipschitz continuo en Int(U0). Paratodo AIBL que genera un conjunto de direcciones de descenso, p0, p1, ..., ylongitudes de paso, α0, α1, ... que satisfacen las Condiciones Fuertes de Wolfe,podemos afirmar que: ∑
k≥0
(cos θk‖∇fk‖)2 <∞ (2.20)
Donde θk, corresponde al angulo formado entre ∇fk y pk.
2.6. Convergencia de los metodos de Gradi-
ente Conjugado No Lineal
Los metodos de GCNL presentan un buen desempeno computacional alcompararseles con otros AIBL como el metodo de Descenso Mas Rapido, elmetodo de Newton-Raphson y los metodos de Quasi Newton. Sin embargo,la comprension de la naturaleza de convergencia de los metodos de GCNLes reducida si la comparamos con los resultados conocidos de cualquiera deestos otros metodos. Son pocos los resultados fuertes que existen sobre laconvergencia de los metodos de GCNL, y entre ellos, existen varios que evi-dencian las limitaciones los algoritmos de GCNL.
Por ejemplo, los algoritmos de GCNL pueden no ser globalmente conver-gentes en cierto tipo de problemas para los cuales el metodo de Descenso MasRapido si es globalmente convergente. Este hecho se plantea en la siguienteproposicion:
17
Proposicion 2.4. [10] Sea f funcion arbitraria, x0 punto de partida yU0 = {x : f(x) ≤ f(x0)} conjunto de nivel. Suponga que U0 sea acotadoy que ∇f sea Lipschitz continua en una vecindad que contiene a U0. Con-sidere que aplicamos un AIBL que satisfaga las Condiciones Fuertes de Wolfe,para 0 < c1 < c2 <
12. Acorde a cual sea el AIBL implementado podemos
afirmar que:
i)Si el algoritmo implementado es el Descenso Mas Rapido, se satisfacelımn→∞‖∇fn‖ = 0 .
ii)Si el algoritmo implementado es el GCNL de Fletcher-Reeves, se satis-face lım infn→∞‖∇fn‖ = 0.
iii)Si el algoritmo implementado es el GCNL de Polak-Ribere, es posibleque exista ε > 0, tal que ‖∇fn‖ > ε para todo n ∈ N.
Para garantizar lımn→∞‖∇fn‖ = 0 para cualquiera de los algoritmos clasi-cos de GCNL, es necesario reinicializar periodicamente el algoritmo, es decir,tomar como direccion de busqueda el vector opuesto al gradiente cada ciertonumero de iteraciones.
Este resultados llama la atencion, pues a priori nos indica que el metodode Descenso Mas Rapido es mas robusto que el GCNL de Fletcher-Reeves, yeste ultimo a su vez mas robusto que el GCNL de Polak-Ribere. Sin embargoal implmentar computacionalmente estos algoritmos (Capıtulo 6), obtenemosque el GCNL de Polak- Ribere se desempena mejor que el GCNL de Fletcher-Reeves, y este a su vez mucho mejor que el metodo de Desecenso Mas Rapido.
En materia de velocidad de convergencia de los metodos clasicos de GCNLson conocidos los siguientes resultados:
Los algoritmos de GCNL poseen convergencia lineal en problemasfuertemente convexos (en el siguiente capıtulo se presentara una pruebade este hecho para cierto algoritmo de GCNL).
La convergencia de los algoritmos de GCNL no puede ser superlinealen problemas fuertemente convexos. Crowder y Wolfe [6] presentan unaprueba de este hecho para el problema cuadratico convexo.
18
Powell [5] prueba ademas que al implementar el metodo de GCL en unproblema cuadratico convexo tomando una direccion de busqueda ini-cial arbitraria, el algoritmo converge a la solucion en un numero finitode pasos, o lo hace a lo sumo linealmente.
Por otra parte tambien cabe destacar el siguiente resultado de Arthur ICohen [8], que se basa en las relaciones entre los metodos de GCNL y elmetodo de Newton-Raphson. Para los metodos de GCNL de Polak-Ribere,Fletcher-Reeves y Daniel (que sera objeto de estudio en los capıtulos 3 y 4),Cohen demostro cierta la siguiente proposicion:
Proposicion 2.5. Al aplicar el algoritmo de GCNL a problemas fuertementeconvexos, implementando busquedas lineales exactas y haciendo reinicializa-ciones cada r ≥ n iteraciones, obtenemos n − step cuadratic convergence.Esto quiere decir, que si x1, x2, ... es la sucesion de puntos generadas por elalgoritmo y x el punto de minimizacion, entonces existe una constante C talque:
lım supk→∞
|xkr+n − x||xkr − x|2
≤ C <∞ (2.21)
Observemos que al aproximar una funcion convexa por medio de su seriede Taylor en torno a x0 obtenemos
f(x) ≈ f(x0) +∇f tx0(x− x0) +
1
2(x− x0)
tHx0(x− x0)
El mınimo de dicha aproximacion se alcanza precisamente cuando x−x0 =−H−1
x0∇fx0 que corresponde a la direccion de busqueda del metodo Newton-
Raphson. Por su parte, los metodo de Gradiente Conjugado llegan al mınimode la aproximacion (asumiendo que la matriz Hessiana permanesca fija) ena lo sumo n iteraciones. Por tanto se esperaria que n iteraciones del metodode gradiente conjugado se comporten asintoticamente como una iteracion delmetodo de Newton Raphson y por tanto satisfagan la mismas propiedadesde convergencia de este ultimo metodo. Con base en la anterior observacionCohen desarrollo su resultado.
19
Capıtulo 3
Algoritmo y Motivacion
3.1. Que significado tienen las direcciones con-
jugadas?
El primer paso para entender la naturaleza de los metodos de gradienteconjugado es conocer el significado de las direcciones conjugadas. Supongaque nos enfrentamos al problema de minimizacion de una funcion arbitrariaf y que para ello debemos desarrollar un Algoritmo Iterativo de BusquedasLineales (AIBL). Al desarrollar tal algoritmo nos enfrentarnos a la siguientepregunta: Cual es la forma optima de elegir las direcciones de busqueda?. Losmetodos de gradiente conjugado dan respuesta a esta pregunta siguiendo lapremisa:
El proceso de busqueda en cada iteracion debe perturbar en lo mas mınimolos alcances de las iteraciones anteriores
Sea P el AIBL que vamos a implentar y p0, p1, ..., el conjunto de direc-ciones de busqueda que genera. Definiendo Vi = {x ∈ R. : ∇f(x)tpi = 0},podemos observar que al realizar la minimizacion exacta de f en la direccionpi obtendremos un punto en Vi, es decir, ∇f(xi+1)
tpi = 0 . En las itearcionesposteriores nos gustar seguir minimizando f sin perder el trabajo realizadopor la minimizacion en la direccion pi. Para ello debemos enfocarnos en quelos siguientes puntos de aproximacion a la solucion permanescan en Vi, yesto se cumple siempre que ∇f(xj)
tpi = 0 para j > i. Bajo la hipotesis debusquedas lineales exactas podemos afirmar que ∇f(xj+1)
tpj = 0 para todo
20
j > i, por tanto garantizar ∇f(xj)tpi = 0 para j > i, equivale a garantizar
que los cambios de gradiente permanezcan ortogonales a pi, es decir,(∇f(xj)−∇f(xi+1)
)tpi = 0 (3.1)
La matriz Hessiana nos da un estimativo del cambio de gradiente en ciertadireccion:
∇f(x+ p)−∇f(x) ≈ H(x)p (3.2)
Por tanto, para obtener(∇f(xi+2)−∇f(xi+1)
)tpi ≈ 0 es razonable tomar
la direccion de busqueda pi+1 de modo que pti+1H(xi+1)pi ≈ 0. Esta es pre-cisamente la propiedad de conjugacion. Podemos interprertar la propiedadde conjugacion entre dos direcciones de la siguiente manera:
Se dice que dos direcciones de busqueda di, dj son conjugadas, si el cam-bio de gradiente originado por la busqueda en la direccion dj, es ortogonalrespecto a la direccion di. De esta forma garantizamos que la busqueda en ladireccion dj no perturbe el avance realizado por la busqueda en la direcciondi
En la siguiente figura ilustro tal situacion:
21
Vemos que pi+1 al ser conjugada a pi, el desecenso en la direccion pi+1
permenece cerca de Vi. En cambio vemos que al tomar −∇f(xi+1) comodireccion de descenso, esta puede llevarnos lejos de Vi y por tanto perturbarel avance logrado por pi.
La importancia de que las direcciones de busqueda sucesiva nos permitanpermanecer en Vi (i.e, ∇f(xj)
tpi = 0 para j > i) se evidencia en la siguienteproposicion:
Proposicion 3.1. [10] Sea f : Rn → R funcion estrictamente convexa , x0
un punto en Rn, y p0, p1, ..., pk un conjunto de direcciones en Rn. Entoncesxk+1 es el punto de minimizacion de f en x0 + span{p0, p1, .., pk} si y solo sixk+1 ∈ x0 + span{p0, p1, .., pk} y ∇f(xk+1)
tpi = 0 para i = 0, 1, ..., k.
De la anterior proposicion se deduce que si un algoritmo que sigue direc-ciones p0, p1, .., pk nos permite al cabo de la k-esima iteracion permacer en Vipara i = 0, 1..., k, entonces xk+1 sera el mınimo de f en x0+span{p0, p1, .., pk}.Si conseguimos conservar esta propiedad hasta la n-esima iteracion, y las di-recciones p0, p1, .., pn−1 son linealmente independientes, se llega a que xn−1 =x , es el mınimo de f en x0 + span{p0, p1, .., pn−1} = Rn, es decir el algoritmoconverge en a lo sumo n iteraciones.
Esto es precisamente lo que sucede en el problema cuadratico convexocaundo se aplica el metodo de GCL (Lema 2.1). Al tomar direcciones conju-gadas respecto a A, garantizamos ∇f tjpi = 0 para j > i.
Para el problema convexo general (no cuadratico), garantizar que lasdirecciones de busqueda sean conjugadas presenta muchas dificultades. Enprimer lugar, el valor de la Hessiana cambia de un punto a otro de modoque el concepto de conjugacion, que involucra tanto las direcciones como laHessiana en su definicion, pierde en gran parte su sentido.
3.2. Como se construyen los metodos clasicos
de gradiente conjugado no lineal?
i) Fletcher-Reeves (FR): La eleccion de βFRk+1 =∇f tk+1∇fk+1
∇f tk∇fk, que realiza
este algoritmo, se obtiene a partir de la expresion βk+1 =rtk+1rk+1
rtkrkque pre-
senta el metodo de GCL, haciendo una identificacion entre rk y ∇fk. Para
22
un problema cuadratico convexo se satisface rk = ∇fk, y por tanto FR esequivalente al GCL en este tipo de problemas. Sin embargo para un prob-lema general, no es claro si esta eleccion de βk+1 siga siendo conveniente,
en primer lugar por que la expresion βk+1 =rtk+1rk+1
rtkrkobtenida p?a el GCL
depende fuertemente de la naturaleza cuadratica de la funcion subyacente, yen segundo lugar por que no sabemos si las direcciones generadas tomando
βFRk+1 =∇f tk+1∇fk+1
∇f tk∇fk(en un problema no lineal general) tienen alguna relacion
en terminos de conjugacion.
ii)Hestenes-Stiefel (HS): La eleccion βHSk+1 =∇f tk+1(∇fk+1−∇fkptk(∇fk+1−∇fk
esta motiva-
da en que las direcciones de busquedas consecutives sean conjugadas respectoa la matriz Hessiana media. Dados xk, xk+1 puntos consecutivos generadospor el algoritmo, definimos la matriz Heesiana media:
Hxk→xk+1:=
∫ 1
0
H(xk + t(xk+1 − xk))dt (3.3)
Para dicha matriz conocemos la propiedad:
Hxk→xk+1(xk+1 − xk) = ∇fk+1 −∇fk (3.4)
Para construir la nueva direccion de busqueda, pk+1, HS impone la condicionde conjugacion entre pk y pk+1 respecto a Hxk→xk+1
, es decir,
ptkHxk→xk+1pk+1 = 0
Como xk+1 − xk = αkpk, obtenemos Hxk→xk+1αkpk = ∇fk+1 − ∇fk, y
de alli concluimos que la condicion de conjugacion ptkHxk→xk+1pk+1 = 0 es
equivalente a (∇fk+1 −∇fk)tpk+1 = 0.
Por tanto el metodo de GCNL de Hestenes Stiefel, proponepk+1 = −∇fk+1 + βk+1pk tal que (∇fk+1 − ∇fk)tpk+1 = 0. Las anteriorescondiciones implican (∇fk+1 −∇fk)t(−∇fk+1 + βk+1pk) = 0
⇒ βk+1 =∇f tk+1(∇fk+1 −∇fk)ptk(∇fk+1 −∇fk)
23
iii)Polak-Ribere (PR): La eleccion βPRk+1 =∇f tk+1(∇fk+1−∇fk)
‖∇fk‖2, es simple-
mente una reduccion del caso anterior a la cual se llega asumiendo que elalgoritmo realiza busquedas lineales exactas. Bajo esta hipotesis, se satisfacepti−1∇fi = 0 para i = 1, 2..., y por tanto la expresion ptk(∇fk+1 −∇fk) en eldenominador de βHSk+1 se puede reducir a −ptk∇fk. Como pk = −∇fk+βkpk−1
la expresion −ptk∇fk a ‖∇fk‖2. Realizando estos ajustes se llega a la expre-
sion de βPRk+1 =∇f tk+1(∇fk+1−∇fk)
‖∇fk‖2.
3.3. Algoritmo de Estudio: GCNL de Daniel
Como se menciono previamente el concepto de direcciones conjugadas enel contexto de problemas no lineales generales es ambiguo dados los cambiosque presenta la matriz Hessiana en este tipo de problemas. Por tanto al quer-er proponer un metodo de GCNL el primer interrogante que nos enfrentamoses la manera de introducir el concepto de conjugacion al interior de nuestroalgoritmo, es decir, que papel cumple el concepto de conjugacion en la con-struccion de las direcciones de busqueda. El segundo interrogante al que nosenfrentamos son los costos del algoritmo (especificamente los costos de con-struccion de las direcciones de busqueda), pues esto determina la viabilidadde la implementacion del algoritmo.
A priori nos gustaria que el algoritmo satisfaciera que toda nueva direc-cion de busqueda, pk+1, fuera conjugada a las direcciones previas,p0, p1, .., pk,respecto a la Hessiana Hk+1 en el punto xk+1. De esta forma, haciendoun paralelo con el caso del problema cuadratico convexo, buscariamos quelos avances en el proceso de minimizacion de f en la direccion pk+1 noafecten los avances hechos por las direcciones anteriores. Sin embargo con-struir pk+1 direccion conjugada a p0, p1, .., pk respecto a la Hessiana Hk+1
es extremadamente costoso: habrıa que estimar Hk+1, luego que calcularHk+1p0, Hk+1p1, ..., Hk+1pk y finalmente hallar un vector en{Hk+1p0, Hk+1p1, ..., Hk+1pk}⊥.
Por tanto es necesario es necesario reducir las exigencias en materia deconjugacion si queremos un algoritmo implmentable. En nuestro caso solonos preocuparemos en que las direcciones de busquedas consecutivas seanconjugadas.
24
Surge ahora el interrogante sobre cual es la matriz que ha de determinarla conjugacion para direcciones consecutivas pk y pk+1. Frente a este interro-gante identificamos tres posibles respuestas:
i)La matriz Hessiana media entre xk y xk+1, esto es, Hxk→xk+1.
ii)La matriz Hessiana Hk+1 en el punto xk+1.
iii)Una matriz Hk+1 que sea aproximacion de Hk+1.
Tal como se mostro en la seccion anterior los algoritmos de GCNL deHestenes-Stiefel y Polak-Ribere determinan la conjugacion entre direccionesconsecutivas pk y pk+1 a partir de opcion i).
Para la opcion iii), se debe tener en cuenta que la mayoria de los metodospracticos de aproximacion de una matriz Hessiana, son actualizaciones derango 1 o rango 2 sobre las Hessianas de iteraciones anteriores que buscansatisfacer la ecuacion secante:
Hk+1(xk+1 − xk) = ∇fk+1 −∇fk (3.5)
Podemos observar que esta ecuacion se satisface por la Hessiana media(3.4) y por tanto nos conduce a la misma eleccion de pk+1 que realizan losGCNL de Hestenes-Stiefel y Polak-Ribere.
Finalmente nos podemos concentrar en la opcion ii) que es la de nuestrointeres. A priori, usar la matriz HessianaHk+1 para determinar la conjugacionparecerıa muy costoso, sin embargo, vamos a ver que no necesitamos calcularexplicitamente Hk+1 sino unas pocas evaluaciones de f . Queremos construirpk+1 = −∇fk+1 + βk+1pk, tal que
ptk+1Hk+1pk = 0 (3.6)
La anterior condicion implica (−∇fk+1 + βk+1pk)tHk+1pk = 0 de los cual
deducimos
βk+1 =∇f tk+1Hk+1pk
ptkHk+1pk(3.7)
25
Con esta eleccion de βk+1 obtenemos el metodo de GCNL atribuido aJ.W. Daniel [3]. Este algoritmo sera objeto de estudio en este capıtulo y elsiguiente:
Algoritmo 3.1. (Gradiente Conj. No Lineal de Daniel (GCNLD))
Parametros:f : Funcion
x0 : Punto de partida
ε > 0 : Norma tolerada para el gradiente
Procedimiento:
p0 = −∇f0
k = 0
while‖∇fk‖ > ε
αk = argminα
f(xk + αpk)
xk+1 = xk + αkpk
βk+1 = ∇f(xk+1)tHk+1pkptkHk+1pk
pk+1 = −∇fk+1 + βk+1pk
k = k + 1
end while
Si bien el algoritmo anterior se ve poco practico, teniendo en cuenta quecalcular la Hessiana en cada paso es muy costoso, podemos resolver esa difi-cultad utilizando diferencias finitas:
Definiendo g(α) = f(xk+1 + αpk), notamos que
g′′(0) = ptkHk+1pk (3.8)
por diferencias finitas
g′′(0) ≈ g(h)− 2g(0) + g(−h)
h2(3.9)
26
de lo cual deducimos
ptkHk+1pk ≈f(xk+1 + hpk)− 2f(xk+1) + f(xk+1 − hpk)
h2(3.10)
De forma similar, defieniendo l(α, δ) = f(xk+1+αpk+δ∇fk+1), se satisfaceque
∂2l(α, δ)
∂δ∂α|(0,0)= ∇f tk+1Hk+1pk (3.11)
por diferencias finitas
∂2l(α, δ)
∂δ∂α|(0,0)≈
l(h, h)− l(h, 0)− l(0, h) + l(0, 0)
h2(3.12)
que nos conduce a
∇f tk+1Hk+1pk ≈f(xk+1 + hpk + h∇fk+1)− f(xk+1 + hpk)− f(xk+1 + h∇fk+1) + f(xk+1)
h2
(3.13)A partir de las ecuaciones (3.10) y (3.13), llegamos a que la aproximaxion
por diferencias finitas de βk+1 esta dada por
βk+1 =f(xk+1 + hpk + h∇fk+1)− f(xk+1 + hpk)− f(xk+1 + h∇fk+1) + f(xk+1)
f(xk+1 + hpk)− 2f(xk+1) + f(xk+1 − hpk)(3.14)
Por tanto la forma practica del GCNLD viene dada por:
Algoritmo 3.2. (GCNLD por Diferencias Finitas)
Parametros:f : Funcion
x0 : Punto de partida
ε > 0 : Norma tolerada para el gradiente
27
Procedimiento:
p0 = −∇f0
k = 0
while‖∇fk‖ > ε
αk = argminα
f(xk + αpk)
xk+1 = xk + αkpk
βi = f(xi+hpi−1+h∇fi)−f(xk+1+hpi−1)−f(xi+h∇fi)+f(xi)
f(xi+hpi−1)−2f(xi)+f(xi−hpk)
pk+1 = −∇fk+1 + βk+1pk
k = k + 1
end while
En comparacion a los algoritmos clasicos de GCNL (FR, PR, y HS), elalgoritmo de GCNLD por Diferencias Finitas debe hacer 5 evaluaciones adi-cionales de la funcion correspondientes a hallar∇f(xk+1)
tHk+1pk y ptkHk+1pk.Ello hace que este algoritmo sea computacionalmente mas costoso que losdemas algoritmos de GCNL, sin embargo, este costo adicional es significati-vamente bajo en problemas de muchas variables si se tiene en cuenta que elcalculo del gradiente de la funcion (que realiza cada uno de estos algoritmosen cada iteracion) requiere de n + 1 evaluaciones de la funcion. A pesar delaumento de costos, el algoritmo de GCNLD garantiza que la direcciones con-secutivas sean efectivamente conjugadas respecto a la Hessiana en el puntode aproximacion a la solucion. Esto no sucede en los demas algoritmos deGCNL que basan su conjugacion sobre aproximaciones a la Hessiana.
3.4. Busqueda Lineal para nuestro algoritmo
Uno de los mayores costos a los que se enfrenta un AIBL, es el procesode minimizacion de la funcion en la direccion de busqueda escogida. Con elobjetivo de disminuir costos, nos interesa relajar las condiciones de exactitudde las busquedas lineales, pero teniendo presente que no queremos perderla eficiencia del algoritmo. Por tanto, es de suma importancia generar unaserie de condiciones de terminacion de las busquedas lineales, que se puedancumplir sin tener que asumir costos demasiado altos de busqueda , y que almismo tiempo logren descensos aceptables en el proceso de minimizacion.
28
La condicion de terminacion que impondremos para los algoritmos deBusqueda Lineal (BL) es la segunda Condicion Fuerte de Wolfe. Fije 0 <c2 < 1 y halle αk, longitud de paso tal que
|∇f(xk + αkpk)tpk| ≤ c2|∇f(xk)
tpk| (3.15)
Para funciones convexas, la anterior condicion es un buen indicador deque el punto elegido al terminar la busqueda, xk+1 = xk + αkpk, es proximoal punto de minimizacion de f en la direccion pk. Lo anterior se tiene porquela funcion
m(α) = ∇f(xk + αpk)tpk, (3.16)
que representa la derivada de f en la direccion pk, es monotona a lo largode la direccion pk (por la convexidad de f), y la funcion f toma su valormınimo en esta direccion sobre el punto xk + αkpk donde m(αk) = 0.
3.4.1. Busqueda Lineal basada en Newton
La estructura del primer algoritmo de Busqueda Lineal, es precisamentela estructura del algoritmo de Newton-Raphson, tal como describimos a con-tinuacion:
Como primera medida para iniciar nuestra busqueda, podemos tomar laaproximacion a αk dada por la aproximacion cuadratica de f entorno a xk :
f(x) ≈ f(xk) +∇f tk(x− xk) +1
2(x− xk)tHk(x− xk)
De la anterior aproximacion deducimos que
f(xk + αpk) ≈ f(xk) + α(∇f tkpk) +1
2α2(ptkHkpk) (3.17)
que es una funcion cuadratica en α y que toma su mınimo en
α =−∇f tkpkpkHkpk
(3.18)
Por tanto la primera aproximacion de αk sera−∇f tkpkpkHkpk
.
29
Es importante notar que a este resultado tambien se llega tomando αk =−m(0)m′(0)
(m es definido por (3.16))que es precisamente le version unidimensionaldel metodo de Newton-Raphson
Si xk+1 = xk +−∇f tkpkpkHkpk
pk satisface la condicion (3.15) , la busqueda ter-mina, de no ser asi, se genera un nuevo punto a partir desde xk+1 usandonuevamente la aproximacion cuadratica, y se sigue este proceso hasta satis-facerse la condicion (3.15):
Algoritmo 3.3. (Busqueda lineal L1)
Parametros:f : Funcion
xk : Punto de partida
pk : Direccion de busqueda
0 < c2 < 1 : Parametro de terminacion de la busqueda
Procedimiento:
αk =−∇f tkpkpkHkpk
xk+1 = xk + αkpk
while |∇f(xk+1)tpk| ≥ c2|∇f(xk)
tpk|α = −∇f(xk+1)tpk
pkHk+1pk
αk = αk + α
xk+1 = xk + αkpk
end while
Las actualizaciones de αk verifican en que sentido debemos movernos, es-
to es, la expresion α = −∇f(xk+1)tpkpkHk+1pk
, nos indica si para la actual posicion, pkes direccion de ascenso o descenso, y por ende cual debe ser el nuevo sentidode movimiento.
Del anterior algoritmo, vemos que los terminos f(xk+1)tpk y pkHk+1pk re-
sultan costosos de calcular de manera exacta, y por tanto, la implementacionpractica que proponemos se basa en las siguientes aproximaciones por difer-encias finitas:
30
∇f(xk+1)tpk ≈
f(xk+1 + hpk)− f(xk+1)
h(3.19)
Por su parte la aproximacion a pkHk+1pk esta dada por (3.10)
El algoritmo es su forma practica se presenta de la siguiente manera:
Algoritmo 3.4. (Busqueda Lineal L1 por Diferencias Finitas)
Parametros:f : Funcion
xk : Punto de partida
pk : Direccion de busqueda
0 < c2 < 1 : Parametro de terminacion de la busqueda
Procedimiento:
αk = h(f(xk+hpk)−f(xk))f(xk+hpk)+f(xk−hpk)−2f(xk)
xk+1 = xk + αkpk
while |f(xk+1+hpk)−f(xk+1)
h| ≥ c2|f(xk+hpk)−f(xk)
h|
α = h(f(xk+1+hpk)−f(xk+1))
f(xk+1+hpk)+f(xk+1−hpk)−2f(xk+1)
αk = αk + α
xk+1 = xk + αkpk
end while
Dado que el algoritmo de Busqueda Lineal L1, es una version unidimen-sional del metodo Newton-Raphson, podemos afirmar que el algoritmo con-verge localmente de forma cuadratica siempre que f sea fuertemente con-vexa. La demostracion de este resultado para el metodo de Newton-Raphsonse puede encontrar en [10].
Sin embargo la condicion de convergencia local no puede ser fortalezida, yde hecho podemos encontrar ejemplos de funciones convexas para las cualesel algoritmo de Busqueda Lineal L1 carece de convergencia global. Mas aun,el algorirtmo podria llevarnos a alejarnos del punto de minimizacion en ladireccion de busqueda. En la siguiente grafica se observa esta situacion:
31
(Recordemos que la Busqueda Lineal L1 aplicada a problemas fuerte-mente convexos, busca minimizar la funcion monotona m(α) = ∇f(xk +αpk)
tpk a partir del metodo de Newton-Raphson, es decir, moviendose de un
punto a otro segun −m(0)m′(0)
. Como se observa en la grafica es posible que al
implementar esta busqueda lineal nos alejemos de αk, el mınimo de m)
Es necesario plantear otro tipo algoritmo de busquedas lineales que pre-sente convergencia global en problemas fuertemente convexos. El siguientealgoritmo satisface las propiedades deseadas:
3.4.2. Busqueda Lineal Binaria
Siempre que f es funcion convexa, podemos afirmar que m(α) = ddαf(xk+
αpk) = ∇f(xk +αpk)tpk es monotona creciente cuando pk es direccion de de-
scenso, y monotona decreciente cuando pk es direccion de ascenso. Veaseademas que m(α) = 0 se tiene en el unico punto de minimizacion de f en ladireccion pk. Por tanto, la busqueda de α,es precisamente la busqueda del 0de la funcion monotona m. Esta monotonicidad hace que la busqueda binariasea adecuada.
Para iniciar nuestra busqueda binaria volveremos a tomar α =−∇f tkpkpkHkpk
como longitud de paso inicial,y de alli procederemos como sigue:
32
Algoritmo 3.5. (Busqueda Lineal Binaria L2)
Parametros:f : Funcion
xk : Punto de partida
pk : Direccion de busqueda
0 < c2 < 1 : Parametro de terminacion de la busqueda
Procedimiento:
γ1 = 0
γ2 =−∇f tkpkpkHkpk
If |m(γ2)| ≤ c2|m(0)| ⇒ αk = γ2end{γ2 > 0⇒ δ = 1
γ2 < 0⇒ δ = −1
while (δm(γ2) < 0)
γ1 = γ2
γ2 = 2γ2
end while
αk = γ1+γ22
while (|m(αk)| > c2|m(0)|){δm(αk) > 0⇒ γ1 = αk
δm(αk < 0⇒ γ2 = αk
αk = γ1+γ22
end while
La primera parte del algoritmo se encarga de localizar los extremos de unintervalo que contengan al punto de minimizacion, xk+1. Por ejemplo, si pk es
direccion de descenso, el algoritmo busca por los puntos xk+1 = xk+−∇f tkpkpkHkpk
pk,
xk+1 = xk + 2−∇f tkpkpkHkpk
pk,..., hasta encontrar el primero para el cual pk sea di-reccion de ascenso, a dicho punto lo llama provisionalmente xk+1. En estemomento podemos afirmar que xk+1 se encuentra en el intervalo [xk, xk+1]e iniciar alli la busqueda binaria. Entonces se empieza a reducir en cada it-eracion la longitud del intervalo que contiene a xk+1 a la mitad del anterior.
33
El anterior algoritmo termina en un numero finito de pasos. Para ellobasta observar que en xk+1, se cumple 0 = ∇f(xk+1)
tpk ≤ c2|∇f(xk)tpk|, y
por ende existe un intervalo entorno a xk+1 para el cual la condicion (3.15)se sigue satisfaciendo. Dado que en el algoritmo de Busqueda Lineal BinariaL2, la longitud del intervalo que contiene a xk+1 tiende a 0, se concluye queeventualmente el algoritmo alcanzara un punto que satisfaga (3.15).
3.4.3. Condicion de Descenso
Dada f funcion arbitraria y pk direccion de busqueda, decimos que pk esdireccion de descenso, si
∇f(xk)tpk < 0 (3.20)
La anterior condicion garantiza la existencia de δ > 0 tal que para todoα ∈ (0, δ) se satisface f(xk + αpk) < f(xk).
Cuando el algoritmo de GCNL de Daniel realiza una busqueda exacta enla k-esima iteracion se verifica que ∇f tk+1pk+1 = −‖∇fk+1‖2 ≤ 0, es decirla direccion de busqueda de la k + 1-esima iteracion es una direccion de de-scenso (a menos que ya hallamos alcanzado el mınimo de f). Sin embargocuando la busqueda en la k-esima iteracion no es exacta, la nueva direccionde busqueda puede no ser de descenso.
Siendo pk+1 = −∇fk+1 + βk+1pk vemos que
∇f tk+1pk+1 < 0 ⇐⇒ −∇f tk+1∇fk+1 + βk+1∇f tk+1pk < 0
⇐⇒ βk+1∇f tk+1pk < ‖∇fk+1‖2 (3.21)
La siguinete proposicion nos presenta una condicion que garantiza direc-ciones de descenso en casos de busquedas inexactas en problemas fuertementeconvexos:
Proposicion 3.2. Sea f funcion, x0 punto de partida, y U0 = {x : f(x) ≤f(x0)} conjunto de nivel. Asuma que f es fuertemente convexa en U0, siendoel espectro de las matrices Hessianas acotado por 0 < m ≤M . Suponga queaplicamos el algoritmo de GCNL de Daniel al problema de minimizacion de ftomando como criterio de terminacion de las busquedas lineales la condicion:
34
|∇f tk+1pk| ≤ C1‖∇fk+1‖‖pk‖ (3.22)
para algun 0 < C1 <√
mM≤ 1 fijo. Entonces la direcciones generadas por
el GCNL de Daniel seran todas de descenso.
Demostracion. En el siguiente capıtulo mostraremos que
|βk+1| <√M
m
‖∇fk+1‖‖pk‖
(3.23)
Usando este resultado afirmamos que
βk+1∇f tk+1pk ≤√M
m
‖∇fk+1‖‖pk‖
|∇f tk+1pk| (3.24)
Al asumir la condicion (3.22) como criterio de terminacion de la busquedaobtenemos que
βk+1∇f tk+1pk ≤√M
m
‖∇fk+1‖‖pk‖
|∇f tk+1pk| <√M
m
‖∇fk+1‖‖pk‖
C1‖∇fk+1‖‖pk‖
<
√M
m
√m
M‖∇fk+1‖2 = ‖∇fk+1‖2
⇒ βk+1∇f tk+1pk < ‖∇fk+1‖2
Por (3.21) podemos concluir que pk+1 es direccion de descenso.
Definiendo θk al angulo formado entre pk y ∇fk+1, sabemos que
|cos(θk)| =|∇f tk+1pk|‖∇fk+1‖‖pk‖
(3.25)
por tanto escribiendo la condicion (3.22) en la forma
C1 ≥|∇f tk+1pk|‖∇fk+1‖‖pk‖
= |cos(θk)| (3.26)
observamos que pk+1 es direccion de descenso siempre que θk se encuentreen [− cos−1(
√mM
), cos−1(√
mM
)] o [π − cos−1(√
mM
), π + cos−1(√
mM
)].
35
Nota 3.1.Siempre es posible encontar una longitud de paso α para la cual se satisfa-
ga la condicion de descenso (3.22). Representando la busqueda lineal comoel proceso de minimizacion de g(α) = f(xk + αpk), la convexidad fuertede f implica la convexidad fuerte de g, y por ende la existencia de ununico αk en el cual se cumple g′(αk) = ∇f(xk + αkpk)
tpk = 0. Por tanto|∇f(xk + αk)
tpk| ≤ C1‖∇f(xk + αkpk)‖‖pk‖ para cualquier 0 < C1 <√
mM
,es decir, en αk se cumple (3.22).
Vease que si ‖∇f(xk + αkpk)‖ 6= 0 (que en caso contrario nos indi-
ca ya haber alcanzado el mınimo de f) la funcion j(α) = |∇f(xk+αpk)tpk|
‖∇f(xk+αpk)‖‖pk‖es continua en αk y ademas j(αk) = 0. Por tanto existe ε > 0 tal que|∇f(xk+αpk)
tpk|‖∇f(xk+αpk)‖‖pk‖
≤ C1 siempre que α ∈ (αk − ε, αk + ε). Es decir, α en dicho
intervalo satisface la condicion de descenso (3.22).
Nota 3.2.Por lo general, los algoritmos de Busqueda Lineal (BL) exigen que las
direcciones de busqueda sean de descenso, de manera que la longitud de pasoα, sea siempre un valor positivo. Sin embargo, podemos observar que en losdos algoritmos de BL que propusimos previamente, no exigimos que pk fuesede desecenso. La razon de esto, es que los algoritmos de BL que propusimos
toman como longitud de paso inicial αk =−∇f tkpkpkHkpk
,en la cual se estableceimplicitamente si la direccion pk es de descenso o no. Como Hk es matrizHDP, tenemos que pkHkpk > 0, de modo que el signo de αk esta dado por sunumerador. A partir de las definiciones dadas, vemos que −∇f tkpk > 0 si pkes de descenso, y −∇f tkpk < 0 si pk es de ascenso. Por tanto concluimos queαk > 0 cuando pk es descenso y αk < 0 cuando pk es de ascenso.
Nota 3.3.El criterio (3.22) es de interes teorico para garantizar direcciones de de-
scenso, pero en la practica es demasiado costoso de implementar. Este cri-terio exige evaluar el gradiente de la funcion en cada uno de los puntosque sean candidatos a xk+1 y recuerdese que evaluar un gradiente implican + 1 evaluaciones de f . En comparacion, el criterio (3.15) de terminacionde busqueda, solo necesita dos evaluaciones de f por cada uno de los puntoscandidatos a xk+1. Por dicha razon tome el criterio (3.15) como unico criteriode terminacion de busqueda para los dos algoritmos de BL que se presen-taron previamente. Como se mostarara en el siguiente capıtulo este criterio
36
sera suficiente para garantizar convergencia lineal del metodo de GCNL deDaniel en problemas fuertemente convexos.
37
Capıtulo 4
Estudio de convergenecia delGCNL de Daniel
En este capıtulo estudiaremos algunas propiedades de convergencia delmetodo de GCNL de Daniel (GCNLD). Se demostrara la convergencia glob-al y de caracter lineal que tiene este algoritmo en funciones fuertementeconvexas bajo la hipotes de busquedas lineales exactas. De igual manera,presentaremos las modificaciones necesarias para garantizar formas de con-vergencia mas debiles en problemas convexos mas generales y condicionessuficientes para conservar la convergencia lineal en el caso de busquedas in-exactas.
4.1. Convergencia Global en problemas fuerte-
mente convexos
Nuestra prueba sobre la convergencia global del GCNLD en problemasfuertemente convexos esta inspirada en gran medida por el Teorema de Zou-tendijk. El nucleo de la prueba consiste en mostrar que el angulo θk entre ladireccion de busqueda pk y −∇fk no pude acercarse arbitrariamente a ±π
2,es
decir, las direcciones pk y −∇fk no pueden aproximarse arbitrariamente a laortogonalidad. La cota que obtendremos sobre el angulo θk resulta de sumaimportancia en el estudio de la rapidez de convergencia del GCNL y sera uti-lizada en resultados posteriores.
Antes de comenzar la prueba se debe tener en claro que:
38
Al asumir busquedas exactas en cada iteracion, se satisface ∇f tkpk−1 =0. Si al cabo de la k− 1-esima iteracion el algoritmo de GCNLD no haconcluido, obtenemos ‖∇f(xk)‖ > 0. Por tanto
∇f tkpk = ∇f tk(−∇f tk + βkpk−1) = −‖∇fxk‖2 < 0 (4.1)
lo cual garantiza que pk es direccion de descenso.
Decimos que f : Rn → R es fuertemente convexa en U , si existen0 < m ≤M tales que
m‖z‖2 ≤ ztH(x)z ≤M‖z‖2 (4.2)
para todos z ∈ Rn, x ∈ U
Consideremos ahora el siguiente lema:
Lema 4.1. Sea g : R→ R funcion convexa que toma su mınimo en t > 0 y
tal que g′′(t) ≤M , para todo t ∈ [0, t]. Entonces g(t)− g(0) ≤ −g′(0)2
2M.
Demostracion. Para todo t ∈ [0, t], se cumple que g′(t) ≤ g′(0) + Mt Portanto
g(t)−g(0) =≤ g(−g′(0)
M)−g(0) =
∫ −g′(0)M
0
g′(t)dt ≤∫ −g′(0)
M
0
g′(0) + tMdt =−g′(0)2
2M(4.3)
tal como se queria probar.
Corolario 4.1. Sea f : Rn → R funcion convexa, pk direccion de descensoy αk > 0 la longitud de paso que minimiza a f en la direccion pk. Supongaque exista M > 0 tal que ptkH(xk + αpk)pk ≤M‖pk‖2 para todo α ∈ [0, αk].Entonces:
f(xk + αkpk)− f(xk) ≤−‖∇fk‖2 cos(θk)
2
2M(4.4)
Donde θk es el alngulo formado por pk y −∇fk.
39
Demostracion. Defina g(α) = f(xk+αpk). Dado que f es convexa podemosafirmar que g tambien lo es. Vease que g′(0) = ∇f tkpk < 0 (pues pk esdescenso) y g′′(α) = ptkH(xk + αpk)pk ≤Mk‖pk‖2 (por hipotesis inicial). Portanto podemos aplicar el Lema 4.1, con lo cual obtenemos g(αk) − g(0) ≤−g′(0)2
2M. Reemplazando por f en la expresion anterior tenemos:
f(xk + αkpk)− f(xk) ≤−(∇f tkpk)2
2M‖pk‖2(4.5)
Reemplazando f tkpk = ‖∇fk‖‖pk‖ cos(θk) en (4.5) llegamos a
f(xk + αkpk)− f(xk) ≤−‖∇fk‖2 cos(θk)
2
2M
Lema 4.2. Si f : Rn → R es funcion estrıctamente convexa en Rn y m,Mson tales que m‖p‖2 ≤ ptH(x)p ≤ M‖p‖2, para todo p, x ∈ Rn. Entoncespara toda iteracion de algoritmo de GCNL de Daniel se satisface:
|cos(θk)| ≥1√
1 + Mm
(4.6)
Demostracion. Para el GCNL de Daniel se tiene:
cos(θk) =f tkpk
‖∇fk‖‖pk‖=
−‖∇fk‖2
‖∇fk‖‖−∇fk + βkpk−1‖=
−‖∇fk‖2
‖∇fk‖√‖∇fk‖2 + β2
k‖pk−1‖2
⇒ cos(θk) =−1√
1 + β2k‖pk−1‖2‖∇fk‖2
(4.7)
En este algoritmo βk =∇f tkHkpk−1
ptk−1Hkpk−1. Sean m ≤ λ1 ≤ λ2 ≤ ... ≤ λn ≤ M
los valores propios de Hk y sea e1, e2, ..., en una base ortonormal de vectorespropios asociados. Sea pk−1 = r1e1 + r2e2 + ... + rnen y sea ∇fk = s1e1 +s2e2 + ...+ snen. Por tanto
|βk| = |∇f tkHkpk−1
ptk−1Hkpk−1
| = |λ1r1s1 + λ2r2s2 + ...+ λnrnsnλ1r2
1 + λ2r22 + ...+ λnr2
n
|
40
≤ ‖√λ1r1,
√λ2r2, ...,
√λnrn‖‖
√λ1s1,
√λ2s2, ...,
√λnsn‖
‖√λ1r1,
√λ2r2, ...,
√λnrn‖2
=‖√λ1s1,
√λ2s2, ...,
√λnsn‖
‖√λ1r1,
√λ2r2, ...,
√λnrn‖
≤√λn‖∇fk‖√λ1‖pk−1‖
⇒ |βk| ≤√λn‖∇fk‖√λ1‖pk−1‖
(4.8)
Del resultado anterior se deduce que β2k‖pk−1‖2‖∇fk‖2
≤ λnλ1≤ M
m, y por ende
|cos(θk)| = 1√1+β2
k
‖pk−1‖2
‖∇fk‖2
≥ 1√1+M
m
, tal como se queria probar.
Teorema 4.1. Sea f : Rn → R una funcion convexa y M > 0 tal queptH(x)p ≤ M‖p‖2 para todo p, x ∈ Rn. Suponga que nos enfrentamos alproblema de minimizacion de f aplicando un Algoritmo Iterativo de BusquedasLineales exactas de direcciones p1, p2, .... Suponga que para este conjuntode direcciones existe C > 0 tal que |cos(θk)| > C ,es decir, las direccionesde busqueda no pueden acercarse arbitrariamente a la ortogonalidad con elgradiente. Bajo estas condiciones, podemos concluir que para este algoritmolımk→∞‖∇fk‖ = 0.
Demostracion. Por el Corolario 4.1, sabemos que
‖∇fk‖2 cos(θk)2
2M≤ f(xk)− f(xk + αkpk)
Ahora, por la condicion |cos(θk)| > C, podemos concluir que
‖∇fk‖2C2
2M≤ f(xk)− f(xk + αkpk) (4.9)
Sumando las anteriores de desiguadades para k = 0, 1, ..,m, obtenemos
C2
2M
m∑k=0
‖∇fk‖ ≤m∑k=0
f(xk)− f(xk+1) (4.10)
Siendo x es el punto de minimizacion de f , podemos notar que
41
m∑k=0
f(xk)− f(xk+1) = f(x0)− f(xk+1) < f(x0)− f(x) <∞ (4.11)
De las ecuaciones (4.10) y (4.11) se concluye que∑m
k=0 ‖∇fk‖ <∞ y porconsiguiente lım
k→∞‖∇fk‖ = 0.
Teorema 4.2. Sea f : Rn → R funcion estrıctamente convexa en Rn, conM,m como en los enunciados previos, y sea x el punto donde f alcanza sumınimo. Bajo la hipotesis de busquedas exactas el GCNL de Daniel convergeglobalmente a x.
Demostracion. Por el Lema 4.2 sabemos que C = 1√1+M
m
> 0 es tal que
|cos(θk)| ≥ C. Por tanto podemos aplicar el Teorema 4.2 para concluir quelımk→∞‖∇fk‖ = 0.
Por otra parte, como ∇fk = ∇f(xk) − ∇f(x) = Huk(xk − x), siendo ukcierto punto en el segmento [xk, x], se afirma que
‖∇fk‖ = ‖Huk(xk − x)‖ ≥ m‖xk − x‖ (4.12)
Conociendo que lımk→∞‖∇fk‖ = 0, la ecuacion (4.12) nos indica que tambien
se tendra lımk→∞‖xk − x‖ = 0, es decir lım
k→∞xk = x. Concluimos entonces que
el GCNL de Daniel converge globalmente en este caso.
Nota 4.1.En la demostracion del teorema anterior, la hipotesis de convexidad fuerte
de f en todo Rn se puede relajar por una condicion mas local. El Teorema4.2 nos indica que si f es fuertemente convexa en U0 = {x : f(x) ≤ f(x0)},conjunto de nivel del punto inicial, entonces el algoritmo de GCNL de Danielconvergera a x. Por tanto, si para todo x0 ∈ Rn se satisface que f es fuerte-mente convexa U0 (en este caso los valores de m y M varian segun x0 )en-tonces el GCNL de Daniel convergera globalmente a x.
42
4.1.1. Modificaciones necesarias para garantizar con-vergencia en problemas convexos generales
En el teorema anterior asumimos que los espectros de la matrices Hes-sianas de f tenian una cota inferior m > 0 . Sin embargo, para muchasfunciones convexas las matrices Hessianas de f pueden tomar el valor 0 ensu espectro. Por ejemplo, la funcion f(x, y, z) = x4 + y4 + z4 es convexa ysu Hessiana en el origen, que es precisamente el punto de minimizacion def , es la matriz 0. Para estudiar la convergencia del GCNL de Daniel en estetipo de problemas , debemos empezar observando que tipo de propiedadesse pierden respecto al caso fuertemente convexo.
En primer lugar, al tener Hessianas semidefinidas positivas corremos elriesgo de tener Hkpk−1 = 0 para pk−1 6= 0. En caso de presentarse esta
situacion no podemos definir βk =∇f txkHipk−1
ptk−1Hkpk−1, pero por otro lado, ∇fk y pk−1
son conjugados al satisfacer trivialmente ∇f tkHkpk−1 = 0. Por tanto resultacoherente definir pk = −∇fk, en aquellos casos en que Hkpk−1 ≈ 0.
De las observaciones anteriores podemos proponer el siguiente modelo dedecision. Fije ε2 > 0 y segun:{
pk−1Hkpk−1
‖pk−1‖2≥ ε2 ⇒ βk =
∇f tkHkpk−1
ptk−1Hkpk−1
pk−1Hkpk−1
‖pk−1‖2< ε2 ⇒ βk = 0
(4.13)
Usando el anterior modelo de decision podemos modificar el algoritmode GCNL de Daniel de forma que nos permita tratar funciones convexas demanera general (i.e, que se puedan admitir Hessianas semidefinidas positi-vas):
Algoritmo 4.1. (GCNL Daniel Problemas Convexos Generales)
Parametros:f : Funcion
x0 : Punto de partida
ε1 > 0 : Norma tolerada para el gradiente
ε2 > 0 : Mınimo valor admisible parapk−1Hkpk−1
‖pk−1‖2
43
Procedimiento:
p0 = −∇f0
α0 = argminα
f(x0 + αp0)
x1 = x0 + α0p0k = 1
while‖∇fk‖ > ε{pk−1Hkpk−1
‖pk−1‖2≥ ε2 ⇒ βk =
∇f tkHkpk−1
ptk−1Hkpk−1
pk−1Hkpk−1
‖pk−1‖2< ε2 ⇒ βk = 0
pk = −∇fk + βkpk−1
αk = argminα
f(xk + αpk)
xk+1 = xk + αkpk
k = k + 1
end while
Bajo las nuevas modificaciones podemos ahora probar un resultado unpoco mas debil al enunciado en el Teorema 4.2:
Teorema 4.3. Sea f una funcion convexa, x0 punto de partida y U0 ={x : f(x) ≤ f(x0)} conjunto de nivel. Asuma que exista M > 0 tal queztH(x)z ≤ M‖z‖2, para todos z ∈ Rn, x ∈ U0 . Entonces para el Algoritmo4.1 se cumple que lım
k→∞‖∇fk‖ = 0
Demostracion. Voy a probar que el modelo de decision (4.13) nos garan-tiza:
|cos(θk)| ≥1√
1 + M2
ε22
(4.14)
Claramente si pk = −∇fk, tenemos |cos(θk)| = 1 lo cual satisface la condi-cion (4.14) trivialmente. En caso en que pk = −∇f(xk) + βkpk−1, sabemospor (4.7) que |cos(θk)| = 1√
1+β2k
‖pk−1‖2
‖∇fk‖2
Observese que
|βk| = |∇f tkHkpk−1
ptk−1Hkpk−1
| = |∇ftkHkpk−1|‖pk−1‖2
‖pk−1‖2
ptk−1Hkpk−1
(4.15)
44
Como |∇f tkHkpk−1| ≤ ‖∇fk‖‖Hk‖‖pk−1‖ ≤M‖∇fk‖‖pk−1‖ obtenemos
|∇f tkHkpk−1|‖pk−1‖2
≤M‖∇fk‖‖pk−1‖2
(4.16)
Por otra parte el modelo de desicion nos indica que ‖pk−1‖2ptk−1Hkpk−1
≤ 1ε2
, lo
cual nos lleva a concluir que
|βk| ≤M
ε2
‖∇fk‖‖pk−1‖2
(4.17)
La desigualdad anterior nos permite afirmar que |cos(θk)| = 1√1+β2
k
‖pk−1‖2
‖∇fk‖2
≥
1√1+M2
ε22
, tal como queriamos probar.
Tomando C = 1√1+M2
ε22
> 0, vemos que |cos(θk)| > C para todo k. Por
tanto el Teorema 4.1 nos garantiza que para el algoritmo 4.1, lımk→∞‖∇fk‖ = 0
4.2. Convergencia Lineal en problemas fuerte-
mente convexos
La demostracion que presentamos a continuacion sobre la convergencialineal del GCNL de Daniel en problemas fuertemente convexos, esta inspira-da en la prueba de convergencia lineal del metodo de Descenso Mas Rapidopresentada en Luenberger [9] .
El resultado presentado por Luenberger se puede generalizar de la sigu-iente forma:
Teorema 4.4. Sea f funcion convexa, x0 punto de partida, y U0 = {x :f(x) ≤ f(x0)} conjunto de nivel. Asuma que f es fuertemente convexa enU0, siendo el espectro de las matrices Hessianas acotado por 0 < m ≤ M .Entonces cualquier Algoritmo Iterativo de Busquedas Lineales exactas quegenere direcciones de busqueda p0, p1, ..., pk, ..., va a satisfacer :
45
f(xk+1)− f(x) ≤(1− m
Mcos2 θk
)(f(xk)− f(x)
)(4.18)
donde θk es el alngulo entre ∇fk y pk
Demostracion. Por el teorema de Taylor sabemos que
f(x) = f(xk) +∇f tk(x− xk) +1
2(x− xk)tH(x− xk)
donde H es una matriz Hessiana asociada a un punto en el segmento [x, xk].Dado que (x− xk)tH(x− xk) ≥ m‖x− xk‖2, podemos afirmar que
f(x) ≥ f(xk) +∇f tk(x− xk) +m
2(x− xk)t(x− xk) (4.19)
para todo x ∈ Rn. Siendo el punto de minimizacion de f , afirmamos a partirde (4.19) que
f(x) = mınxf(x) ≥ mın
x
(f(xk) +∇f tk(x−xk) +
m
2(x−xk)t(x−xk)
)(4.20)
Derivando el lado derecho de la anterior desigualdad respecto a x, e igualandoa 0, obtenemos que el mınimo de f(xk) +∇f tk(x− xk) + m
2(x− xk)t(x− xk)
se alcanza en x = xk − ∇fkm
, y que el valor que toma en dicho punto es
f(xk)− ‖∇fk‖2
2m, es decir,
mınx
(f(xk) +∇f tk(x− xk) +
m
2(x− xk)t(x− xk)
)= f(xk)−
‖∇fk‖2
2m(4.21)
De las ecuaciones (4.20) y (4.21) concluimos
f(xk)− f(x) ≤ ‖∇fk‖2
2m(4.22)
Por otra parte, expresion (4.4) en el Corolario 4.1, nos indica que
‖∇fk‖2 cos(θk)2
2M≤ f(xk)− f(xk+1) (4.23)
De las desigualdades (4.22) y (4.23) podemos deducir que(mM
cos2(θk))(f(xk)− f(x)) ≤ f(xk)− f(xk+1)
46
Reorganizando esta ultima expresion llegamos a
f(xk+1)− f(x) ≤ (1− m
Mcos2 θk)(f(xk)− f(x))
tal como se queria probar.
Corolario 4.2. Dadas las condiciones del teorema anterior, suponga queexista C > 0 tal que |cos(θk)| ≥ C para todo k. Entonces el algoritmo al quese hace referncia en el teorema anterior converge linealmente. Es decir, existeuna constante L < 1 tal que
f(xk+1)− f(x) ≤ L(f(xk)− f(x)) (4.24)
Demostracion. Basta ver que
1− m
Mcos2 θk ≤ 1− mC2
M< 1 (4.25)
Definiendo L = 1− mC2
M, se obtiene el resultado.
El corolario anterior nos indica que todo AIBL exactas en los cuales ladirecciones de busqueda no se aproximan arbitrariamente a la ortoganildadcon el gradiente van a converger linealmente al mimınimo de la funcion. Enparticular este resultado se cumple para el metodo de GCNL de Daniel:
Teorema 4.5. Sea f funcion convexa, x0 punto de partida, y U0 = {x :f(x) ≤ f(x0)} conjunto de nivel. Asuma que f es fuertemente convexa enU0, siendo el espectro de las matrices Hessianas acotado por 0 < m ≤ M .Entonces el metodo de GCNL de Daniel convergera linealmente al mınimode la funcion. Mas aun, la constante de descenso sera a lo sumo 1− m2
M(M+m),
es decir para el GCNL de Daniel se satisface
f(xk+1)− f(x) ≤(
1− m2
M(M +m)
)(f(xk)− f(x)) (4.26)
47
Demostracion. Nuevamente por la ecuacion (4.6) sabemos que el GCNLde Daniel satisface |cos(θk)| ≥ 1√
1+Mm
> 0 para todo k. Por tanto el resultado
de convergencia lineal se sigue directamente del Corolario 4.2. A partir de laprueba de este mismo corolario, se deduce que la constante
L = 1−(mM
)( 1√1 + M
m
)2
= 1− m2
M(M +m)
es cota valida para la convergencia lineal.
Nota 4.2.A pesar de que el resultado de convergencia lineal es satisfactorio, la
constante de descenso ... no es muy alentadora. Debe tenerse en cuenta quelos resultados hallados en esta seccion se desarrollaron en un marco generalde AIBL (por razones de simplicidad) y no se utilizaron mayores propiedadesdel GCNL de Daniel. Aunque la teorıa desarrollada en esta seccion muestraal algoritmo de Descenso Mas Rapido como mas robusto que el GCNL deDaniel, comparando sus respectivas constants de descenso,
(1− m
M) << 1− m2
m(M +m)
los resultados computacionales evidencian mejor desempeno del GCNL deDaniel frente al DMR (Vease Capıtulo 6).
Nota 4.3.El Teorema 4.4 nos alerta de la lentitud de convergencia que puede llegar
a presentarse cuando las direcciones de busqueda se toman proximas a laortogonalidad con el gradiente. Esta observacion motiva las modificacionesal algorimo de GCNL de Daniel que se plantean en el proximo capıtulo.
4.3. Convergencia Lineal bajo condiciones de
busquedas inexactas
En la seccion 3.5 presentamos algoritmos de busquedas lineales que toma-ban como criterio de terminacion la segunda Condicion Fuerte de Wolfe:
48
|∇f(xk + αkpk)tpk| ≤ c2|∇f(xk)
tpk| (4.27)
Veamos ahora que el cumplimiento de esta condicion en cada una delas busquedas lineales es suficiente para garantizar la convergencia lineal delGCNL de Daniel. Para este fın, nosotros desarrollamos el siguiente resultado:
Teorema 4.6. Sea f funcion convexa, x0 punto de partida, y U0 = {x :f(x) ≤ f(x0)} conjunto de nivel. Asuma que f es fuertemente convexa enU0, siendo el espectro acotado por 0 < m ≤ M . Considere un algoritmode busquedas lineales que genere direcciones p0, p1, ..., pk, ..., y que en cadaiteracion tenga como criterio de terminacion la condicion (4.27), para cierto0 < c2 < 1 fijo. Entonces el algoritmo satisface:
(f(xk+1)− f(x) ≤(1 + L− m
Mcos θk)
1 + L(f(xk)− f(x)) (4.28)
donde θk es el alngulo entre ∇fk y pk, y L =Mc22
m−Mc22.
Demostracion. Para facilitar la notacion, defina g(α) = f(xk + αpk), demodo que g′(0) = ∇f(xk)
tpk y g′(αk) = ∇f(xk + αkpk)tpk. La segunda
Condicion Fuerte de Wolfe se reescribe en terminos de g, como
|g′(αk)| ≤ c2|g′(0)| (4.29)
Dado que g′′(α) = ptkH(xk+αpk)pk y el espectro de las matrices Hessianasse encuentra acotadao por 0 < m ≤M podemos afirmar que
m‖pk‖2 ≤ g′′(α) ≤M‖pk‖2 (4.30)
Sin perdida de generalidad asuma que pk es direccion de descenso y porende g′(0) < 0. (En caso de que pk fuera direccion de ascenso simplementetome como direccion de busqueda −pk ). De esta manera tambien podemosafirmar que αk, longitud de paso, sera positiva. Bajo estas nuevas hipotesisla ecuacion (4.29) se reescribe como
c2g′(0) ≤ g′(αk) ≤ −c2g′(0) (4.31)
Sea αk al argumento que minimiza la funcion g,es decir, el valor tal queg′(αk) = 0. Por el Lema 4.1 tenemos que :
49
g(0)− g(αk) ≥g′(0)2
2M(4.32)
Dado que |g′(αk)| ≤ c2|g′(0)| y g′(αk) = 0 podemos afirmar que
|αk − αk| ≤−c2g′(0)
m(4.33)
Observese ahora que
|g(αk)− g(αk)| = |∫ αk
αk
g′(t)dt| ≤ |∫ |αk−αk|
0
(c2g′(0) +mt)dt|
= |c2g′(0)t+Mt2
2||αk−αk|0 | ≤ |c2g′(0)t+
Mt2
2|−c2g
′(0)m
0 | = c22g′(0)2
2m
⇒ g(αk)− g(αk) ≤c22g′(0)2
2m(4.34)
De los resultados (4.32) y (4.34) deducimos que
g(0)− g(αk) =(g(0)− g(αk)
)+(g(αk)− g(αk)
)≥ g′(0)2
2M− c22g
′(0)2
2m=g′(0)2
2
(m−Mc22mM
)⇒ g(0)− g(αk) ≥
g′(0)2
2
(m−Mc22mM
)(4.35)
De las ecuaciones (4.34) y (4.35) concluimos
g(αk)− g(αk)
g(0)− g(αk)≤
c22g′(0)2
2mg′(0)2(1−c22)
2M
=Mc22
m−Mc22(4.36)
Definase L =Mc22
m−Mc22. De (4.36) obtenemos que g(αk) ≤ g(αk) +L(g(0)−
g(αk)), lo cual podemos escribir en terminos de f , como
f(xk+1) ≤ f(xk+1) + L(f(xk)− f(xk+1))
donde xk+1 es el punto de minimizacion de f en la direccion pk. Por tanto
(1 + L)f(xk+1) ≤ f(xk+1) + Lf(xk)
50
⇒ (1 + L)(f(xk+1)− f(x)) ≤ (f(xk+1)− f(x)) + (f(xk)− f(x)) (4.37)
Por el Teorema 4.4 sabemos que
(f(xk+1)− f(x)) ≤ (1− m
Mcos θk)(f(xk)− f(x))
Reemplazando esto en (4.37), llegamos a
(f(xk+1)− f(x) ≤(1 + L− m
Mcos θk)
1 + L(f(xk)− f(x))
Tal como se queria probar.
Nota 4.4.Vease que para el Teorema anterior anterior se tiene que L → 0 cuando
c2 → 0. Por tanto la constante de descenso,(1+L−m
Mcos θk)
1+L, mejora a medida
que hacemos la busqueda mas estricta, es decir cuando c2 → 0. Cuandoc2 = 0, estamos exigiendo al algoritmo realizar busquedas lineales exactas.En dicho caso obtenemos L = 0 y la constante de descenso corresponde a(1− m
Mcos θk) que es precisamente el caso tratado en el Teorema 4.4
51
Capıtulo 5
Modificaciones del GCNL deDaniel
Los resultados del capıtulo anterior nos alertan de la posibilidad de quelas direcciones de busqueda generadas por el GCNL de Daniel se acerquena la perpendicularidad con el gradiente. Cuando esto sucede, lo mas comunes que no se produzcan mejoras significativas en el proceso de minimizacion,llevando al algoritmo a ineficiencias.
Ante este inconveniente, nosotros proponemos dos nuevos algoritmos co-mo alternativas de solucion.
5.1. Criterio de reinicializacion
La idea del criterio de reinicializacion es simplemente tomar como direc-cion de busqueda −∇fk siempre que θk supere un rango permitido.
De la ecuacion (4.7) del capitulo anterior, podemos deducir que para elGCNL de Daniel
cos2 θk =1
1 + β2k‖pk−1‖2‖∇fk‖2
(5.1)
Fijando ε ∈ (0, 1) podemos considerar como direcciones de busquedassatisfactorias aquellas que satisfagan
cos2 θk ≥ ε (5.2)
52
Notese que cuando ε tiende a 1 estamos exigiendo que pk y ∇fk se alejende la ortogonalidad, tal como es deseado. Por (5.1), la condicion (5.2) esequivalente a
β2k
‖pk−1‖2
‖∇fk‖2≤ 1− ε
ε(5.3)
Observamos que para evaluar la expresion β2k‖pk−1‖2‖∇fk‖2
no es necesario hallarexplicitamente pk, ya que βk depende solo de pk−1 y ∇fk. Llamemos ahoraε2 = 1−ε
εy observemos que cuando ε → 1 entonces ε2 → 0, por tanto cuan-
do hacemos tender ε2 → 0 estamos siendo mas estrictos en el criterio dereinicializacion.
El modelo de descision sobre el cual se basa la reinicializacion seria elsiguiente: {
β2k‖pk−1‖2‖∇fk‖2
≤ ε2 ⇒ pk = −∇fk + βkpk−1
β2k‖pk−1‖2‖∇fk‖2
> ε2 ⇒ pk = −∇fk(5.4)
Por tanto la version del GCNL de Daniel que implementa el criterio dereinicializacion en el siguiente:
Algoritmo 5.1. (GCNL Daniel con Reinicializacion)
Parametros:f : Funcion
x0 : Punto de partida
ε1 > 0 : Norma tolerada para el gradiente
ε2 > 0 : Maximo valor admisible para β2k‖pk−1‖2‖∇fk‖2
53
Procedimiento:
p0 = −∇f0
α0 = argminα
f(x0 + αp0)
x1 = x0 + α0p0k = 1
while‖∇fk‖ > ε1
βk =∇f txkHkpk−1
ptk−1Hkpk−1{β2k‖pk−1‖2‖∇fk‖2
≤ ε2 ⇒ pk = −∇fk + βkpk−1
β2k‖pk−1‖2‖∇fk‖2
> ε2 ⇒ pk = −∇fkαk = argmin
αf(xk + αpk)
xk+1 = xk + αkpk
k = k + 1
end while
Como se observara en el Capitulo 6, el algoritmo de GCNL de Daniel conla anterior estrategia de reinicializacion no siempre se desempena de mejormanera que el algoritmo sin reinicializacion. Esto puede suceder en proble-mas cuadraticos convexos mal condicionados, donde la direccion conjugadaa pesar de acercarse a la perpendicularidad con el gradiente ofrece mejoresdescensos que el gradiente mismo En las pruebas que realizamos con estealgoritmo se tomo ε2 = 3, que correwsponde |cos θk| > 1
2.
5.2. Proyeccion del gradiente en espacios con-
jugados
Teniendo presente el interes de tomar direcciones de busqueda conjugadas,siempre y cuando estas no se aproximen a la ortogonalidad con el gradiente,surge como alternativa natural, tomar como direccion de busqueda la proyec-cion del gradiente sobre el espacio conjugado a la direccion de movimientoanterior. En otras palabras, es natural tomar como nueva direccion busquedaaquella que sea conjugada a la direccion anterior y que al mismo tiempo seala mas proxima al gradiente.
54
Suponga que en la iteracion k− 1 nos movimos en la direccion pk−1 hastaalcanzar el punto xk. A partir de la definicion de conjugacion, observamosque el espacio de direcciones conjugadas a pk−1 en el punto xk viene dado por(Hkpk−1)
⊥. Lo que queremos ahora es proyectar −∇fk sobre (Hkpk−1)⊥ para
obtener la nueva direccion de busqueda. Para conseguir esto, basta sustraera −∇fk su proyeccion sobre Hkpk−1, con ello obtenemos como direccion debusqueda:
pk = −∇f(xk) +∇f(xk)Hkpk−1
ptk−1H2kpk−1
Hkpk−1 (5.5)
Por tanto obtenemos el siguiente algoritmo de gradiente conjugado quetoma en cada iteracion la direccion conjugada que mejor aproxima al menosgradiente:
Algoritmo 5.2. (Proyeccion del gradiente en el espacio conjugadoa la direccion previa)
Parametros:f : Funcion
x0 : Punto de partida
ε > 0 : Norma tolerada para el gradienteProcedimiento:
p0 = −∇f0
k = 0
while‖∇fk‖ > ε
αk = argminα
f(xk + αpk)
xk+1 = xk + αkpk
βk+1 = ∇fk+1Hk+1pkptkH
2k+1pk
Hk+1pk
pk+1 = −∇fk+1 + βk+1pk
k = k + 1
end while
A simple vista observamos que este algoritmo de GCNL resulta mas cos-toso que los algoritmos de GCNL considerados previamente. Para este nuevo
55
algoritmo es necesario evaluar el producto Hk+1pk,el cual puede estimarsepor la aproximacion
Hk+1pk ≈∇f(xk+1 + hpk+1)−∇f(xk+1)
h(5.6)
Debe tenerse en cuenta que para hallar una estimacion del gradiente de fdebemos realizar aproximadamente n evaluaciones de la funcion, y por ende,el Algorimo 5.2 nos exige aproximadamente n evaluaciones adicionales (con-cernientes a hallar ∇f(xi + εpi)), en comparacion con los demas algoritmosde GCNL.
Vamos a mostrar ahora que no solo los costos del nuevo algoritmo sondesfavorables, sino que ademas su desempeno es inferior en comparacion a losotros metodos de GCNL. Para ello basta evaluar el desempeno del algoritmoen el problema cuadratico convexo:
Proposicion 5.1. El desempeno del GCL en el problema cuadratico con-vexo es superior al desempeno del Algoritmo 5.2. Definiendo xk y xk lask-esimas aproximaciones a la solucion generadas por el GCL y el Algortimo5.2 respectivamente, se va a probar que f(xk) ≤ f(xk).
Demostracion. Sea f(x) = 12xtAx − btx problema cuadratico convexo.
Llamemos p0, p1, ... y x0, x1, ... a las direcciones de busqueda y puntos deaproximacion a la solucion generados por el GCL. De forma analoga, llamem-os p0, p1, ... y x0, x1, ... a las direcciones de busqueda y puntos de aproximaciona la solucion generados por el Algoritmo 5.2.
Siendo x0 = x0 el punto de partida y p0 = p0 = −∇f(x0) = −(Ax0 − b),obtenemos x1 = x1. Ahora observemos que
p1 = −∇f(x1) +∇f(x1)Ap0
p0tA2p0
Ap0 = −(Ax1 − b) +(Ax1 − b)tAp0
p0tA2p0
Ap0
Reemplazando
Ax1 − b = A(x0 + α0p0)− b = (Ax0 − b) + α0p0 = −p0 + α0p0
Obtenemos finalmente
p1 = p0 −p0tAp0
p0tA2p0
Ap0 (5.7)
56
Por su parte
p1 = −∇f(x1) +∇f(x1)Ap0
pt0Ap0
p0 = p0 − α0Ap0 +(−p0 + α0Ap0)
tAp0
pt0Ap0
p0
= α0
(pt0A2p0
pt0Ap0
p0 − Ap0
)(5.8)
Dado que p0 = p0, podemos observar a partir de (5.7) y (5.8) que
p1 = α0pt0A
2p0
pt0Ap0
(p0 −
pt0Ap0
pt0A2p0
Ap0
)= α0
pt0A2p0
pt0Ap0
(p1) (5.9)
de lo cual afirmamos p1 ‖ p1. De esta ultima condicion deducimos quex2 = x2 y por ende ∇f(x2) = ∇f(x2).
Si bien se tiene que las dos primeras iteraciones de los algoritmos coinci-den, esto deja de ser cierto para las demas iteraciones. Basta ver que:
p0tp2 = −p0
t∇f(x2) + ∇f(x2)Ap1p1tA2p1
p0tAp1 = 0 teniendo en cuenta que
p0t∇f(x2) = pt0r2 = 0, y p0
tAp1 = 0 por conjugacion.
pt0p2 = −pt0∇f(x2) + β2pt0p1 = β2β1p
t0p0 que puede ser distinto de 0
De lo anterior se deduce que en general p2 ∦ p2 y por ende que los al-goritmos de alli en adelante podran ser diferentes. El resultado anterior deperpendicularidad en el Algoritmo 5.2, se cumple para todas la direccionesalternadas, es decir
pitpi+2 = 0 (5.10)
para todo i. Para probarlo basta ver que
pitpi+2 = −pit∇f(xi+2) +
∇f(xi+2)tApi+1
pti+1A2pi+1
pitApi+1
= −pti(∇f(xi+1) + αi+1Api+1) = 0
teniendo en cuenta que pi ⊥ ∇f(xi+1) y pi, pi+1 son por construccion con-jugados respecto a A. Se concluye entonces que el Algoritmo 5.2 es tal que
57
direcciones consecutivas son conjugadas y direcciones alternantes son per-pendiculares.
De forma inductiva podemos probar que
{p0, p1, p2, ..., pk} ⊆ {p0, Ap0, A2p0, ..., A
kp0} (5.11)
y por ende
xk+1 ∈ x0 +span{p0, Ap0, A2p0, ..., A
kp0} = x0 +span{p0, Ap0, A2p0, ..., A
kp0}(5.12)
Por otra parte para el GCL sabemos que xk+1 es el punto dex0+span{p0, Ap0, A
2p0, ..., Akp0} donde la fucion f alcanza su mınimo (Lema
2.2). A partir de esta observacion y teniendo en cuenta (5.12) podemos afir-mar que f(xk+1) ≥ f(xk+1) para todo k, es decir, el algoritmo de gradienteconjugado lineal se desempena mejor o igual que Algoritmo 5.2 en problemascuadraticos convexos.
Nota 5.1.Recordemos que los metodos de GCNL de FR,HS, PR y Daniel presen-
tan igual comportamiento al GCL en problemas cuadraticos convexos. Portanto la anterior proposicion tambien es valida para cada uno de ellos alcompararlos con el Algoritmo 5.2
Nos interesa ahora considerar el caso en que la conjugacion no solo sepresente entre direccions sucesivas, sino entre todo el conjunto de direcciones.
Consideremos entonces el algoritmo que define como direccion de busque-da la proyeccion del gradiente sobre el espacio conjugado a todas las direc-ciones previas, es decir:
58
Algoritmo 5.3. (Proyeccion del gradiente en el espacio conjugadoa todas las direcciones previas)
Parametros:f : Funcion
x0 : Punto de partida
ε > 0 : Norma tolerada para el gradiente
Procedimiento:
p0 = −∇f0
k = 0
while‖∇fk‖ > ε
αk = argminα
f(xk + αpk)
xk+1 = xk + αkpk
pk+1 = Proy{Hk+1p0,Hk+1p1,Hk+1p2,...,Hk+1pk}⊥(−∇f(xk+1))
k = k + 1
end while
Implementar este algoritmo en un caso general es ineficiente. Sin embargo,podemos probar que este algoritmo aplicado al problema cuadratico convexoequivale al GCL.
Teorema 5.1. Sea f : Rn → R definida por f(x) = 12xtAx − btx, fun-
cion cuadratica convexa. Considere el algoritmo que toma como direccionde busqueda inicial p0 = −∇f0, y de alli en adelante toma como direccionde busqueda la proyeccion del gradiente sobre el espacio conjugado a lasdirecciones previas, es decir:
Algoritmo 5.4. Proyeccion del gradiente sobre el espacio conjuga-do: Caso Cuadratico
Parametros:{f(x) = 1
2xtAx− btx : Funcion Cuadratica Convexa
x0 : Punto de partida
59
Procedimiento:
x0 = x0
p0 = −∇f(x0)
k = 0
while∇f(xk) 6= 0
αk =−∇f tkxkxktAxk
ˆxk+1 = xk + αkpk
ˆpk+1 = Proy{Ap0,Ap1,Ap2,...,Apk}⊥(−∇f( ˆxk+1))
k = k + 1
end while
Entonces las direcciones de busqueda generadas por este algoritmo sonparalelas a la direcciones generadas por el metodo de GCL, es decir pi ‖ pipara i = 0, 1, 2.... En consecuencia este algoritmo se desempena de formaidentica al metodo de GCL.
Demostracion. Se va a proceder por induccion para probar que pi ‖ pi parai = 0, 1, 2.... El caso base i = 0 se tiene por definicion. Asuma que pi ‖ pipara i = 0, 1, 2, ..., k − 1 y ahora se va probar que pk ‖ pk:
La hipotesis de induccion implican que xk = xk y por tanto que ∇f(xk) =∇f(xk). Escribiendo ∇f(xk) = ∇f(x0) + A(xk − x0) = ∇f(x0) + A(α0p0 +α1p1 + ... + ˆαk−1 ˆpk−1, vemos que podemos expresar ∇f(xk) = −p0 + Wk,donde Wk ∈ span{Ap0, Ap1, Ap2, ..., A ˆpk−1}. Por tanto
pk = Proy{Ap0,Ap1,Ap2,...,A ˆpk−1}⊥
(−∇f(xk)) = Proy{Ap0,Ap1,Ap2,...,A ˆpk−1}⊥
(p0) (5.13)
Dado que p0 = p0 y pi ‖ pi para i = 1, 2, ..., k − 1, podemos afirmar queProy{Ap0,Ap1,Ap2,...,A ˆpk−1}⊥(p0) = Proy{Ap0,Ap1,Ap2,...,Apk−1}⊥(p0) y por tanto que
pk = Proy{Ap0,Ap1,Ap2,...,Apk−1}⊥
(p0) (5.14)
Ahora observe que pk, la k-esima direccion de busqueda del metodo deGCL, es tal que
pk ∈ {Ap0, Ap1, Ap2, ..., Apk−1}⊥ (5.15)
60
ya que la condicion de conjugacion implica pkApi = 0 para i = 0, 1, ..., k− 1.Observe tambien que pk ∈ span{p0, Ap0, A
2p0, , Akp0},
⇒ pk ∈ span{p0, Ap0, Ap1, Ap2, ..., Apk−1} (5.16)
Las condiciones anteriores junto al (5.15) y (5.16) junto al Lema 5.1 (dela siguiente seccion) nos permiten concluir que
pk = Proy{Ap0,Ap1,Ap2,...,Apk−1}⊥
(p0) =pt0pkptkpk
pk (5.17)
y por ende que pk ‖ pk tal como queriamos probar.
5.2.1. Aplicacion a un problema de proyecciones
Lema 5.1. Sean v, u1, u2, ..., um vetores en Rn que satisfacen las siguientespropiedades:
i)v ∈ span{u1, u2, ..., um}ii)v ∈
(span{u1, u2, ..., um−1}
)⊥Entonces v ‖ Proy{u1,u2,...,um−1}⊥(um). Mas aun
Proy{u1,u2,...,um−1}⊥
(um) =utmv
‖v‖2v (5.18)
Como aplicacion del lema anterior obtenemos dos resultados interesantesconcernientes a proyecciones en espacios de Krylov:
Proposicion 5.2. Sea A matriz HDP y p0 un vector arbitario. Defina re-cursivamente los vectores pk tal como lo hace el metodo de GCL, es decir:
Algoritmo 5.5. Parametros:{p0 : Vector
A : Matriz
61
Procedimiento:
r0 = −p0
for k = 0 to n− 2
αk =rtkrkp0Ap0
rk+1 = rk + αkApk
βk+1 =rtk+1rk+1
rtkrk
pk+1 = −rk+1 + βk+1pk
end for
Entonces de este algoritmo obtenemos que:
i)Proy{Ap0,A2p0,...,Akp0}⊥(p0) =pt0pkptkpk
pk.
ii)Proy{p0,Ap0,A2p0,...,Ak−1p0}⊥(Akp0) =rtkA
kp0rtkrk
rk.
Demostracion.
i)Por las propiedades de GCL sabemos que pk ∈ span{p0, Ap0, A2p0, ..., A
kp0}y pk ∈ span{Ap0, A
2p0, ..., Akp0}⊥, por tanto aplicando el Lema 5.1 se ob-
tiene el resultado.
ii)Por las propiedades de GCL sabemos que rk ∈ span{p0, Ap0, A2p0, ..., A
kp0}y rk ∈ span{p0, Ap0, ..., A
k−1p0}⊥, por tanto aplicando el Lema 5.1 se obtieneel resultado.
El anterior resultado nos indica que el GCL se puede implementar comoun metodo eficiente para hallar cierto tipo de proyecciones (aquellas en queA es HDP). En comparacion con otros algoritmos de proyeccion como Gram-Schmidt,el Algoritmo 5.5 resulta menos costoso. Sin embargo su caracterısticamas sobresaliente es la poca cantidad de memoria requerida. Suponga que seenfrenta al siguiente problema:
Problema 5.1. Hallar Proy{Ap0,A2p0,...,Akp0}⊥(p0) para k = 1, 2, ...,m.
62
Al implementar Gram-Schmidt en la resolucion de este problema debe-mos, en primer lugar, calcular explicitamente Akp0 para k = 1, 2, ...,m, y pos-teriormente construir una base ortogonal a partir de estos vectores. Este pro-ceso requiere de mas operaciones que el algoritmo descrito en la proposicion,pero sobretodo mas memoria. Por ejemplo para hallar Proy{Ap0,A2p0,...,Amp0}⊥(p0),Gram-Schmidt debe tener m vectores en memoria, mientras que el Algoritmo5.5 debe tener solo 3.
63
Capıtulo 6
Implementacion Comparativade los Algoritmos Estudiados
En este capıtulo se expone el desempeno de los algoritmos de GCNL pre-sentados a lo largo del proyecto y del metodo de Descenso Mas Rapido. Paraello se tomo como base cuatro tipos de funciones. Antes de pasar a los resul-tados presentamos un listado con las notaciones y conceptos involucrados enlas tablas:
Algoritmos:Alg 3.1 GCNL de DanielAlg 4.1 GCNL de Daniel para problemas convexos generalesAlg 5.1 GCNL de Daniel con criterio de reinicializacionAlg 5.2 Proyeccion del gradiente en el espacio conjugado a la direccion previaPR GCNL de Polak- RibereHS GCNL de Hestenes- StiefelFR GCNL de Fletcher-ReevesDMR Metodo de Descenso Mas Rapido
Siglas:NT No TerminoN.I. Numero de IteracionesN.R. Numero de ReinicializacionesC.D. Constante de Descenso
64
La Constante de Descenso la definimos como
1
N − 1
N−2∑i=0
‖f(xk+1)− f(xN)‖‖f(xk)− f(xN)‖
(6.1)
siendo N el numero total de iteraciones que tomaba al algoritmo para alcan-zar la condicion de terminacion.
Los unicos algortimos para los cuales aplican criterios de reinicializacionson los Algoritmos 4.1 y 5.1. Es importante recordar que estos dos algoritmosjunto al Algoritmo 5.2 son nuestro aporte en este trabajo.
El primer tipo de funciones estudiadas corresponde a sumas de potenciaspares. Los valores de dichas potencias fueron generalmente tomados en elrango {2, 4, 6, 8, 10}.
Funcion Tipo 1:
f(x) =n∑i=1
(xi − ai)2bi ; a ∈ Rn, b ∈ Nn, b 6= (1, 1, ..., 1) (6.2)
Problema 1:N. de Variables = 10
Terminacion‖∇f‖ < 0,01
Algoritmo de Busqueda Lineal: L1
Maximo de iteraciones 100
Alg 3.1 Alg 4.1 Alg 5.1 Alg 5.2 PR HS FR DMRN. I. 24 23 24 23 22 22 24 39N. R. 0 1 0 0 0 0 0 0C. D. 0.335 0.318 0.335 0.329 0.248 0.248 0.318 0.609
Problema 2:N. de Variables = 25
Terminacion‖∇f‖ < 0,001
Algoritmo de Busqueda Lineal: L1
Maximo de iteraciones 100
65
Alg 3.1 Alg 4.1 Alg 5.1 Alg 5.2 PR HS FR DMRN. I. 33 21 27 21 24 28 26 35N. R. 0 2 1 0 0 0 0 0C. D. 0.415 0.208 0.333 0.208 0.264 0.311 0.319 0.494
Problema 3:N. de Variables = 50
Terminacion‖∇f‖ < 0,001
Algoritmo de Busqueda Lineal: L1
Maximo de iteraciones 100
Alg 3.1 Alg 4.1 Alg 5.1 Alg 5.2 PR HS FR DMRN. I. 49 33 39 47 37 28 57 48N. R. 0 2 2 0 0 0 0 0C. D. 0.483 0.341 0.423 0.543 0.400 0.280 0.594 0.558
Nota 6.1.Podemos observar que la Funcion Tipo 1 no es fuertemente convexa. Cabe
destacar que el Algoritmo 4.1, correspondiente a la modificacion del GC-NL de Daniel para problemas convexos generales (i.e aquellos con HessianasSemidefinidas Positivas) se desempeno de manera sobresaliente entre todoslos algoritmos de GCNL. Tambien llama la atencion que para este tipo de fun-ciones las reinicializaciones de los algoritmos 4.1 y 5.1, permitieron disminuirel numero de iteraciones de terminacion al compararlos con el algoritmo 3.1(GCNLD sin reinicializaciones).
El segundo tipo de funciones estudiadas son de tipo cuadratico convexo.Las matrices A HDP sobre las cuales se plantearon los problemas, se con-struyeron a partir de matrices B correspondientes a distorsiones de la matrizI (por ejemplo anadiendo algunas diagonales, filas o columnas no nulas) , ytomando A = BBt.
Funcion Tipo 2:
f(x) =1
2xtAx− btx; A matriz HDP , b ∈ Rn (6.3)
66
Problema 1:
N. de Variables = 30
cond(A) = 472,11
Terminacion‖∇f‖ < 0,001
Algoritmo de Busqueda lineal: L1
Numero Maximo de iteraciones = 1000
GCL Alg 3.1 Alg 4.1 Alg 5.1 Alg 5.2 PR HS FR DMRN. I. 33 45 56 45 447 47 45 46 504N. R. 0 0 1 0 0 0 0 0 0C. D. 0.638 0.660 0.711 0.660 0.954 0.667 0.654 0.658 0.965
Problema 2:
N. de Variables = 50
cond(A) = 4,44× 103
Terminacion‖∇f‖ < 0,01
Algoritmo de Busqueda lineal: L1
Numero Maximo de iteraciones = 300
GCL Alg 3.1 Alg 4.1 Alg 5.1 Alg 5.2 PR HS FR DMRN. I. 41 55 55 NT NT 54 87 83 NTN. R. 0 0 0 - 0 0 0 0 0C. D. 0.702 0.713 0.713 - - 0.705 0.810 0.806 -
Nota 6.2.A pesar de que la funcion es cuadratica convexa los algoritmos de GC-
NL no pudieron igualar el desempeno del GCL. Probablemente la razon aeste hecho se basa en la acumulacion de errores que generan los esquemas dediferencias finitas usados en la implementacion computacional de los algo-ritmos. Los resultados confirman que los GCNL se comportan mucho mejorque el DMR en este tipo de problemas. Mas aun, aquellos algoritmos queimplementaron reinicializaciones presentaron convergencia mas lenta.
El tercer tipo de funciones se construyeron adicionando funciones de tipo1 y tipo 2. En este caso las matrices A HDP fueron nuevamente construidas
67
en la forma A = BBt siendo B una distorcion de I, y las potencias pares setomaron en el rango {2, 4, 6, 8, 10}.
Funcion Tipo 3:
f(x) =1
2xtAx− btx+
n∑i=1
(xi − ci)2di ;A matriz HDP , b, c ∈ Rn y d ∈ Nn
(6.4)Problema 1:
No. de Variables = 10
cond(A) = 2,594× 104
Condicion de Terminacion ‖∇f‖ < 0,1
Algoritmo de Busqueda lineal: L1
Maximo de iteraciones 200
Alg 3.1 Alg 4.1 Alg 5.1 Alg 5.2 PR HS FR DMRN. I. 45 45 45 NT 40 NT NT NTN. R. 0 0 0 0 0 0 0 0C. D. 0.5329 0.5329 0.5329 - 0.5139 - - -
Problema 2:
No. de Variables = 18
cond(A) = 24,8033
Condicion de Terminacion ‖∇f‖ < 0,01
Algoritmo de Busqueda lineal: L1
Maximo de iteraciones 200
Alg 3.1 Alg 4.1 Alg 5.1 Alg 5.2 PR HS FR DMRN. I. 46 46 46 NT 55 52 64 NTN. R. 0 0 0 0 0 0 0 0C. D. 0.5337 0.5337 0.5337 - 0.5864 0.5696 0.6213 -
68
Problema 3:
No. de Variables = 25
cond(A) = 6,6035× 106
Condicion de Terminacion ‖∇f‖ < 0,1
Algoritmo de Busqueda lineal: L1
Maximo de iteraciones 300
Alg 3.1 Alg 4.1 Alg 5.1 Alg 5.2 PR HS FR DMRN. I. 121 121 217 NT 170 170 97 NTN. R. 0 0 17 0 0 0 0 0C. D. 0.8310 0.8310 0.9052 - 0.8735 0.8735 0.7976 0.6213
Nota 6.3.Los resultados en este tipo de funcion fueron similares a los del caso
cuadratico convexo. Es dificil identificar alguno de los algoritmos de GCNLcomo mas robusto que los otros, pero en definitiva, se observa que la busquedaen la direccion del menos gradiente (bien sea en el metodo DMR o como partede una reinicializacion) no favorecieron la convergencia. Observamos tambienun desempeno bajo por parte del Algortimo 5.2 en este tipo de funcionesn.
Funcion Tipo 4: No convexas
Problema 1:
Rosenbrock Function:n−1∑i=1
100(xi+1 − x2i )
2 + (1− xi)2 (6.5)
N. de Variables = 15
Terminacion‖∇f‖ < 0,1
Algoritmo de Busqueda lineal: L1
Maximo de iteraciones = 1000
Alg 3.1 Alg 4.1 Alg 5.1 Alg 5.2 PR HS FR DMRN. I 207 207 208 NT 188 195 NT NTN. R 0 0 13 0 0 0 0 0C. D. 0.898 0.898 0.904 - 0.886 0.887 - -
69
Problema 2:
Zakharov Function:n∑i=1
x2i + (
n∑i=1
0,5ixi)2 + (
n∑i=1
0,5ixi)4 (6.6)
N. de Variables = 15
Terminacion‖∇f‖ < 0,1
Algoritmo de Busqueda lineal: L1
Maximo de iteraciones = 300
Alg 3.1 Alg 4.1 Alg 5.1 Alg 5.2 PR HS FR DMRN. I. 16 16 15 17 19 17 16 NTN. R. 0 0 1 0 0 0 0 0C. D. 0.303 0.303 0.405 0.518 0.396 0.518 0.3898 -
Nota 6.4.Podemos que para problemas no convexos el comportamiento de los dis-
tintos metodos de GCNL sigue siendo muy similar entre si. Tambien se ver-ifica la superioridad de estos algoritmos frente al DMR.
70
Capıtulo 7
Aplicacion del concepto deConjugacion a un problema deinterpolacion
7.1. Planteamiento del problema
Considere el siguiente problema:
Problema 7.1. Dado un vector x = (x1, x2, ..., xn) con entradas reales dis-tintas, a = (a1, a2, ..., an) con entradas reales cualesquiera, y ε > 0, halle unpolinomio P del menor grado posible que satisfaga:
‖P (x)− a‖22 ≤ ε (7.1)
(En la anterior ecuacion estoy denotando P (x) = (P (x1)P (x2), ..., P (xn)),
de modo que ‖P (x)− a‖22 =n∑i=1
[P (xi)− ai]2 ≤ ε)
El problema anterior nos pide hallar una interpolacion de grado mınimoen torno a los puntos (x1, a1), (x2, a2), ..., (xn, an) que tolere un margen deerror ε > 0 (medido en norma euclidea). La caracteristica de grado mınimoque ha de tener el polinomio solucion al problema anterior es de gran val-or computacional. Por la formula de interpolacion de Lagrange conocemosla existencia de Q, polinomio de grado menor o igual a n − 1, para el cual
71
‖Q(x) − a‖ = 0, es decir sabemos que Q esta en el margen de error toler-ado, pero no tenemos certeza de que cumpla la condicion de minimalidadde grado, es decir, no sabemos si existe un polinomio de grado menor al deQ que tambien se encuentre en el margen de error tolerado. En el peor delos casos Q es un polinomio de grado n − 1, de modo que implementar estepolinomio como instrumento de interpolacion puede ser muy costoso cuandon es grande. Teniendo presente el deseo de conseguir una buena interpo-lacion entorno a los puntos (x1, a1), (x2, a2), ..., (xn, an) (midiendo la calidadde la interpolacion por el margen de tolerancia que nos da ε) y que al mismotiempo no sea tan costosa de implementar (midiendo este costo como el gra-do del polinomio de interpolacion ), surge de forma natural el problema (7.1).
7.2. Aproximacion a la solucion por el meto-
do de proyecciones
La primera aproximacion a solucionar este problema se puede hacer atraves de proyecciones sobre la matriz de Vandermonde:
Defina z0 = (1, 1, 1, ..., 1), z1 = (x1, x2, ..., xn), z2 = (x21, x
22, ..., x
2n), ...,zk =
(xk1, xk2, ..., x
kn), ..., zn−1 = (xn−1
1 , xn−12 , ..., xn−1
n ), y para cierto k ≤ n − 1 con-stuya Vk, matriz de Vandermonde, tomando los vectores z0, z1, .., zk como suscolumnas:
Vk =
1 x1 · · · xk11 x2 · · · xk2...
.... . .
...1 xn · · · xkn
Los coeficientes del polinomio de grado a lo sumo k que minimiza
‖Pk(x)−a‖2, son los coeficientes de z0, z1, ..., zk en la proyeccion ortogonal dea sobre span{z0, z1, ..., zk}. Dado que x1, x2, ..., xn son valores distintos, pode-mos afirmar que el determinante de Vn−1 (matriz de Vandermonde cuadrada)es distinto de 0 y por ende que {z0, z1, ..., zn} es linealmente independiente.La independencia lineal de estos vectores garantiza que la proyeccion ortog-onal de a sobre span{z0, z1, ..., zk} se escriba de forma unica en terminos de
72
z0, z1, ..., zk.
Definiendo la matriz diagonal A = diag(x1, x2, ..., xn) ∈ Mn y d =(1, 1, ..,1, 1) ∈ Rn, vemos que zi = Aid para i = 0, 1, ..., n − 1, de modoque la solucion planteada usando el argumento de proyecciones se puede ree-scribir de la forma:
Determine los coeficientes de {d,Ad, ..., Akd} en la proyeccion de a sobrespan{d,Ad, ..., Akd}.
Si bien este problema se ve facil de tratar, computacionalmente puedellegar a ser muy costoso, pues en primer lugar {d,Ad, ..., Akd} no es un con-junto ortogonal, y en segundo lugar porque una vez hallada la proyeccionde a sobre span{d,Ad, ..., Akd} recuperar los coeficientes de {d,Ad, ..., Akd}puede requerir mucho trabajo.
Podemos observar que para k fijo, el argumento de proyecciones nos per-mite determinar si existe o no Pk de grado menor o igual a k tal que‖Pk(x) − a‖22 ≤ ε. Por tanto, si hacemos recorrer k por los valores 1, 2..., nde forma adecuada (por ejemplo haciendo un recorrido binario) podremoshallar un polinomio P de grado mınimo que satisfaga ‖P (x)−a‖22 ≤ ε. Hacerrecorrer k por los valores 1, 2..., n, implica, apriori, tener que resolver el prob-lema de proyeccion tantas veces como valores de k se tomen. Resulta coher-ente pensar que si conocemos los coeficentes de {d,Ad, ..., Akd} en la proyec-cion de a sobre span{d,Ad, ..., Akd}, esta informacion nos sera util para deter-minar los coeficientes de {d,Ad, ..., Akd,Ak+1d} (resp. {d,Ad, ..., Ak−1d}) enla proyeccion de a sobre span{d,Ad, ..., Akd,Ak+1d} (resp. span{d,Ad, ..., Ak−1d}),sin embargo el paso de una instancia a otra requiere nuevamente hallarproyecciones que no reducen el costo del algoritmo. Por ejemplo,si deseamosutilizar la informacion obtenida en el caso k para obtener el caso k + 1, sedeben conocer los coeficientes de {d,Ad, ..., Akd} de la proyeccion de Ak+1dsobre span{d,Ad, ..., Akd}), esto resulta tan costoso como desarrollar todo elproblema de proyeccion para k + 1 sin ninguna informacion.
Hemos presentado un metodo que si bien nos permite hallar la soluciona nuestro problema, su costo puede ser demasiado alto. Vamos ahora a pre-sentar el metodo que proponemos para resolver este problema y que se basaen las propiedades de convergencia del metodo de GCL:
73
7.3. Aproximacion a la solucion por el meto-
do de GCL
Siguiendo la linea de pensamiento desarrollada para el Teorema 2.1 setiene el siguiente resultado:
Proposicion 7.1. Sea A matriz HDP, y sea f(x) = 12xtAx− btx. Al aplicar
el metodo de gradiente conjugado lineal al problema de minimizacion de f ,se obtiene que
f(xk+1)− f(x0) = mınPk
pt0
(1
2APk(A)2 − Pk(A)
)p0 (7.2)
donde Pk es tomado sobre todos los polinomios de grado k. Mas aun, loscoeficientes del polinomio Pk que minimiza la expresion anterior, son loscoeficientes de {p0, Ap0, ..., A
kp0} en la representacion de xk+1 − x0.
Demostracion. Por el Lema 2.2 sabemos que xk+1 coresponde al punto deminimizacion de f en x0 + span{p0, Ap0, ..., A
kp0}, de modo que xk+1− x0 =Pk(A)p0 para algun polinomio de grado menor o igual a k. Por otra partesabemos por el Teroema de Taylor que
f(xk+1) = f(x0) +∇f(x0)t(xk+1 − x0) +
1
2(xk+1 − x0)
tA(xk+1 − x0),
donde ∇f(x0) = −p0. De las observaciones anteriores se deduce que
f(xk+1) = mın{x∈ x0+span{p0,Ap0,...,Akp0}}
f(x0)+∇f(x0)t(x−x0)+
1
2(x−x0)
tA(x−x0)
= mınPk
f(x0)− pt0(Pk(A)p0) +1
2(Pk(A)p0)
tA(Pk(A)p0),
ası,
f(xk+1)− f(x0) = mınPk
pt0
(1
2APk(A)2 − Pk(A)
)p0
tal como se queria probar.
74
El resultado que vamos a utilizar en la construccion de nuestro metodoes una ligera modificacion del resultado anterior:
Proposicion 7.2. Sea A matriz HDP, f(x) = 12xtAx − btx y d una di-
reccion cualquiera. Considere un algoritmo que tenga como punto de par-tida x0 y tal que xk+1 coresponda al punto de minimizacion de f en x0 +span{d,Ad, ..., Akd}. Entonces
f(xk+1)− f(x0) = mınPk
(1
2dtAPk(A)2d− pt0Pk(A)d
), (7.3)
donde Pk es tomado sobre todos los polinomios de grado k. Mas aun, loscoeficientes del polinomio Pk que minimiza la expresion anterior, son loscoeficientes de {d,Ad, ..., Akd} en la representacion de xk+1 − x0.
Demostracion. Se prueba de forma identica a la Proposicion 7.1 usando elTeorema de Taylor, la identidad ∇f(x0) = p0, y la definicion de xk+1 comopunto de minimizacion de f en x0 + span{d,Ad, ..., Akd}.
Identifiquemos el papel que cumple la Proposicion 7.2 en la solucion denuestro problema:
Sea {v1, v2, ..., vn} base ortonormal de Rn conformada por valores propiosde A y asociados a los valores propios λ1, λ2, ..., λn. Definamos
p0 = r1v1 + r2v2 + ...+ rnvn (7.4)
d = s1v1 + s2v2 + ...+ snvn (7.5)
Reemplazando d y p0 en (7.3) obtenemos
1
2dtAPk(A)2d− pt0Pk(A)d =
1
2
n∑i=1
λiPk(λi)2s2i −
n∑i=1
Pk(λi)siri
Reagrupando terminos, la expresion anterior se puede escribir como
1
2
n∑i=1
((√λisiPk(λi)−
ri√λi
)2− r2i
λi
)=
1
2
n∑i=1
(√λisiPk(λi)−
ri√λi
)2
−1
2
n∑i=1
r2i
λi
75
Obserevemos ahora que si tomamos si = 1√λi
y ri = ai√λi para i = 1, ..., n,
y siguiendo las igualdades previas obtenemos
1
2dtAPk(A)2d− pt0Pk(A)d =
(1
2
n∑i=1
(Pk(λi)− ai)2)− 1
2
n∑i=1
a2i
⇒ 1
2dtAPk(A)2d− pt0Pk(A)d =
1
2
(‖Pk(λ)− a‖22 − ‖a‖22
)(7.6)
La siguiente proposicion resume y asocia los resultados probados:
Proposicion 7.3. Supongamos que nos enfrentamos al Problema 7.1 tenien-do como puntos base de interpolacion (λ1, a1), (λ2, a2), ..., (λn, an), y siendoλi > 0 para todo i.
TomemosAmatriz HDP con valores propios λ1, λ2, ..., λn y sea {v1, v2, ..., vn}base ortonormal de Rn conformada por vectores propios. Construya f(x) =12xtAx− btx y x0 punto de partida, de manera que
p0 = −∇f(x0) = a1
√λ1v1 + a2
√λ1v2 + ...+ an
√λnvn
Defina d = 1√λ1v1 + 1√
λ2v2 + ...+ 1√
λnvn y sea xk+1 el punto de minimizacion
de f en x0 + span{d,Ad, ..., Akd}. Entonces:
i) mınPk‖Pk(λ)− a‖22 = 2(f(xk+1)− f(x0)) + ‖a‖22
ii) Los coeficientes del polinomio Pk que minimiza la expresion anterior,son los coeficientes de {d,Ad, ..., Akd} en la representacion de xk+1 − x0
Demostracion.
i)Las condiciones enunciadas nos garantizan que se satisfagan las ecua-ciones (7.3) y (7.6). De ellas deducimos que
f(xk+1)− f(x0) = mınPk
1
2
(‖Pk(λ)− a‖22 − ‖a‖22
)
76
⇒ mınPk‖Pk(λ)− a‖22 = 2
(f(xk+1)− f(x0)
)+ ‖a‖22 (7.7)
ii) Por la Proposicion 7.2 sabemos que los coeficiente de Pk son los coefi-cientes de {d,Ad, ..., Akd} en la representacion de xk+1 − x0.
Queremos ahora tomar A, b, y x0 de forma que esp(A) = {λ1, λ2, ..., λn},y p0 = −∇f(x0) = ai
√λiv1 + ai
√λiv2 + ... + ai
√λivn, donde {v1, v2, ..., vn}
es una base ortonormal de vectores propios de A. La forma mas sencillade hacerlo es tomando A = diag(λ1, λ2, ..., λn) (de esta manera los vectorescanonicos seran una base ortonormal de vectores propios de A), b = 0 yx0 = −( a1√
λ1, a2√
λ2, ..., an√
λn).Recuerdemos que ∇f(x0) = Ax0 − b, de modo que
para estas escogencias,
p0 = −∇f(x0) = b− Ax0 = (a1
√λ1, a1
√λ1, ..., a1
√λ1)
tal como deseamos. Sobre la direccion d, que sera la direccion de descensoinicial de nuestro algoritmo, tenemos control total, de modo que podemostomarla como d = ( 1√
λ1, 1√
λ2, ..., 1√
λn) sin ningun inconveniente.
7.4. Construccion del Algoritmo
Habiendo ya escogido A,b y x0 de manera que se cumplan las condicionesexigidas por la Proposicion 7.3, debemos ahora enfocarnos en la construccionde un algoritmo para el cual xk+1 sea el punto de minizacion de f enx0 + span{d,Ad, ..., Akd}
Nota 7.1.Por la forma en que se definieron d y A vemos que
Amd = (λm1√λ1, λ
m2
√λ2, ..., λ
mn
√λn) (7.8)
param = 1, ..., n. Por tanto si colocamos los vectores {d,Ad, ..., Akd, ..., An−1d}en una matriz M, podemos ver que det(M) =
√λ1λ2...λndet(Mλ), donde Mλ
denota la matrix de Vandermonde asociada a λ. Dado que λ1, ..., λn es unconjunto de reales positivos distintos, concluimos que det(M) 6= 0 y por con-siguiente el conjunto {d,Ad, ..., Akd, ..., An−1d} es linealmente independiente.
77
Empezaremos esta seccion por el siguiente lema:
Lema 7.1. Sea A matriz HDP, f(x) = 12xtAx − btx, x0 punto de partida,
y {d0, d1, ..., dn−1} un conjunto de direcciones conjugadas respecto a A (i.e,dtiAdj = 0 para todos i 6= j). Considere el algoritmo de direcciones conju-gadas basado en {d0, d1, ..., dn−1}, es decir el algoritmo que en la iteraccionk toma como direccion de busqueda dk y hace un proceso de minimizacionde f respecto a esta direccion. Podemos afirmar que para tal algoritmo, xk+1
sera el mınimo de f sobre x0 + span{d0, d1, ..., dk}.
Demostracion. Dado que f es estrıctamente convexa, la funcion f re-stringida al espacio afin Uk = x0 + span{d0, d1, ..., dk}, sigue siendo estrıcta-mente convexa. La Proposicion 3.1 nos indica que el mınimo de f en Ukcoresponde al unico punto xk+1 ∈ Fk para el cual ∇f(xk+1)
tdi = 0 para todoi = 0, 1, ..., k. Para ver que la anterior condicion efectivamente se cumpleen un algoritmo de direcciones conjugadas {d0, d1, ..., dn−1}, basta tener encuenta las siguentes dos observaciones:
i)Dado que en la iteracion i asumimos un proceso de minimizacion exactade f en la direccion di entonces ∇f(xi+1)
tdi = 0.
ii)Dado que las direcciones que siguen a di son conjugadas a esta, el cam-bio de gradiente de una iteracion a la otra preserva la ortogonalidad conrespecto a di y por ende ∇f(xk+1)
tdi = 0.
Para probar esta segunda observacion vease que
∇f(xk+1) = ∇f(xi+1) + A(xk+1 − xi+1)
= ∇f(xi+1) + αi+1Adi+1 + αi+2Adi+2 + ...αkAdk
⇒ ∇f(xk+1)tdi = ∇f(xi+1)
tdi + αi+1dti+1Adi + αi+2d
ti+2Adi + ...+ αkd
tkAdi
Teniendo en cuenta que f(xi+1)tdi = 0 y dthA
tdi = 0 para h = i+ 1, ..., k(por ser direcciones conjugadas respecto a A), concluimos que f(xk+1)
tdi = 0.
Las anteriores observaciones nos permiten concluir que para un algorit-mo de direcciones conjugadas {d0, d1, ..., dn−1} se satisface ∇f(xk+1)
tdi =0 para todo i = 0, 1, ..., k , y por ende que xk+1 es el mınimo de f en
78
x0 + span{d0, d1, ..., dk}, tal como se queria probar.
A partir del Lema 7.1, nos resulta de interes construir {d0, d1, ..., dn−1}direcciones conjugadas respecto A que cumplan
span{d0, d1, ..., dk} = span{d,Ad, ..., Akd} (7.9)
para k = 0, 1, ..., n − 1. Bajo estas condiciones, el Lema 7.1 nos indicaque el algoritmo de minimizacion que sigue las direcciones de busqueda{d0, d1, ..., dn−1} sera tal que xk+1 es el punto de minizacion de f en x0 +span{d,Ad, ..., Akd}, que es precisamente lo que buscamos.
Procedamos entonces a construir {d0, d1, ..., dn−1} direcciones conjugadasrespecto A que satisfagan (7.9)
Proposicion 7.4. Defina d0, d1, ..., dn−1 por la siguiente forma recursiva:
i)d0 = d
ii)d1 = −Ad0 +dt0A
2d0dt0Ad0
d0
iii) Para i ≥ 2 : di = −Adi−1 +dti−1A
2di−1
dti−1Adi−1di−1 +
dti−2A2di−1
dti−2Adi−2di−2
La construccion anterior nos da un conjunto {d0, d1, ..., dn−1} tal que:
a){d0, d1, ..., dn−1} son direcciones conjugadas respecto a A.b)span{d0, d1, ..., dk} = span{d,Ad, ..., Akd} para k = 0, 1, ..., n− 1.
Demostracion. Vamos a poceder usando induccion sobre k, y demostrandode forma alternada a) y b):
Para k = 0 simplemente hay que notar que span{d0} = span{d} se cumplepor definion.
Para k = 1 hay que notar que d1 = −Ad0 +dt0A
2d0d0Ad0
d0 = −Ad+ dtA2ddtAd
d, demodo que span{d0, d1} = span{d,Ad}. Ademas
dt0Ad1 = dt0A(−Ad0 +dt0A
2d0
dt0Ad0
d0) = −dt0A2d0 +dt0A
2d0
dt0Ad0
dt0Ad0 = 0
79
de forma que d0 y d1 son conjugados.
Suponga que para cierto k ≥ 1 se satisfaga que las direcciones {d0, d1, ..., dk}son conjugadas y span{d0, d1, ..., dk} = span{d,Ad, ..., Akd}. Ahora voy a pro-bar que dk+1 va a ser conjugada a {d0, d1, ..., dk} y span{d0, d1, ..., dk, dk+1} =span{d,Ad, ..., Akd,Ak+1d}:
Conjugacion:
Caso 1:
dtkAdk+1 = −dtkA2dk +dtkA
2dkdtkAdk
dtkAdk +dtk−1A
2dk
dtk−1Adk−1
dtkAdk−1 = 0
teniendo en cuenta que dtkAdk−1 = 0 pues son conjugados por hipotesis. Portanto concluimos que dk y dk+1 son conjugados.
Caso 2:
dtk−1Adk+1 = −dtk−1A2dk +
dtkA2dk
dtkAdkdtk−1Adk +
dtk−1A2dk
dtk−1Adk−1
dtk−1Adk−1 = 0
teniendo en cuenta que dtk−1Adk = 0 pues son conjugados por hipotesis. Portanto concluimos que dk−1 y dk+1 son conjugados.
Caso 3: i ≤ k − 2 (Este caso no aplica cuando k = 1). Por hipotesissabemos que para i ≤ k − 2, di ∈ span{d,Ad, ..., Aid} por tanto
Adi ∈ span{Ad,A2d, ..., Ai+1d}
Por hipotesis sabemos que
span{Ad,A2d, ..., Ai+1d} ⊂ span{d,Ad,A2d, ..., Ai+1d} = span{d0, d1, ..., di+1}
de modo que podemos afirmar que Adi ∈ span{d0, d1, ..., di+1}.Siendo i ≤ k−2, concluimos entonces que Adi ∈ span{d0, d1, ..., dk−1}. Comodk es conjugado a {d0, d1, ..., dk−1}, por hipotesis de induccion, es facil ver quedk sera conjugado a cualquier vector en span{d0, d1, ..., dk−1} y en particularlo sera con Adi, es decir (Adi)
tAdk = dtiA2dk = 0. Dado que i ≤ k − 2 sabe-
mos por hipotesis de induccion que dtiAdk = dtiAdk−1 = 0. Con base en los
80
desarollos previos se puede observar que dtiAdk+1 = −dtiA2dk+dtkA
2dkdtkAdk
dtiAdk+dtk−1A
2dk
dtk−1Adk−1dtiAdk−1 = 0, es decir di y dk+1 son conjugados.
Span:
Por la forma en que defınimos la construccion de los di’s, se puede chequearinductivamente que para todo i ≤ k, di ∈ span{d,Ad, ..., Aid} y que el coefi-ciente de Aid en la representacion de di como combinacion de {d,Ad, ..., Aid}es no nulo. Teniendo presente este resultado, podemos concluir que −Adk ∈span{Ad,A2d, ..., Ak+1d} y por ende que
dk+1 = −Adk +dtkA
2dkdtkAdk
dk +dtk−1A
2dk
dtk−1Adk−1
dk−1 ∈ span{d,Ad,A2d, ..., Ak+1d}
de modo que span{d0, d1, ..., dk, dk+1} ⊆ span{d,Ad, ..., Akd,Ak+1d}. Dadoque el coeficiente de Akd en la representacion de dk es no nulo, el producto−Adk nos dara un termino Ak+1d con coeficente no nulo, mas aun, como eltermino Ak+1d no hace parte de la representacion de dk ni de dk−1 concluimosque el coeficiente de Ak+1d en la representacion de dk+1 sera no nulo (de hechosera el negativo del coeficiente de Akd en dk, por tanto se verifica facilmenteque sera (−1)k+1 ). Sabiendo que di ∈ span{d,Ad, ..., Aid} y que el coeficientede Aid en la representacion de di como combinacion de {d,Ad, ..., Aid} es nonulo para i ≤ k + 1, se concluye quespan{d0, d1, ..., dk, dk+1} = span{d,Ad, ..., Akd,Ak+1d} tal como se queriaprobar.
Podemos resumir los resultados anteriores en la siguiente proposicion:
Proposicion 7.5. Sean:
A = diag(λ1, λ2, ..., λn)
x0 = −( a1√λ1, a2√
λ2, ..., an√
λn)
f(x) = 12xtAx
d = ( 1√λ1, 1√
λ2, ..., 1√
λn)
81
{d0, d1, ..., dn−1} como en la Proposicion 7.4
Entonce el algoritmo de direcciones conjugadas sobre el conjunto {d0, d1, ..., dn−1}aplicado al problema de minimizacion de f con punto inicial x0 es tal que
mınPk‖Pk(λ)− a‖22 = 2f(xk+1) (7.10)
donde Pk es tomado en el conjunto de polinomios de grado menor a iguala k. Mas aun los coeficientes de Pk estan dados por los coeficientes ded,Ad, ..., Akd en la representacion de xk+1 − x0 como combinacion de losmismos.
Nota 7.2.En la Proposicion 7.3 se establecio
mınPk‖Pk(λ)− a‖22 = 2(f(xk+1)− f(x0)) + ‖a‖22
Para la eleccion de x0 y f que estamos tomando en la Proposicion 7.5 severifica 2f(x0) = ‖a‖22 y por tanto se deduce la ecuacion (7.10).
Procedamos ahora a hallar Pk de forma recursiva:
Recordemos que dk+1 ∈ span{d,Ad, ..., Akd},y que el coeficiente de Akden su representacion es no nulo. Por tanto podemos escribir
dk+1 = Qk(A)d (7.11)
con Qk polinomio de grado k.
Observemos tambien que la longitud de paso al minimizar f en la direc-cion dk esta dada por
αk = argminα
f(xk + αdk) = argminα
1
2(xk + αdk)
tA(xk + αdk)
Escribiendo g(α) = 12(xk +αdk)
tA(xk +αdk) = 12(dtkAdk)α
2 +xtkAdkα, vemos
que se trata de una cuadratica cuyo mınimo se alcanza en αk = −xtkAdkdtkAdk
.
Dado que xk = x0 +α0d0 + ...+αk−1dk−1, y dk es conjugado a cada uno en{d0, d1, ..., dk−1} vemos que xtkAdk = xt0Adk = −(a1
√λ1, a2
√λ2, ..., an
√λn)tdk,
por tanto, llamando w = (a1
√λ1, a2
√λ2, ..., an
√λn),llegamos a
82
αk =wtdkdtkAdk
(7.12)
Podemos ahora si iniciar la construccion de Pk de forma iterada. Paraello, sera importante construir de forma simultanea cada uno de los Qk:
d0 = d⇒ Q0(x) = 1
x1 − x0 = α0d0 = α0d⇒ P0(x) = α0
(Siendo α0 = wtd0dt0Ad0
=n∑i=1
aiλi
)
d1 = −Ad0 +dt0A
2d0dt0Ad0
d0 = (−A+ β1)d⇒ Q1(x) = −x+ β1
(Siendo β1 =dt0A
2d0dt0Ad0
)
x2 − x0 = x1 − x0 + α1d1 ⇒ P1(x) = P0(x) + α1Q1(x)(Siendo α1 = wtd1
dt1Ad1)
Suponga que hemos construido di, Qi y Pi para todo i < k, siendo k ≥ 2,entonces:
dk = −Adk−1 + βkdk−1 + γkdk−2 ⇒ Qk(x) = −xQk−1(x) + βkQk−1(x) +γkQk−2(x)
(Siendo βk =dtk−1A
2dk−1
dtk−1Adk−1y γk =
dtk−2A2dk−1
dtk−2Adk−2)
xk+1 − x0 = xk − x0 + αkdk ⇒ Pk(x) = Pk−1(x) + αkQk(x)
(Siendo αk = − wtdkdtkAdk
)
Esto completa la construccion iterativa de Pk.
7.5. Implementacion del Algoritmo
Dado que la matriz A = diag(λ1, λ2, ..., λn), los costos computacionalesde las expresiones de la forma dtk−1Adk−1,d
tk−1A
2dk−1 y dtk−2A2dk−1 son re-
ducidos, y por ende los costos de αk, βk y γk tambien lo son. Vease que:
83
αk = − wtdkdtkAdk
=
n∑i=1
ai√λi(dk)i
n∑i=1
λi(dk)2i
(7.13)
βk =dtk−1A
2dk−1
dtk−1Adk−1
=
n∑i=1
λ2i (dk−1)
2i
n∑i=1
λi(dk−1)2i
(7.14)
γk =dtk−2A
2dk−1
dtk−2Adk−2
=
n∑i=1
λ2i (dk−1)i(dk−2)i
n∑λ
λi(dk−2)2i
(7.15)
Observemos tambien que
2f(xk+1) = xtk+1Axk+1 = (xk+αkdk)tA(xk+αkdk) = 2f(xk)+2αkx
tkAdk+α
2kd
tkAdk
Usando que αk = −xtkAdkdtkAdk
, podemos deducir de la anterior expresion que
2f(xk+1) = 2f(xk)− α2kdkAdk (7.16)
nos da una formula recursiva para hallar 2f(xk+1). Recordemos que este valores de suma importancia pues sabemos que mınPk‖Pk(λ)− a‖22 = 2f(xk+1).
Retornando al problema inicial de interpolar una funcion en torno a lospuntos (λ1, a1), (λ2, a2), ..., (λn, an), podemos asumir sin perdidad de general-idad que los λ’s son positivos, pues en caso de no serlo, podemos trasladarlosa la parte real de la recta (adicicionando a cada uno c > 0, suficientementegrande), construir alli el polinomio Pk(x) (usando el metodo desarrollado), yal definir Pk(x) = Pk(x+ c) obtenemos el polinomio deseado.
Con estos resultados, el algoritmo que hemos desarrollado para hallar lainterpolacion de grado mınimo entorno a (λ1, a1), (λ2, a2), ..., (λn, an) (λ’s> 0)y aceptando un margen de error ε > 0 es como sigue:
84
Algoritmo 7.1. Interpolacion Iterativa por tecnicas de GCL
Parametros:{(λ1, a1), (λ2, a2), ..., (λn, an) : Puntos de Interpolacion
ε > 0 : Margen de error tolerado
85
Procedimiento:
P (x) = 0
v0 =n∑i=1
a2i
if v0 ≤ ε end
d0 = ( 1√λ1, 1√
λ2, ..., 1√
λn)
Q0(x) = 1
w = (a1
√λ1, a2
√λ2, ..., an
√λn)
α0 = wtd0dt0Ad0
P (x) = α0
v1 = v0 − α20dt0Ad0
if v1 ≤ ε end
β1 =dt0A
2d0dt0Ad0
d1 = −Ad0 + β1d0
Q1(x) = −x+ β1
α1 = wtd1dt1Ad1
P (x) = P (x) + α1Q1(x)
v2 = v1 − α21dt1Ad1
k = 2
while vk > ε
βk =dtk−1A
2dk−1
dtk−1Adk−1
γk =dtk−2A
2dk−1
dtk−2Adk−2
dk = −Adk−1 + βkdk−1 + γkdk−2
Qk(x) = −xQk−1(x) + βkQk−1(x) + γkQk−2(x)
αk = − wtdkdtkAdk
P (x) = P (x) + αkQk(x)
vk+1 = vk − α2kd
tkAdk
k = k + 1
end while
86
Implementacion:
Ejemplo 1 : Se desea interpolar f entorno a los puntos (1, 4), (2, 5), (3, 1), (4, 2), (5, 3)(6, 5), (7, 8), (8, 7), (9, 6), (10, 2). Al implementarse el Algoritmo 7.1 obten-emos los siguientes resultados para la aproximacion de grado 5 y de grado 9(polinomio de interpolacion de Lagrange):
Ejemplo 2 : Se desea interpolar f entorno a 30 puntos que son senaladosen las grafica siguientes:
i)Resultado para la curva de ajuste de grado 10:
ii)Resultado para la curva de ajuste de grado 15:
87
ii)Resultado para la curva de ajuste de grado 20:
A pesar de las buenas aproximaciones que realiza el algoritmo para lasprimeras iteraciones, se presentan serios problemas de acumulacion de erroresque afectan la precision de las ultimas iteraciones. Para la iteracion 30, i.eel polinomio de interpolacion de Lagrange, se han acomulado tantos erroresque se distorsiona considerablemente el resultado.
88
Capıtulo 8
Conclusiones
En este proyecto identificamos como el concepto de conjugacion brin-da herramientas de gran utilidad para el desarrollo de algoritmos de op-timizacion convexa , proyecciones ortogonales e interpolacıon. Los algorit-mos que explotan la propiedad de conjugacion, se caracterizan por un costooperacional aceptable y por bajos requerimientos de memoria. Esta ultimapropiedad, hace que este tipo de algoritmos sea de gran valor computacionalen problemas de muchas variables.
En nuestro deseo de extender el metodo de Gradiente Conjugado Lin-eal (GCL) a problemas convexos de Optimizacion No Restringida (ONR),tomamos como objeto de estudio el algoritmo Gradiente Conjugado no Lin-eal de Daniel (GCNLD, Algoritmo 3.1). Para dicho algoritmo probamosconveregencia global y lineal en problemas fuertemente convexos bajo lacondicion de busquedas lineales exactas. De igual manera se presentaronmodificaciones sobre el algoritmo de GCNLD necesarias para obtener for-mas de convergencia mas debiles en problemas convexos generales. Al quererimplementar computacionalmente el GCNLD, nos interesamos por estudiarcondiciones suficientes para conservar la convergencia del algoritmo al presen-tarse busquedas lineales inexactas. En este sentido, probamos que la segundaCondicion Fuerte de Wolfe es suficiente para conservar la convergencia linealdel GCNLD en problemas fuertemente convexos.
Debido a que los metodos de GCNL pueden generar direcciones de busque-da cercanas a la ortogonalidad con el gradiente de la funcion (que por logeneral son direcciones de busqueda ineficientes), se propusieron dos modifi-
89
caciones al GCNLD que buscaban contrarrestar este problema (Algoritmos5.1 y 5.2).
En el capıtulo de implementacion comparativa se observo como el de-sempeno de los algoritmos de GCNL es muy superior al metodo de DescensoMas Rapido. En general, los algoritmos de GCNL presentaron un compor-tamiento similiar en los distintos tipos de funciones tratadas, lo cual hacedificil destacar algunos como mas robustos que otros. Sin embargo, cabedestacar que algunas de las modificaciones realizadas al GCNLD lo hicieronmas robusto en ciertos tipos de problemas. Por ejemplo el Algoritmo 4.1,correspondiente a la modificacion del GCNLD para funciones convexas gen-erales, mostro un mejor desempeno en problemas no fuertemente convexos(Vease los resultados de la Funcion Tipo 1 en el capıtulo de ImplementacionComparativa).
Por ultimo en el capıtulo 7 se presento una interesante aplicacion de lapropiedad de conjugacion a un problema general de interpolacion. El algo-ritmo desarrollado (Algoritmo 7.1) es de facil implementacion y requiere unuso de memoria reducido, lo cual lo hace muy competitivo en este tipo deproblemas.
90
Bibliografıa
[1] M. H Hestenes, E. Stiefel Method of Conjugate Gradientsfor solving linear systems. Journal of Research of the Na-tional Bureau of Standards, Section B, 49 (1952), pp. 409-436.
[2] R. Fletcher, C. M. Reeves, Function minimization by con-jugate gradients. The Computer Journal, 7 (1964), pp. 149-154.
[3] James W. Daniel, The conjugate gradient method for lin-ear and nonlinear operator equations . SIAM J. NumericalAnalysis, Vol 4 No. 1, 1967, pp 10-25.
[4] James W. Daniel, A correction concerning the convergencerate for the Conjugate Gradient method. SIAM J. Numer-ical Analysis, Vol 7 No. 2, 1970, pp 277-....
[5] M. J. Powell, Some convergence properties of the conjugategradient method . Mathematical Programming, 11, 1976,pp 42-49.
[6] H.P. Crowder and P. Wolfe,, Linear convergence of the con-jugate gradient method IBM Journal of Research and De-velopment 16 (1972) 431-433.
[7] Zenon Fortuna, Some convergence properties of the Conju-gate Gradient method in Hilbert space. SIAM J. NumericalAnalysis, Vol 16 No. 3, 1979, pp 380-384.
91
[8] Arthur I. Cohen, Rate of convergence of several ConjugateGradient algorithms . SIAM J. Numerical Analysis, Vol 9No. 2, 1972, pp 248-259.
[9] David G. Luenberger, Yinyu Ye, Linear and nonlinear pro-gramming. International series in Operation Research andManagement Sciences. Springer,third edition, 2008
[10] Jorge Nocedal,Stephem W. Right, Numerical Optimiza-tion. Springer series in Operation Research an FinancialEngineering. Springer, 1990
[11] Yuhong Dai,Ya-Xiang Yuan Convergence properties ofnonlinear Conjugate Gradient methods. SIAM J. Numeri-cal Analysis, Vol 10 No. 2, 1999, pp 345-358.
[12] David F. Shanno Conjugate Gradient methods with inexactsearches. Mathematics of Operation Research, Vol 3 No. 3,1978, pp 244-256.
[13] J. L. Nazareth The Newton and Cauchy perspectives oncomputational nonlinear optimization. SIAM Review, Vol36 No 2, 1994, pp 215-225.
92