Вы находитесь на странице: 1из 14

07/06/2010

Pontificia Universidad Catlica de Chile Facultad de Ingeniera Departamento de Ingeniera Industrial y de Sistemas

Clase 15: Optimizacin No Lineal Irrestricta Mtodos Numricos


ICS 1113 OPTIMIZACIN seccin 3 Profesor : Mathias Alberto Klapp

Lo que hemos visto


Estudiamos una forma analtica de cmo resolver problemas no lineales irrestrictos y dedujimos las condiciones Necesarias y Suficientes que caracterizan a mnimos locales. Luego concluimos cmo determinar cul de los candidatos al ptimo es el mnimo global. Muchas veces este anlisis no es prctico en problemas grandes pues resolver sistemas de ecuaciones cmo f ( X * ) = 0 puede ser imposible en la prctica. Estudiaremos algunos mtodos numricos que ayudan en la resolucin de estos problemas.

07/06/2010

Qu es un mtodo numrico?
Un mtodo numrico es un procedimiento mediante el cual se obtiene, de manera aproximada, la solucin ..., realizando clculos aritmticos y lgicos simples1. La eficiencia en el clculo de dicha aproximacin depende, en parte, de la facilidad de implementacin del algoritmo y de las caractersticas especiales y limitaciones de los instrumentos de clculo (los computadores). En optimizacin se utilizan generalmente procedimiento iterativos que tienden a converger a la solucin: X K = f ( X K 1 ) Es decir: lim k X K = X *
1. MTODOS NUMRICOS PARA INGENIERA, Ricardo Seminario Vsquez

1. Mtodo del punto Intermedio


Supongamos que queremos encontrar puntos crticos de una funcin unidimensional. Queremos generar una secuencia de x1,x2,. que converja al punto. Supongamos que conocemos una cota inferior a y superior b del punto crtico. Nos conformamos con precisin absoluta de la solucin ptima. Comenzamos con x1=(a+b)/2. Evaluamos f(xk):
Si es positiva redefinimos b = xk Si es negativa redefinimos a = xk Si es nulo Hemos llegado a un candidato.

Luego hacemos xk+1=(a+b)/2 y k=k+1. Paramos cuando: |xk+1-xk|<

07/06/2010

1. Mtodo del punto Intermedio


Resolvamos: f ( X ) = x 2e x Consideramos que el punto crtico est entre -2 y 4. Buscamos una precisin de 0,005
a b f' 1 -2 4 8,15484549 -0,5 -2 1 -0,90979599 0,25 -0,5 1 0,96301906 -0,125 -0,5 0,25 -0,33093634 0,0625 -0,125 0,25 0,19959271 -0,03125 -0,125 0,0625 -0,09086562 0,015625 -0,03125 0,0625 0,04761317 -0,0078125 -0,03125 0,015625 -0,02325511 0,00390625 -0,0078125 0,015625 0,01176462 -0,001953125 -0,0078125 0,00390625 -0,00584794 0,000976563 -0,00195313 0,00390625 0,00293255 Xk f ABS(Xk-Xk-1) 2,71828183 -0,30326533 1,5 0,32100635 0,75 -0,11031211 0,375 0,0665309 0,1875 -0,03028854 0,09375 0,01587106 0,046875 -0,0077517 0,0234375 0,00392154 0,01171875 -0,00194931 0,005859375 0,00097752 0,002929688

El mtodo es bastante lento, una variable y slo puntos crticos. En resumen, es bastante sencillo..

2. Mtodo de Newton univariado


Este mtodo utiliza mayor informacin que el anterior optimizando polinomios de segundo orden tangentes a un punto. Funciona para problemas con una variable, con funcin objetivo dos veces diferenciable y no siempre converge al punto deseado. Supongamos que aproximamos la funcin objetivo en torno a un punto xk a travs de un polinomio de Taylor de segundo orden:
f ( x) f ( xk ) + f '( xk )( x xk ) + f ''( xk ) ( x xk ) 2 2

Derivando e igualando a cero buscamos puntos crticos de la aproximacin.


f '( x ) f '( xk ) + f ''( xk )( x xk ) = 0

07/06/2010

2. Mtodo de Newton univariado


Despejando x de esta ecuacin obtenemos el siguiente punto en la serie:
f '( x ) f '( xk ) + f ''( xk )( x xk ) = 0

xk +1 = xk -

f '( xk ) f ''( xk )

Slo busca candidatos al ptimo. Si se tiene o no solucin ptima requiere de una deduccin posterior.

2. Mtodo de Newton univariado


En el ejemplo
f ( X ) = x 2e x
0 1 2 3 4 5 6 7 8 9
1000 900 800 700 600 500 400 300 200 100 0 0 0,5 1 1,5 2 2,5 3 3,5 4 4,5

Xk 4 3,29411765 2,62408308 1,99804409 1,4268152 0,92497792 0,51226467 0,21377174 0,05062908 0,00354622

