Sunteți pe pagina 1din 14

Mtodos Clsicos de Optimizacin para Problemas No-Lineales sin Restricciones

Dr. Gonzalo Hernndez Oliva


UChile - Departamento de Ingeniera Matemtica 07 de Mayo 2006

Abstract En este apunte veremos una breve descripcin de la teora y mtodos que se utilizan para enfrentar problemas de optimizacin no-lineales sin restrcciones. La no presencia de restricciones puede ser vista en un comienzo como una grave limitacin, sin embargo, la razn del porque dedicamos tiempo a resolver este tipo de problemas desde el punto de vista de la optimizacin, es que existe toda una metodologa que permite tratar problemas de optimizacin no-lineales con restriccciones como problemas de optimizacin no-lineales sin restricciones: Los Mtodos de Penalizacin.

Introduccin

Nos interesa resolver el problema siguiente: Dada f : Rn R, campo escalar 2 veces diferenciable con continuidad, encontrar x Rn , solucin de:
xRn

min f (x)

(POSR)

Encontrar una solucin de este problema corresponde a encontrar un punto x que satisface: f (x) f (x) x Rn Este punto x se denomina mnimo global de f sobre Rn . Desde un punto de vista prctico, encontrar el mnimo o mximo global de una funcin no-lineal cualquiera es un problema abierto en matemticas. Los mtodos existentes slo obtienen mnimo locales.

Denicin 0: Un punto x es un mnimo local de f en Rn si existe r > 0 talque: f (x) f (x) para kx xk r

El mnimo global de f ser el mnimo local de menor valor de la funcin objetivo.

Figura 1. Mnimos locales de una funcin de 2 variables

Desde un punto de vista terico, las condiciones ms generales para que x sea mnimo local de f son las siguientes: Teorema 1: Un punto x es mnimo local de f si se verican las siguientes condiciones: 1) x es un punto estacionario de f f (x) = 0
2 f (x) x2 1 2 f (x) x1 x2

f (x) x1 f (x) x2

. . .

f (x) xn

2) La matriz hessiana 2 f (x) de f en x es denida positiva: 2 f (x) =


2 f (x) x1 x2 2 f (x) x2 2

0 0 . . . 0

.. .

2 f (x) x1 xn 2 f (x) x2 xn

. . .
2 f (x) x1 xn

. . .

. . .
2 f (x) x2 n

2 f (x) x2 xn

Dem: Se demuestra mediante la aproximacin de Taylor de 2 Orden de la funcin f en torno a x. Entonces, para obtener el mnimo local se debe resolver un sistema de ecuaciones no lineales, en general complejo. Surge de esta forma la necesidad de aplicar mtodos numricos. Consideraremos mtodos numricos llamados de descenso, que pueden ser clasicados en 3 grupos: Primer Orden Mtodos Descenso Segundo Orden Cuasi-Newton Mtodo del Gradiente y Variedades Mtodo del Gradiente Conjugado Mtodo de Fletcher-Reeves Mtodos de Newton Variedades

DFP: Davidon - Fletcher - Powell BFGS

Todos los mtodos numricos que se utilizan en la actualidad reducen este problema a una secuencia de problemas unidimensionales.

Mtodo de Gradiente o de Cauchy

Sea f : Rn R diferenciable. La derivada direccional de f en la direccin d Rn est dada por: Df (x; d) = f (x)t d Para obtener la direccin de mximo descenso de la funcin f en un punto x Rn tal que f (x) 6= 0, se debe resolver el problema:
dRn

min f (x)t d kdk2 = 1

La solucin de este problema es: d= f (x) kf (x)k

Y por lo tanto la direccin de mximo descenso de la funcin f es: d = f (x) 3

Denicin 2: El vector d Rn es una direccin de descenso de f , funcin diferenciable, en el punto x Rn si: f (x)t d < 0 (f (x))t d > 0 A travs del mtodo del gradiente, se busca denir una sucesin de puntos que tenga la direccin de mximo descenso de la funcin f . Denicin 3: Las curvas de nivel de f estn denidas por: (f, ) = {x Rn tal que: f (x) = } Lema 4: Sea d Rn una direccin de descenso de la funcin f en el punto x. Se dene la funcin unidimensional: hx,d : R+ R hx,d () = f (x + d) f (x) para x, d Rn jos Luego, si minimiza hx,d sobre R+ , entonces: hx,d () < hx,d ( = 0) = 0 f (x + d) < f (x) donde verica: h0 () = 0 f (x + d)t d = 0 x,d Dem: Directa de las deniciones hechas para hx,d .
hx,d(0)

