Pontificia Universidad Católica Escuela de Ingeniería Departamento de Ingeniería Industrial y de Sistemas Clase 9 Programación No Lineal ICS 110 Optimización Profesor : Claudio Seebach Apuntes de Clases Optimización Claudio Seebach No Lineal 1 Programación No Lineal 1. Optimización de una función sin restricciones (a) Condiciones Necesarias y Suficientes para extremos (b) Métodos de búsqueda de soluciones i. Método de Newton ii. Método del Gradiente o de Cauchy. Optimización de una función con restricciones (a) Caso 1: Problema Unidimensional (b) Caso : Restricciones de igualdad i. Caso general con restricciones de igualdad ii. Interpretación de los multiplicadores de Lagrange 3. Restricciones de desigualdad Apuntes de Clases Optimización Claudio Seebach No Lineal
Optimización de una función sin restricciones f(x) función diferenciable P ) min f(x) x R n x = (x 1, x,..., x n ) es mínimo local si: f( x) f( x + h) h = (h 1, h,..., h n ) tal que h j es suficientemente pequeño para todo j. x es un mínimo local si el valor de f( x) en cada punto del entorno o vecindad de x no es menor a f( x). Apuntes de Clases Optimización Claudio Seebach No Lineal 3 Condiciones Necesarias y suficientes para extremos Teorema 1 (Condición necesaria de 1 er orden). Si x R n es un punto mínimo local de f(x), entonces debe cumplirse que f( x) = 0, es decir, f( x 1, x,..., x n ) x i = 0 i = 1,..., n. Esta condición es necesaria, pero no suficiente para un mínimo También la satisfacen otros puntos extremos: Máximos Puntos de inflexión Para que x sea un punto mínimo, debe cumplirse una segunda condición necesaria. Apuntes de Clases Optimización Claudio Seebach No Lineal 4
Condiciones Necesarias para Extremos Teorema (Condición necesaria de do orden) Si x R n es un punto mínimo local de f(x), y f(x) es dos veces diferenciable, entonces debe cumplirse que f( x) = 0 (1 er orden) y que la matriz Hessiana D f( x) sea semidefinida positiva ( do orden). Apuntes de Clases Optimización Claudio Seebach No Lineal 5 Condiciones Suficientes para Extremos Teorema 3 (Condición suficiente de do orden) Si x verifica: f( x) = 0 y D f( x) es definida positiva, entonces x es un punto mínimo local estricto de f( x). Mínimo local estricto Apuntes de Clases Optimización Claudio Seebach No Lineal 6
Derivación Condiciones de Segundo Orden La expansión de Taylor de la función objetivo en torno al punto x es: f(x) = f( x) + (x x) f( x) + (x x)d f( x)(x x) T + R ( x) qué condición debe satisfacer x para ser punto mínimo local? En la vecindad de x, R ( x) es un orden de magnitud más pequeño que el término de do orden podemos ignorarlo para un análisis de optimalidad local. En un punto mínimo, el gradiente de la función en el punto debe ser nulo. Apuntes de Clases Optimización Claudio Seebach No Lineal 7 Derivación Condiciones de Segundo Orden Para que f( x) sea menor a la función objetivo evaluada en cualquier x en la vecindad de x, debe suceder que f( x) f(x) = f( x) + (x x)d f( x)(x x) T + R (x). Es decir: (x x)d f( x)(x x) T = ( x)d f( x)( x) T 0 Esto equivale a que la matriz D f( x) sea semidefinida positiva: xd f( x) x T 0, x Si es definida positiva esto se cumple estrictamente: xd f( x) x T > 0, x Apuntes de Clases Optimización Claudio Seebach No Lineal 8
Ejemplo de Problema No Lineal Irrestricto Ejemplo 1 Considere el problema P ) min x 1 x x + x 1 + x s.a. (x 1, x ) R 4 0 0.5 1 1.5 0 0 0.5 1 1.5 Apuntes de Clases Optimización Claudio Seebach No Lineal 9 Ejemplo de Problema No Lineal Irrestricto Las condiciones de primer orden son: f x 1 = x + x 1 = 0 f x = x 1 + 4x = 0 f(x) = 0 x 1 = 1, x = 1. El Hessiano de la función objetivo en (1, 1): f f H = x 1 x 1 x f f x x 1 x (1,1) = [ 4 H es definida positiva en todo D, y en particular en (1, 1) El punto corresponde a un mínimo único global estricto de P ) ]. Apuntes de Clases Optimización Claudio Seebach No Lineal 10
Ejemplo de Problema No Lineal Irrestricto Ejemplo Considere la función f(x, y) = x 3 + y -4-0 4 10 0-10 1 0-1 - Apuntes de Clases Optimización Claudio Seebach No Lineal 11 Ejemplo de Problema No Lineal Irrestricto La matriz Hessiana está dada por D f(x, y) = Observamos que 1 = 6x y que = 0. [ ] 6x 0 0 0 Existe alguna región en que f(x, y) sea positiva definida? No. Existe alguna región en que f(x, y) sea semidefinida positiva? Sí, x 0 Existe alguna región en que f(x, y) sea semidefinida negativa? Sí, x 0 No se puede garantizar la existencia de un mínimo o máximo local. Apuntes de Clases Optimización Claudio Seebach No Lineal 1
Ejemplo de Problema No Lineal Irrestricto Ejemplo 3 Considere el problema P ) min x 4 8 6 4-3 - -1 1 3 Apuntes de Clases Optimización Claudio Seebach No Lineal 13 Ejemplo de Problema No Lineal Irrestricto Tenemos que: En x = 0, f (x) = 0 y f (x) = 0. f (x) = 4x 3 f (x) = 1x El punto cumple con la condición necesaria de orden. De esta información no se podría inferir nada más, pero: f (x) = 1x 0 x f(x) es convexa Además 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 ), único, pues x 0 x 4 > 0. Apuntes de Clases Optimización Claudio Seebach No Lineal 14
Métodos de Resolución de Problemas No Lineales Hay problemas donde resolver f(x) = 0 es muy difícil Alternativa: métodos numéricos y/o iterativos Búsqueda unidireccional Método de Newton Método del Gradiente o de Cauchy Apuntes de Clases Optimización Claudio Seebach No Lineal 15 Método de Newton Método para funciones dos veces diferenciables Puede usarse para funciones de múltiples variables P ) de una sola variable: min f(x) con f (x) y f (x) conocidas. Sea x k un punto factible Se puede aproximar f(x) entorno a x k, a través de una expansión de Taylor de do grado: q k (x) = f(x k ) + f (x k )(x x k ) + 1 f (x k )(x x k ) Apuntes de Clases Optimización Claudio Seebach No Lineal 16
Aproximación de Segundo Orden Apuntes de Clases Optimización Claudio Seebach No Lineal 17 Método de Newton q(x) es una buena aproximación de segundo grado para f(x) ya que: 1. q(x k ) = f(x k ). q (x k ) = f (x k ) 3. q (x k ) = f (x k ) Si f (x k ) > 0 q(x) es convexa, y si f (x k ) < 0 q(x) es cóncava. Resolvemos min q(x), en vez de min f(x). Condición de 1 er orden: dq k dx = f (x k ) + f (x k )(x x k ) = 0 Despejando, y definiendo un nuevo x k+1 nos queda: x k+1 = x k f (x k ) f (x k ). Apuntes de Clases Optimización Claudio Seebach No Lineal 18
Esquema del Método de Newton 1. Comenzar con un x 0 cualquiera. Minimizar q k (x) y obtener un nuevo x k+1 usando: x k+1 = x k f (x k ) f (x k ) 3. Verificar si las iteraciones convergen según algún criterio: Por ejemplo si (x k x k+1 ) 0 o si (f(x k ) f(x k+1 )) 0. o volver al punto. con x k+1 4. Finalizar con x k como solución óptima y f(x k ) valor óptimo Apuntes de Clases Optimización Claudio Seebach No Lineal 19 Interpretación del Método de Newton Condición de 1 er orden para un extremos de f(x) f(x) = 0 el método de Newton busca raíces def (x) Gráficamente, el método consiste en que en el espacio de la derivada de f(x) se trace una recta que pase por el punto (x k, f (x k )) y que tenga pendiente f (x k ), es decir y f (x k ) = (x x k )f (x k ). Luego, el punto de intersección de esta recta con el eje x determinará x k+1, es decir, igualando y = 0. Apuntes de Clases Optimización Claudio Seebach No Lineal 0
Interpretación del Método de Newton f (x) x k+ x k+1 x k x y = f (x) y f (x k ) = (x x k )f (x k ). Apuntes de Clases Optimización Claudio Seebach No Lineal 1 Observaciones al Método de Newton El método busca puntos extremos sean estos mínimos o máximos. Para distinguir hay que mirar el signo de la a derivada en cada punto: Deberá ser positivo al buscar mínimos y negativo al buscar máximos. Este método no garantiza convergencia: Apuntes de Clases Optimización Claudio Seebach No Lineal
Ejemplo de Método de Newton Ejemplo 4 Considere el problema min x 3 1x + 60x 7. 60 50 40 30 0 10-1 1 3 4 5 6-10 Apuntes de Clases Optimización Claudio Seebach No Lineal 3 Ejemplo de Método de Newton Ejemplo 4 Considere el problema min x 3 1x + 60x 7. Podemos ver que la primera y segunda derivada corresponden a f (x) = 6x 4x + 60 f (x) = 1x 4 respectivamente. Por lo tanto, si x > 3, 5 f (x) > 0,luego, f(x) es estrictamente convexa. Y si x < 3, 5 f (x) < 0, por lo que f(x) es estrictamente cóncava. Por lo tanto, x = 3, 5 corresponde a un punto de inflexión. Aplicando el método de Newton, con x 0 = 4 (cercano al punto crítico x = 3, 5), sucede lo siguiente: x k+1 = x k 6x k 4x k + 60 1x k 4 = 1x k 4x k 6x k + 4x k 60 6(x k 7) = 6x k 60 6(x k 7) Apuntes de Clases Optimización Claudio Seebach No Lineal 4
Ejemplo de Método de Newton Por lo tanto, x k+1 = x k 10 (x k 7) Iterando vemos que el método converge a x k = 5, k 0 1 3 4 5 x k 4 6 7, 5, 65 5, 099 5 que corresponde a un mínimo pues f (x) en el punto es positiva. Ahora, cambiando el punto inicial a x 0 = 3 y volvemos a aplicar el método, vemos que éste converge a x k =, k 0 1 3 4 5 x k 3 1 1, 8 1, 988 1, 999 que corresponde a un máximo pues f (x) en el punto es negativa. Apuntes de Clases Optimización Claudio Seebach No Lineal 5 Ejemplo de Método de Newton Ejemplo 5 Considere el problema min x3 4 7x 8 + ln x sujeto a x > 0. Apuntes de Clases Optimización Claudio Seebach No Lineal 6
Ejemplo de Método de Newton Ejemplo 5 Considere el problema min x3 4 7x 8 + ln x sujeto a x > 0. Derivando encontramos f (x) = 3 4 x 7 4 x + 1 x f (x) = 3 x 7 4 1 x x k+1 = x k (3 4 x 7 4 x + 1 x ) ( 3 x 7 4 1 ). Es fácil ver que 3 4 x 7 4 x + 1 x = 0 puede escribirse x como (x )(x 1)(3x + ) = 0, x 0 expresión que muestra claramente las raíces de la función objetivo. Iterando con el método desde dos puntos iniciales diferentes obtenemos los siguientes resultados: x 0 = 0, 5 0, 765 0, 9401 0, 9954 x 0 = 3, 305, 051, 001. El primero de éstos corresponde a un máximo local mientras el segundo a un mínimo local. Apuntes de Clases Optimización Claudio Seebach No Lineal 7