f'(Xk) 1310,3556 470,056227 167,350885 58,9104264 20,3664991 6,82286471 2,1479962 0,58603427 0,10921318 0,00713025

f''(xk) 1856,3371 701,540266 267,317029 103,129285 40,5838697 16,5317317 7,19613769 3,59215836 2,31959521 2,0213529

07/06/2010

2. Mtodo de Newton univariado


Una forma de ver como funciona el mtodo desde el punto de vista geomtrico.
f '( x ) f '( xk ) + f ''( xk )( x xk ) = 0

2. Mtodo de Newton univariado


Observaciones: 1. El mtodo puede no converger. Ejemplo:

2. El mtodo se detiene bajo un criterio convergencia: xk xk +1 f ( xk ) f ( xk +1 )


f ( xk )
xk

3. Cualquier parbola es resuelta en una iteracin. por qu?

07/06/2010

3. Mtodo del Gradiente


Este mtodo utiliza en concepto de gradiente, es decir, el hecho de que sea la direccin de mximo crecimiento de la funcin objetivo evaluada en un punto. Entonces: -(f(x)) representa la direccin de mximo decrecimiento.

Funciona para ms de una variable y garantiza convergencia a un mnimo local.

Si nos paramos en un punto X0 de la funcin objetivo y queremos descender. Por qu direccin no vamos? Y cuanto?

3. Mtodo del Gradiente


X0

f (X)
X1

Nos debemos ir en contra del gradiente (Para minimizar). Vamos a tratar de bajar lo ms posible en dicha direccin. Esto es:
Esta condicin asegura que descendamos.

Min : f ( X k f ( X k )d ) s.a. d 0

X k +1 = X k + f ( X k ) d *

07/06/2010

3. Mtodo del Gradiente


Recapitulando el mtodo se puede expresar como: Paso Inicial:
1. Tomar un punto inicial conocido X0.

Paso Iterativo:
1. Escoger como direccin de movimiento al gradiente de la funcin en Xk, con signo contrario. 2. Determinar el mnimo relativo de f(x) en esta direccin:
Resolver algebraicamente o mediante el mtodo de Newton.
Min : f ( X k f ( X k )d ) s.a. d 0

3. Construir Xk+1 = Xk -(f(XK)) d* y hacer k=k+1 4. Detenerse segn algn criterio de precisin.

3. Mtodo del Gradiente


Ejemplo: Consideremos la funcin cuadrtica simple en 2 dimensiones:

Min : f ( X ) =

Consideremos la siguiente instancia:

1 T X QX + cT X 2

1/ 2 0 0 Q= , c= 0 2 0
Esto es equivalente a:
2 Min : f ( X ) = x12 / 4 + x2

f ( X ) = [ x1 / 2 2 x2 ]
Partiendo desde el punto (2, 1).

07/06/2010

3. Mtodo del Gradiente