hx,d( ) = f( x + d ) - f(x) para d direccin de descenso

hx,d()

Figura 2. Funcin Unidimensional hx,d

De acuerdo a los resultados anteriores, se dene la iteracin cannica del Mtodo del Gradiente o Mximo Descenso, segn:

METODO DEL GRADIENTE O MAXIMO DESCENSO Etapa 0: Etapa 1: Seleccionar un punto inicial x0 Rn k=0 Calcular f (xk ) Si kf (xk )k = 0 = ST OP Si no, seguir a Etapa 2. k = f (xk ) d Calcular: k solucin del problema uni-dimensional: minhxk ,dk () = f (xk + dk ) f (xk )
0

Etapa 2:

xk+1 = xk + k dk k = k + 1 y volver a Etapa 1.

Curvas de Nivel de f

f(x2) f(xo) do d1 f(x1)

Figura 3. Esquema iteracin del mtodo del Gradiente

Ejemplo: Se quiere resolver el problema de optimizacin bi-dimensional, ver ref. [1]:


(x1 ,x2 )R2

min

(x1 2)4 + (x1 2x2 )2

En la siguiente tabla se muestran 7 iteraciones del mtodo del gradiente a partir de x0 = (0.00, 3.00) f (xk ) k xk f (xk ) f (xk ) k 0 (0.00, 3.00) 52.00 (44.00, 24.00) 50.12 0.062 1 (2.70, 1.51) 0.34 (0.73, 1.28) 1.47 0.24 2 (2.52, 1.20) 0.09 (0.80, 0.48) 0.93 0.11 3 (2.43, 1.25) 0.04 (0.18, 0.28) 0.33 0.31 4 (2.37, 1.16) 0.02 (0.30, 0.20) 0.36 0.12 5 (2.33, 1.18) 0.01 (0.08, 0.12) 0.14 0.36 6 (2.30, 1.14) 0.009 (0.15, 0.08) 0.17 0.13 7 (2.28, 1.15) 0.007 (0.05, 0.08) 0.09 5

Observaciones: 1) En cada etapa k , llamado el paso del mtodo en la etapa (k + 1)-sima, debe vericar: f (xk + dk ) dk = 0 que en general ser una ecuacin difcil de resolver exactamente en . Por esta razn se utilizan pasos k que sern aproximaciones del paso exacto, determinados por algn mtodo de eleccin de paso, como se ver ms adelante. 2) Dadas las condiciones de optimalidad sobre f (i.e. existencia nica de la solucin del problema (P)) se tiene que el mtodo posee una convergencia global, i.e. para cualquier punto inicial la iteracin del mtodo converge, a la solucin de (POSR). 3) La rapidez de convergencia del mtodo es lineal: Si xk es la sucesin de puntos determinados por el mtodo del gradiente, se tiene que (0, 1) tal que: k k+1 x x x x 4) Dos direcciones consecutivas generadas por el mtodo del gradiente son ortogonales, ver gura 3. En efecto: supongamos que estamos en la iteracin k + 1 del mtodo; la determinacin del paso exacto k obtiene el hecho anterior, pues: k = arg minf (xk + dk )
0

donde x es un punto estacionario de f : f (x) = 0. Este punto estacionario depende el punto inicial utilizado.

5) Se llama mtodo del gradiente o de Cauchy, o de mximo descenso, a la iteracin del mtodo anterior con la eleccin del paso k exacto.

Ahora bien, si k = 0, signica que estamos en el ptimo en xk y el mtodo naliza. Si k > 0, k debe vericar la ecuacin: df (xk + dk ) = 0 f (xk +k dk )t dk = 0 f (xk )t dk = (dk+1 )t dk = 0 d =k

6) Existen otros mtodos de gradiente que no consideran la eleccin del paso exacto, sino que un paso elegido segn reglas que dan una buena aproximacin del paso exacto; o que consideran un paso constante para todas las iteraciones. Luego, en general, se considera un algoritmo del gradiente con eleccin de paso variable segn algn criterio: 0 x Rn dk = f (xk ) , k 0 xk+1 = xk + k dk 6

Mtodos de Direcciones Conjugadas

Por tener velocidad lineal, la convergencia del mtodo del gradiente es lenta, an en el caso de funciones cuadrticas. Luego, se busca un mtodo de convergencia ms rpida. Una manera posible de acelerar esta convergencia es utilizar la nocin de direcciones conjugadas u ortogonales.

