apuntes de claudio seebach

14
Pontificia Universidad Católica Escuela de Ingeniería Departamento de Ingeniería Industrial y de Sistemas Clase 9 Programaci´ on No Lineal ICS 1102 Optimizaci´ on Profesor : Claudio Seebach Apuntes de Clases Optimizaci´ on Claudio Seebach No Lineal 1 Programaci´ on No Lineal 1. Optimizaci´ on de una funci´ on sin restricciones (a) Condiciones Necesarias y Suficientes para extremos (b) M´ etodos de b´ usqueda de soluciones i. M´ etodo de Newton ii. M´ etodo del Gradiente o de Cauchy 2. Optimizaci´ on de una funci´ on con restricciones (a) Caso 1: Problema Unidimensional (b) Caso 2: Restricciones de igualdad i. Caso general con restricciones de igualdad ii. Interpretaci´ on de los multiplicadores de Lagrange 3. Restricciones de desigualdad Apuntes de Clases Optimizaci´ on Claudio Seebach No Lineal 2

Upload: rufino-antonio-varguillas-merino

Post on 19-Jun-2015

133 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Apuntes de Claudio Seebach

Pontificia Universidad CatólicaEscuela de IngenieríaDepartamento de Ingeniería Industrial y de Sistemas

Clase 9 • Programacion No Lineal

ICS 1102 • OptimizacionProfesor : Claudio Seebach

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 1

Programacion No Lineal

1. Optimizacion de una funcion sin restricciones

(a) Condiciones Necesarias y Suficientes para extremos

(b) Metodos de busqueda de soluciones

i. Metodo de Newtonii. Metodo del Gradiente o de Cauchy

2. Optimizacion de una funcion con restricciones

(a) Caso 1: Problema Unidimensional

(b) Caso 2: Restricciones de igualdad

i. Caso general con restricciones de igualdadii. Interpretacion de los multiplicadores de Lagrange

3. Restricciones de desigualdad

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 2

Page 2: Apuntes de Claudio Seebach

Optimizacion de una funcion sin restricciones

P ) min f (x)

x ! Rn

• f (x) funcion diferenciable

• !x = (x1, x2, ..., xn) es mınimo local si:f (!x) " f (!x + !h) #!h = (h1, h2, ..., hn) tal que |hj| es suficientementepequeno para todo j.

• !x es un mınimo local si el valor de f (!x) en cada punto del entorno ovecindad de !x no es menor a f (!x).

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 3

Condiciones Necesarias y suficientes paraextremos

Teorema 1 (Condicion necesaria de 1er orden). Si x ! Rn es unpunto mınimo local de f (x), entonces debe cumplirse que $f (x) =

%&0 ,

es decir,"f (x1, x2, ..., xn)

"xi= 0 #i = 1, ..., n.

• Esta condicion es necesaria, pero no suficiente para un mınimo

• Tambien la satisfacen otros puntos extremos:

– Maximos

– Puntos de inflexion

' Para que x sea un punto mınimo, debe cumplirse una segundacondicion necesaria.

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 4

Page 3: Apuntes de Claudio Seebach

Condiciones Necesarias para Extremos

Teorema 2 (Condicion necesaria de 2do orden) Si x ! Rn es un puntomınimo local de f (x), y f (x) es dos veces diferenciable, entonces debecumplirse que $f (x) =

%&0 (1er orden) y que la matriz Hessiana D2f (x)

sea semidefinida positiva (2do orden).

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 5

Condiciones Suficientes para Extremos

Teorema 3 (Condicion suficiente de 2do orden) Si x verifica: $f (x) =%&0 y D2f (x) es definida positiva, entonces x es un punto mınimo localestricto de f (x).

Mínimo local estricto

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 6

Page 4: Apuntes de Claudio Seebach

Derivacion Condiciones de Segundo Orden

• La expansion de Taylor de la funcion objetivo en torno al punto x es:

f (x) = f (x) + (x% x)$f (x) +(x% x)D2f (x)(x% x)T

2+ R2(x)

¿que condicion debe satisfacer x para ser punto mınimo local?

• En la vecindad de x, R2(x) es un orden de magnitud mas pequenoque el termino de 2do orden ' podemos ignorarlo para un analisis deoptimalidad local.

• En un punto mınimo, el gradiente de la funcion en el punto debe sernulo.

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 7

Derivacion Condiciones de Segundo Orden

• Para que f (x) sea menor a la funcion objetivo evaluada en cualquier xen la vecindad de x, debe suceder que

f (x) " f (x) = f (x) +(x% x)D2f (x)(x% x)T

2+ R2(x).

• Es decir:(x% x)D2f (x)(x% x)T

2=

(!x)D2f (x)(!x)T