Paso Inicial:
Construimos X0 =[2,1] X1 sera [2,1] d*[1,2] = [2-d,1-2d], con (f(X0) =[1,2]

Paso Iterativo:
Minimizamos: Min f(X1(d)) s.a. d0. En este caso: (2 d ) 2 2
Min 4 + (1 2d ) s.a. d 0

Derivando la funcin objetivo e igualando a cero se obtiene:


17 d 5 = 0 2 17 f ''(d ) = >0 2 f '(d ) =

d* = 10/17

Mnimo Local!

Luego: X1 = [2-d,1-2d] = [1.412,0,176] .

3. Mtodo del Gradiente


Iteracin 2:
Tenemos X1 =[1.412,0.176] X2 sera [1.412,0.176] d*[0.706, - 0.353].

Paso Iterativo:
Minimizamos: Min f(X2(d)) s.a. d0. En este caso:
Min (1.412 0.706d ) 2 + (0.176 + 0.353d ) 2 s.a. d 0 4

Derivando la funcin objetivo e igualando a cero se obtiene:


f '(d ) = 0.706(1.412 0.706d ) + 2(0.176 + 0.353d )0.353 = 0 2 0.70602 f ''( d ) = + 2*0.3532 > 0 2

d* = 1.250

Luego: X2 = [0.529,0,265] .

07/06/2010

3. Mtodo del Gradiente


Y seguimos hasta converger.
i 0,000 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000 9,000 10,000 Xk 2,000 1,000 1,412 -0,176 0,529 0,265 0,374 -0,047 0,140 0,070 0,099 -0,012 0,037 0,019 0,026 -0,003 0,010 0,005 0,007 -0,001 0,003 0,001 grad(xk) 1,0000 2,0000 0,7059 -0,3529 0,2647 0,5294 0,1869 -0,0934 0,0701 0,1401 0,0495 -0,0247 0,0186 0,0371 0,0131 -0,0065 0,0049 0,0097 0,0035 -0,0017 0,0014 0,0023 d* 0,588 1,250 0,588 1,250 0,588 1,250 0,588 1,247 0,585 1,204 0,803 f(xk+1) 0,52941 0,14014 0,03710 0,00982 0,00260 0,00069 0,00018 0,00005 0,00001 0,00000 0,00000 f'(xk+1) f(xk+1) 0,00000 9,00000 0,00000 0,74740 0,00000 0,63062 0,00000 0,05237 0,00000 0,04419 0,00000 0,00367 0,00000 0,00309 0,00000 0,00026 0,00000 0,00021 0,00000 0,00002 0,00000 0,00001

El problema converge al punto (0,0) que es mnimo local. Notamos que los gradientes de iteraciones consecutivas son siempre perpendiculares.

3. Mtodo del Gradiente


Grficamente:
1,100

X0
0,900

0,700

0,500

X2
0,300

X4
0,100

-0,400

-0,100

0,100

0,600

1,100

1,600

2,100

X3
-0,300

X1

07/06/2010

3. Mtodo del Gradiente


Demostremos que los gradientes de iteraciones consecutivas son perpendiculares: Podemos expresar el problema de cada iteracin como:

M in : f ( X ( d )) s.a. d 0 con : X ( d ) = X k d f ( X K )
Derivando e igualando a cero:

( f ( X ( d )) ) = f ( X ( d * )) ( f ( X K ) ) = 0 d
QED

3. Mtodo del Gradiente


Velocidad de convergencia
Qu pasa si ahora partimos desde el punto (1,0)? Paso Inicial:
Construimos X0 =[1,0] y X1 sera [1,0]-d*[1/2,0]=[1-d/2,0]

Paso Iterativo:
Minimizamos: Min f(X1(d)) s.a. d0. En este caso: (1 d / 2)2
Min 4 s.a. d 0

Derivando la funcin objetivo e igualando a cero se obtiene:


f '(d ) = (1 d / 2 ) =0 4 d* = 2

Luego: X1 = [0,0] . Converge en una iteracin!

10

07/06/2010

3. Mtodo del Gradiente


Velocidad de convergencia
El mtodo tiene convergencia lineal. La velocidad de convergencia depende fuertemente del punto de partida. Si el punto de partida apunta con el gradiente en direccin al ptimo, se converge en una iteracin.

3. Mtodo del Gradiente


Velocidad de convergencia
Qu pasa si ahora optimizamos: partiendo desde (2,1)? Paso Inicial: Paso Iterativo:
Minimizamos: Min f(X1(d)) s.a. d0. En este caso:
Min(2 4d ) 2 +(1 2d ) 2 s.a. d 0

2 Min : f ( X ) = x12 + x2

Construimos X0 =[2,1] y X1 sera [2,1]-d*[4,2]=[2-4d,1-2d]

Derivando la funcin objetivo e igualando a cero se obtiene:


f '(d ) = 8 ( 2 4d ) 4 (1 2d ) = 0 d* = 1/ 2

Luego: X1 = [0,0] . Converge en una iteracin!

11

07/06/2010

3. Mtodo del Gradiente


Velocidad de convergencia
La velocidad de convergencia depende fuertemente de la forma de las curvas de nivel.

3. Mtodo de Newton Multivariado


Este mtodo es la generalizacin del mtodo univariado.

Paso Inicial:
1. Tomar un punto inicial conocido X0.

Paso Iterativo:
1. Escoger como direccin de descenso a vector hk con:

hk = H ( f ( X k )) 1 * f ( X k )T
Min : f ( X k hk d ) s.a. d 0

2. Determinar el mnimo relativo de f(x) en esta direccin:

3. Construir Xk+1 = Xk - hk d* y hacer k=k+1 4. Detenerse segn algn criterio de precisin.

12

07/06/2010

3. Mtodo de Newton Multivariado


Posee convergencia cuadrtica, si la matriz hessiana de la funcin objetivo es definida positiva. En caso contrario no se puede asegurar convergencia. Debemos invertir una matriz en cada iteracin (muy costoso). Cualquier problema cuadrtico es resuelto en una iteracin.

5. Comparacin entre Gradiente y Newton


Ejemplo (funcin banana de Rosenbrock):
f ( x1 , x 2 ) = 100( x 2 x12 ) 2 + (1 x1 ) 2
Esta funcin tiene en (1,1) un punto crtico y la matriz Hessiana es definida positiva ah (demostrarlo!) Veamos cmo es esta funcin y la geometra....

13

07/06/2010

Ruta de Gradiente, en negro. La ruta de Newton, en rojo, interpreta mucho mejor las curvas de nivel y avanza ms rpido.

Pontificia Universidad Catlica de Chile Facultad de Ingeniera Departamento de Ingeniera Industrial y de Sistemas

Clase 15: Optimizacin No Lineal Irrestricta Mtodos Numricos


ICS 1113 OPTIMIZACIN seccin 3 Profesor : Mathias Alberto Klapp

14

Вам также может понравиться