3.1

Mtodo del Gradiente Conjugado

Sea (PC) el problema de optimizacin cuadrtico denido por: 1 min q(x) = xt Qx bt x 2 donde Q es una matriz denida positiva
xRn

(PC)

Denicin 5: Un conjunto de direcciones {d1 , ..., dk } de Rn , no nulas; k n se dir Qconjugado 2 a 2 si: 1 si i = j i t j (d ) Qd = ij i, j = 1, ..., k donde ij = 0 en otro caso Por ejemplo, si Q = I, las direcciones son ortonormales. Proposicin 6: Si {d1 , ..., dk } es un conjunto Q-conjugado, entonces {d1 , ..., dk } es de rango mximo, i.e. los vectores di son linealmente independientes. Dem: En efecto, sean i R; i = 1, ..., k, tal que:
k X i=1

i di = 0

premultiplicando por (dj )t Q 6= 0, se tiene que:


k X i=1

i (dj )t Qdi =

k X i=1

i ij = j

j = 1, .., k

Luego j = 0 j = 1, ..., k. El mtodo de direcciones conjugadas para (PC), suponiendo que no se tienen las direcciones conjugadas ya calculadas, es el siguiente:

METODO DEL GRADIENTE CONJUGADO Etapa 0: Seleccionar un punto inicial x0 Rn k=0 g 0 = q(x0 ) = Qx0 b d0 = q(x0 ) (g k )t dk (dk )t Qdk k+1 = xk + k dk x Si xk+1 xk 0 = ST OP Si no, seguir a Etapa 2. k = g k+1 = q(xk+1 ) = Qxk+1 b (g k+1 )t Qdk k = (dk )t Qdk k+1 = g k+1 + k dk d k = k + 1 y volver a Etapa 1. Teorema 7: El mtodo del gradiente conjugado es un mtodo de direcciones conjugadas. Si no termina en xk , entonces: i) hg 0 , ..., g k i = hg 0 , Qg 0 , ..., Qk g 0 i ii) hd0 , ..., dk i = hg 0 , Qg 0 , ..., Qk g 0 i iii) (dk )t Qdi = 0 iv) k = i = 0, ..., k 1 (g k )t g k kg k k2 = k 2 (dk )t Qdk kd kQ (g k+1 )t g k+1 kg k+1 k2 = (g k )t g k kg k k2

Etapa 1:

Etapa 2:

v) k =

Dem: La demostracin se deja propuesta. Se puede ver en refs. [1, 2] Observacin: Como las direcciones conjugadas son Q-ortogonales entre si, el mtodo del gradiente conjugado converje en a lo ms n iteraciones.

3.2

Mtodo de Fletcher-Reeves

Corresponde a la versin del mtodo del gradiente conjugado en el caso de una funcin f general. La iteracin se dene de la siguiente manera:

METODO DE FLETCHER-REEVES Etapa 0: Seleccionar un punto inicial x0 Rn k=0 d0 = f (x0 ) Calcular k solucin del problema unidimensional: k = arg minf (xk + dk )
0

Etapa 1:

Etapa 2:

d xk+1= xk + k k Si xk+1 xk 0 = ST OP Si no, seguir a Etapa 2. Calcular f (xk+1 ) f (xk+1 )t f (xk+1 ) k = f (xk )t f (xk ) k+1 = f (xk+1 ) + k dk d k = k + 1 y volver a Etapa 1.

Ejemplo: Volviendo al problema de optimizacin bi-dimensional anterior, ver ref. [1]:


(x1 ,x2 )R2

min

(x1 2)4 + (x1 2x2 )2

En la siguiente tabla se muestran 3 iteraciones del mtodo de Fletcher-Reeves a partir de x0 = (0.00, 3.00) f (xk ) k xk f (xk ) f (xk ) k 0 (0.00, 3.00) 52.00 (44.00, 24.00) 50.12 0.062 1 (2.54, 1.21) 0.10 (0.87, 0.48) 0.99 0.11 2 (2.25, 1.10) 0.008 (0.16, 0.20) 0.32 0.10 3 (2.19, 1.09) 0.0017 (0.05, 0.04) 0.06 0.11

Mtodos Aproximados de Eleccin de Paso