2( 0

• Esto equivale a que la matriz D2f (x) sea semidefinida positiva:

!xD2f (x)!xT ( 0, #!x

• Si es definida positiva esto se cumple estrictamente:

!xD2f (x)!xT > 0, #!x

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 8

Page 5: Apuntes de Claudio Seebach

Ejemplo de Problema No Lineal Irrestricto

Ejemplo 1 Considere el problema

P ) min%2x1x2 % 2x2 + x21 + 2x2

2

s.a. (x1, x2) ! R2

0 0.5 1 1.5 2

0

0.5

11.5

2

0

2

4

0 0.5

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 9

Ejemplo de Problema No Lineal Irrestricto

• Las condiciones de primer orden son:

"f

"x1= %2x2 + 2x1 = 0

"f

"x2= %2x1 % 2 + 4x2 = 0

• $f (x) = 0 ) x1 = 1, x2 = 1.

• El Hessiano de la funcion objetivo en (1, 1):

H =

!

""#

"2f

"x21

"2f

"x1"x2

"2f

"x2"x1

"2f

"x22

$

%%&

(1,1)

=

'2 %2%2 4

(.

• H es definida positiva en todo D, y en particular en (1, 1)

• El punto corresponde a un mınimo unico global estricto de P )

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 10

Page 6: Apuntes de Claudio Seebach

Ejemplo de Problema No Lineal Irrestricto

Ejemplo 2 Considere la funcion f (x, y) = x3 + y

-4-2

02

4

-2

-1

01

2-10

0

10

-10

0

10

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 11

Ejemplo de Problema No Lineal Irrestricto

• La matriz Hessiana esta dada por

D2f (x, y) =

'6x 00 0

(

• Observamos que !1 = 6x y que !2 = 0.

• ¿Existe alguna region en que f (x, y) sea positiva definida? No.

• ¿Existe alguna region en que f (x, y) sea semidefinida positiva? Sı, #x ( 0

• ¿Existe alguna region en que f (x, y) sea semidefinida negativa? Sı, #x " 0

' No se puede garantizar la existencia de un mınimo o maximo lo-cal.

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 12

Page 7: Apuntes de Claudio Seebach

Ejemplo de Problema No Lineal Irrestricto

Ejemplo 3 Considere el problema

P ) min x4

-3 -2 -1 1 2 3

2

4

6

8

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 13

Ejemplo de Problema No Lineal Irrestricto

• Tenemos que:

f *(x) = 4x3

f **(x) = 12x2

• En x = 0, f *(x) = 0 y f **(x) = 0.

• El punto cumple con la condicion necesaria de 2+ orden.

• De esta informacion no se podrıa inferir nada mas, pero:f **(x) = 12x2 ( 0 #x ' f (x) es convexa

• Ademas es diferenciable, entonces x = 0 es un punto mınimo local de P ).

• f (x) ( f (x) + f *(x)(x% x) #x ! R,

• x = 0 : f (x) ( f (0) + f *(0)(x% 0) ' f (0) " f (x) #x ! R.

• Ası, x = 0 es un punto mınimo global de P ), unico, pues #x ,= 0 ' x4 > 0.

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 14

Page 8: Apuntes de Claudio Seebach

Metodos de Resolucion de Problemas No Lineales

• Hay problemas donde resolver $f (x) = 0 es muy difıcil

• Alternativa: metodos numericos y/o iterativos

– Busqueda unidireccional

– Metodo de Newton

– Metodo del Gradiente o de Cauchy

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 15

Metodo de Newton

• Metodo para funciones dos veces diferenciables

• Puede usarse para funciones de multiples variables

• P ) de una sola variable: min f (x) con f *(x) y f **(x) conocidas.

• Sea xk un punto factible

• Se puede aproximar f (x) entorno a xk, a traves de una expansion deTaylor de 2do grado:

qk(x) = f (xk) + f *(xk)(x% xk) +1

2f **(xk)(x% xk)

2

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 16

Page 9: Apuntes de Claudio Seebach

Aproximacion de Segundo Orden

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 17

Metodo de Newton

• q(x) es una buena aproximacion de segundo grado para f (x) ya que:

1. q(xk) = f (xk)

2. q*(xk) = f *(xk)

3. q**(xk) = f **(xk)

• Si f **(xk) > 0 ' q(x) es convexa, y si f **(xk) < 0 ' q(x) es concava.

• Resolvemos min q(x), en vez de min f (x). Condicion de 1er orden:

dqk

dx= f *(xk) + f **(xk)(x% xk) = 0

• Despejando, y definiendo un nuevo xk+1 nos queda:

xk+1 = xk %f *(xk)

f **(xk).

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 18