Su utilizan para lograr una buena eleccin del paso en cada iteracin de un mtodo de optimizacin como alternativa a la determinacin del paso exacto. Sea k la iteracin de un mtodo de optimizacin cualquiera y se quiere determinar un paso para la sucesin minimizante: xk+1 = xk + tk dk Donde tk 0, dk es una direccin de descenso en xk de la funcin objetivo f , i.e: (f (xk ))t dk > 0 La idea del algoritmo para determinacin del paso tk , ser calcular un intervalo [tg , td ], 0 tg td en el cual se pueda escoger tk [tg , td ] y se asegure una buena eleccin en todo el intervalo.

ALGORITMO GENERAL DE CLCULO DE PASO Etapa 0: Etapa 1: Inicialmente tg = td = 0. Sea t > 0 un paso tentativo inicial. Analizamos t: - Si el criterio (a) se satisface: tk = t - Si el criterio (b) se satisface entonces el paso t es muy grande. Se dene td = t, y se sigue a la etapa 2. - Si criterio (c) se satisface entonces el paso t es muy pequeo. Se dene tg = t, y se sigue a la etapa 2. Nuevo paso tentativo: - Si td = 0, se dene un nuevo t, mayor que tg : t = 10tg Y se vuelve a la etapa 1. - Si td 6= 0, se dene un nuevo t en el intervalo (tg , td ). La eleccin ms utilizada es: tg + td t= 2 Y se vuelve a la etapa 1.

Etapa 2:

La Regla de Goldstein determina los criterios (a), (b) y (c) en el algoritmo general de determinacin de paso. Sea: h(t) = f (xk + tdk ) f (xk ) Para t 0 se tiene que: h0 (t) = f (xk + tdk )t dk h(t) 0
td

h0 (0) = f (xk )t dk < 0

h(0)

tg

t h'(0)m1

t h'(0) h(t)

t h'(0)m2

Figura 4. Regla de Eleccin de Paso de Goldstein 10

REGLA DE GOLDSTEIN Sean 0 < m1 < m2 < 1. Los criterios (a),(b) y (c) segn esta regla son: Criterio (a): Criterio (b): Criterio (c): m2 h0 (0)t h(t) m1 h0 (0)t h(t) > m1 h0 (0)t h(t) < m2 h0 (0)t

En la prctica, se prueba con distintos valores para m1 y m2 .

Mtodos de 2o Orden: Newton - Kantorovich

El mtodo de Newton es un mtodo numrico que se utiliza para encontrar ceros de una funcin. Sea F : Rn Rn un campo vectorial de clase 1 (Rn ). Un punto x Rn ser un cero de F si: F (x) = 0 El mtodo de Newton para este problema es el siguiente: METODO DE NEWTON-KANTOROVICH Etapa 0: Etapa 1: Seleccionar un punto inicial x0 Rn k=0 Calcular F k ) (x Si F (xk ) 0 = ST OP 1 Si no, calcular F (xk ), F (xk ) y seguir a Etapa 2. Calcular: 1 xk+1 = xk F (xk ) F (xk ) k = k + 1 y volver a Etapa 1.

Etapa 2:

Este mtodo se puede aplicar a la bsqueda de los ceros del gradiente de una funcin f : Rn R, sucientemente regular. Es decir, se buscan los puntos estacionarios de f . METODO DE OPTIMIZACION DE NEWTON Etapa 0: Etapa 1: Seleccionar un punto inicial x0 Rn k=0 Calcular f k ) (x Si f (xk ) 0 = ST OP 1 Si no, calcular 2 f (xk ), 2 f (xk ) y seguir a Etapa 2. Calcular: 1 f (xk ) xk+1 = xk 2 f (xk ) k = k + 1 y volver a Etapa 1. 11

Etapa 2:

Ejemplo: En la tabla siguiente se aplica el mtodo de Newton al problema de optimizacin bi-dimensional a partir de x0 = (0.00, 3.00), ver ref. [1]:
(x1 ,x2 )R2

min

(x1 2)4 + (x1 2x2 )2 1 2 f (xk ) f (xk ) (0.67, 2.67) (0.44, 0.23)

k 0

xk (0.00, 3.00)

f (xk ) 52.00

f (xk ) (44.00, 24.00)

(0.67, 0.33)

3.13

(9.39, 0.04) (2.84, 0.04) (0.80, 0.04) (0.22, 0.04) (0.07, 0.00)

2 k f (x ) 50.0 4.0 4.0 8.0

(1.11, 0.56)

0.63

23.23 4.0 4.0 8.0 11.5 4.0 4.0 8.0 6.18 4.0 4.0 8.0 3.83 4.0 4.0 8.0 2.81 4.0 4.0 8.0

(1.41, 0.70)

0.12

(1.61, 0.80)

0.02

(0.30, 0.14)

(0.20, 0.10)

(0.13, 0.07)

(1.74, 0.87)

0.005

(0.09, 0.04)

Observaciones: 1) La direccin del Mtodo de Newton: h i1 f (xk ) dk = 2 f (xk )

es una direccin de descenso si y slo si: 2 f (xk ) es denida positiva, es decir: (f (xk ))dk > 0 2 f (xk ) es denida positiva (1)

2) El mtodo de Newton en cada iteracin, considera una aproximacin cuadrtica de la funcin objetivo, y dene el nuevo punto de la sucesin minimizante como el ptimo de la aproximacin cuadrtica de la funcin objetivo. Cerca de un ptimo local de f , la aproximacin exacta. 3) El punto inicial x0 no puede ser arbitrario, ya que para que el mtodo converja, la direccin dk debe ser de descenso. Esta corresponde a la principal desventaja 12

del mtodo: su convergencia local. Sin embargo, su rapidez de convergencia es su mayor ventaja, posee convergencia de velocidad cuadrtica, es decir: kxk+1 xk kxk xk2 para < 1

4) El principal problema del Mtodo de Newton es que la matriz 2 f (xk ) debe ser denida positiva. Si se parte de un punto x0 sucientemente cercano a un mnimo local, esto se verica. En general se desconoce toda informacin acerca de la solucin ptima del problema, y por lo tanto no se tiene un buen criterio para escoger x0 . 5) Esto sugiere, que un buen mtodo de minimizacin es una combinacin del Mtodo del Gradiente y del Mtodo de Newton: Inicialmente se aplica el Mtodo del Gradiente que tiene convergencia global de velocidad lineal y luego se aplica el Mtodo del Newton que tiene convergencia local de velocidad cuadrtica.

Mtodos Cuasi-Newton

En cada iteracin del mtodo de Newton es necesario calcular la inversa de la matriz hessiana de f en xk de manera exacta, lo que es costoso computacionalmente, O(n3 ) operaciones aritmticas. Por esto razon, se propone un mtodo iterativo de la forma: xk+1 = xk tk S k g k g k = f (xk ) (2)

1 donde S k es una matriz que aproxima a 2 f (xk ) y tk 0 minimiza f sobre k g k para 0 (paso exacto o aproximado). x Se presentarn 2 mtodos que permiten construir iterativamente la matriz S k de manera que se veriquen las siguientes condiciones: i) Denida Positiva: Si S k es denida positiva = S k+1 tambin lo es 1 ii) Aproximacin de la matriz hessiana inversa de f : xk x , S k 2 f (x) para k . La forma de construir estos mtodos asegura: Convergencia Global Rapidez de convergencia mayor que lineal Convergencia a un mnimo local 13

METODO DFP (Davidon-Fletcher-Powell) Etapa 0: Seleccionar un punto inicial x0 Rn Inicializar S0 = Inn k=0 Calcular g k = f (xk ) Si g k 0 = ST OP Si no, calcular xk+1 = xk tk S k g k donde tk 0 se escoge segn regla de Goldstein y seguir a Etapa 2. Calcular: pk = xk+1 xk q k = g k+1 g k pk (pk )t S k q k (q k )t S k S k+1 = S k + k t k (p ) q (q k )t S k q k k = k + 1 y volver a Etapa 1.

Etapa 1:

Etapa 2:

METODO BFGS (Broyden-Fletcher-Goldfarb-Shanno) Etapa 0: Seleccionar un punto inicial x0 Rn Inicializar S0 = Inn k=0 Calcular g k = f (xk ) Si g k 0 = ST OP Si no, calcular xk+1 = xk tk S k g k donde tk 0 se escoge segn regla de Goldstein y seguir a Etapa 2. Calcular: pk = xk+1 xk q k = g k+1 g k k k t t k t k k pk (pk )t p (q ) S + S k q k (pk )t k+1 = S k + 1 + (q ) S q S (pk )t q k (pk )t q k (pk )t q k k = k + 1 y volver a Etapa 1.

Etapa 1:

Etapa 2:

References
[1] M. Bazaraa, H. D. Sherali and C. M. Shetty, Nonlinear Programming: Theory and Algorithms, Second Edition, John Wiley and Sons, 1993. [2] D. G. Luenberger, Linear and Nonlinear Programming, Second Edition, John Wiley and Sons, 1984.

14

S-ar putea să vă placă și