Page 10: Apuntes de Claudio Seebach

Esquema del Metodo de Newton

1. Comenzar con un x0 cualquiera

2. Minimizar qk(x) y obtener un nuevo xk+1 usando:

xk+1 = xk %f *(xk)

f **(xk)

3. Verificar si las iteraciones convergen segun algun criterio:

• Por ejemplo si (xk % xk+1) & 0

• o si (f (xk)% f (xk+1)) & 0.

o volver al punto 2. con xk+1

4. Finalizar con xk como solucion optima y f (xk) valor optimo

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 19

Interpretacion del Metodo de Newton

• Condicion de 1er orden para un extremos de f (x)

$f (x) = 0 ' el metodo de Newton busca raıces def *(x)

• Graficamente, el metodo consiste en que en el espacio de la derivada def (x) se trace una recta que pase por el punto (xk, f *(xk)) y que tengapendiente f **(xk), es decir

y % f *(xk) = (x% xk)f”(xk).

• Luego, el punto de interseccion de esta recta con el eje x determinaraxk+1, es decir, igualando y = 0.

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 20

Page 11: Apuntes de Claudio Seebach

Interpretacion del Metodo de Newton

f’(x)

xxkxk+1xk+2

y = f *(x) y % f *(xk) = (x% xk)f”(xk).

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 21

Observaciones al Metodo de Newton

• El metodo busca puntos extremos sean estos mınimos o maximos.

• Para distinguir hay que mirar el signo de la 2a derivada en cada punto:

– Debera ser positivo al buscar mınimos y negativo al buscar maximos.

• Este metodo no garantiza convergencia:

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 22

Page 12: Apuntes de Claudio Seebach

Ejemplo de Metodo de Newton

Ejemplo 4 Considere el problema min 2x3 % 21x2 + 60x% 7.

-1 1 2 3 4 5 6

-10

10

20

30

40

50

60

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 23

Ejemplo de Metodo de Newton

Ejemplo 4 Considere el problema min 2x3 % 21x2 + 60x% 7.Podemos ver que la primera y segunda derivada corresponden a

f *(x) = 6x2 % 42x + 60

f **(x) = 12x% 42

respectivamente. Por lo tanto, si x > 3, 5 ' f **(x) > 0,luego, f (x) es estrictamenteconvexa. Y si x < 3, 5 ' f **(x) < 0, por lo que f (x) es estrictamente concava.Por lo tanto, x = 3, 5 corresponde a un punto de inflexion. Aplicando el metodo deNewton, con x0 = 4 (cercano al punto crıtico x = 3, 5), sucede lo siguiente:

xk+1 = xk %6x2

k % 42xk + 60

12xk % 42

=12x2

k % 42xk % 6x2k + 42xk % 60

6(2xk % 7)

=6x2

k % 60

6(2xk % 7)

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 24

Page 13: Apuntes de Claudio Seebach

Ejemplo de Metodo de Newton

Por lo tanto,

xk+1 =x2

k % 10

(2xk % 7)

Iterando vemos que el metodo converge a xk = 5,

k 0 1 2 3 4 5xk 4 6 7, 2 5, 65 5, 099 ! 5

que corresponde a un mınimo pues f”(x) en el punto es positiva. Ahora, cambiandoel punto inicial a x0 = 3 y volvemos a aplicar el metodo, vemos que este converge axk = 2,

k 0 1 2 3 4 5xk 3 1 1, 8 1, 988 1, 999 ! 2

que corresponde a un maximo pues f”(x) en el punto es negativa.

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 25

Ejemplo de Metodo de Newton

Ejemplo 5 Considere el problema min x3

4 %7x2

8 + ln x sujeto a x > 0.

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 26

Page 14: Apuntes de Claudio Seebach

Ejemplo de Metodo de Newton

Ejemplo 5 Considere el problema min x3

4 %7x2

8 + ln x sujeto a x > 0.Derivando encontramos

f *(x) =3

4x2 % 7

4x +

1

x

f **(x) =3

2x% 7

4% 1

x2

' xk+1 = xk %(34x

2 % 74x + 1

x)

(32x%

74 %

1x2)

. Es facil ver que 34x

2 % 74x + 1

x = 0 puede escribirse

como (x% 2)(x% 1)(3x + 2) = 0, x ,= 0 expresion que muestra claramente las raıcesde la funcion objetivo. Iterando con el metodo desde dos puntos iniciales diferentesobtenemos los siguientes resultados:

x0 = 0, 5 & 0, 7625 & 0, 9401 & 0, 9954

x0 = 3 & 2, 3052 & 2, 0512 & 2, 0021.

El primero de estos corresponde a un maximo local mientras el segundo a un mınimolocal.

Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 27