Jueves, 25 de abril 15.053 z Teoría Dificultades de los modelos PNL sobre la programación no lineal z Programación PL: separable Entregas: material de clase PNL: 1 Análisis gráfico de la programación no lineal en dos dimensiones: un ejemplo z Minimizar ( x − 14) + ( y − 15) 2 2 ¿Dónde está la solución óptima? Nota: la solución óptima no está en una esquina. Está donde el isocontorno toca la región factible. y 18 2 16 14 z sujeto a (x - 8)2 + x x x +y 12 (y - 9)2 ≤ 49 ≥ 2 ≤ 13 ≤ 24 10 8 6 4 2 0 3 Otro ejemplo: Minimizar x 0 2 4 8 10 12 14 16 18 4 Óptima Local frente a Global (x-8)2 + (y-8)2 y Definición: sea x una solución factible, entonces 18 Entonces el min global no restringido también es factible. 16 14 12 10 La solución óptima no se encuentra en el límite de la región factible. 8 6 4 – x es un max global si f(x) ≥ f(y) para cada y factible. – x es un max local si f(x) ≥ f(y) para cada y factible. suficientemente cerca de x (p.ej., x j-ε ≤ yj ≤ xj+ ε para todo j y algún pequeño ε). z 0 x 2 4 6 8 10 12 14 16 18 z = f(x) max f(x) s. a. 0 ≤ x ≤ 1 A 0 5 C B 2 0 6 1 x Pueden existir varias soluciones óptimas locales. 6 Convexidad y puntos extremos ¿Cuándo una solución local óptima lo es también globalmente? La región factible de un programa lineal es convexa. 12 10 minimizando. La función objetiva es convexa. La región factible es convexa. 14 z Estamos Decimos que un conjunto S es convexo, si por cada dos puntos x e y en S, y por cada número real λ en [0,1], λx + (1-λ)y ε S. P 8 Decimos que un elemento w ε S es un punto extremo (vértice, esquina), si w no es el punto medio de cualquier segmento dentro de S. 6 4 x 2 y 7 2 4 6 8 10 12 W 14 8 ¿Cuáles son convexas? Reconocer regiones factibles convexas z Si todas las restricciones son lineales, entonces la región factible es convexa. intersección de regiones convexas es convexa. B A z La para todo x e y factible, el punto medio de x e y es factible, entonces la región es convexa (excepto en ejemplos que sean nada realistas). C D z Si B ∪ C B ∩ C B ⊕ C 9 10 Funciones convexas Funciones cóncavas Funciones Convexas: f(λ y + (1- λ)z) ≤ λ f(y) + (1- λ)f(z) por cada y y z y para 0≤ λ ≤1. p.ej., f((y+z)/2) ≤ f(y)/2 + f(z)/2 Funciones cóncavas: f(λ y + (1- λ)z) ≥ λ f(y) + (1- λ)f(z) por cada y y z y para 0≤ λ ≤1. p.ej., f((y+z)/2) ≥ f(y)/2 + f(z)/2 Decimos convexidad “estricta” si el signo es “<” para 0< λ <1. Decimos convexidad “estricta” si el signo es “>” para 0< λ <1. x La unión mediante líneas de cualquier f(x) punto está por encima de la curva x f(x) x x La unión mediante líneas de cualquier x y x (y+z)/2 x punto está por debajo de la curva z 11 z x (y+z)/2 y 12 ¿Qué funciones son convexas? Clasificar como cóncava o convexa o como ambas o ninguna. z f(x) = 4x + 7 todo funciones lineales z f(x) = 4x2 – 13 algunas funciones cuadráticas z f(x) = ex z f(x) = 1/x para x > 0 z f(x) = |x| z f(x) = - ln(x) para x > 0 Condición suficiente: f”(x) > 0 para todo x. 13 14 Máximo (mínimo) local ¿Qué funciones son convexas? f(x) es convexa, y g(x) es convexa. Entonces también lo es h(x) = a f(x) + b g(x) para a>0, b>0. z Si y = f(x) es convexa, entonces {(x,y) : f(x) ≤ y} es un conjunto convexo z Si 15 z Un máximo local de una función cóncava en una región factible convexa es también un máximo global. z Un mínimo local de una función convexa en una región factible convexa es también un mínimo global. z La convexidad o concavidad estricta implica que el óptimo global es único. z Dado esto, podemos resolver con exactitud: – Problemas de maximización con una función objetiva cóncava y restricciones lineales. – Problemas de minimización con una función objetiva 16 convexa y restricciones lineales. ¿Cuáles son regiones factibles convexas? Más sobre optimidad local (x, y) : y ≤ x2 + 2 (x, y) : y ≥ x2 + 2 (x,y) : y = x2 + 2 z Las técnicas de minimización de optimización no lineal suelen hallar un óptimo local. z Esto es útil cuando una solución óptima local es una solución óptima global. z No lo es en muchas ocasiones. z Conclusión: si resuelve un programa no lineal, intente averiguar qué tal son las soluciones óptimas locales. y = 2 + x^2 7 6 4 3 2 1 x 2 1. 6 1. 2 0. 8 0 0. 4 -0 .4 -0 .8 -1 .2 -1 .6 0 -2 y 5 17 18 Resolución de PNL con Excel Solver Hallar una óptima local para una sola variable PNL Resolver PNLs con una variable : max f(θ) f(θ) s.a. a ≤ θ ≤ b La solución óptima es un punto frontera o a satisface f ′ (θ∗) = 0 y f ″(θ∗) < 0. θ* θ b f(θ) f(θ) 19 Resolución de una PNL con una sola variable Si f(θ) es cóncava (o unimodal) y diferenciable max f(θ) a θ* b θ a θ* b 20 θ Funciones unimodales función de una única variable f es unimodal si existe a lo sumo un máximo local (o a lo sumo un mínimo local). z Una s.a. a ≤ θ ≤ b : Búsqueda bisección (o Bolzano): zPaso 1. Comenzar por la región de incertidumbre de θ como [a,b]. Evaluar f ′ (θ) en el punto medio θ Μ =(a+b)/2. zPaso 2.. Si f ′ (θ Μ) > 0, elimine el intervalo hasta θΜ. Si f ′ (θΜ) < 0, elimine el intervalo más allá de θΜ. zPaso 3. Evaluar f ′ (θ) en el punto medio del nuevo intervalo Volver al paso 2 hasta que el intervalo de incertidumbre sea suficientemente pequeño. 21 Otras técnicas de búsqueda z En lugar de derivadas (que tal vez requieran mucha capacidad de computación), use dos evaluaciones de funciones para determinar el intervalo actualizado. z Búsqueda de Fibonacci: z Paso 1. Región de incertidumbre para θ como intervalo [a,b]. Evalúe f (θ 1) y f (θ2) para 2 puntos simétricos θ1<θ2. z Paso 2. Si f (θ1) ≤ f (θ2), elimine el intervalo hasta θ1. Si f (θ 1) > f (θ2), elimine el intervalo a partir de θ2. z Paso 3. Seleccione un segundo punto simétrico al que ya está en el nuevo intervalo, llame a estos puntos θ 1 y θ2 de modo que θ1<θ2 y evalúe f (θ1) y f (θ2). Vuelva al paso 2 hasta que el intervalo sea lo bastante pequeño. 23 22 Sobre la búsqueda de Fibonacci 1, 1, 2, 3, 5, 8, 13, 21, 34 En la iteración 1, la longitud del intervalo de búsqueda es el número fibonacci k de orden para cierto k. En la iteración j, la longitud del intervalo de búsqueda es el número fibonacci k-j+1. La técnica converge en la solución óptima cuando la función es unimodal. 24 Hallar un máximo local con la búsqueda de Fibonacci La búsqueda halla un máximo local, pero no necesariamente un máximo global. Longitud del intervalo de búsqueda 34 3 5 8 13 21 13 0 18 21 26 16 19 0 34 18 21 26 16 19 Tiene la siguiente forma: z Cada punto se elige simétricamente, la longitud l k de los intervalos de búsqueda sucesivos es: l k = lk+1 + lk+2 . z Resolviendo con estas longitudas dada un longitud final de intervalo 1, ln = 1, da los nº Fibonacci: 1, 2, 3, 5, 8, 13, 21, 34,… z Por tanto, si el intervalo inicial tiene longitud 34, se necesitan 8 cálculos de función para reducirlo a 1. z Comentario: si la función es convexa o unimodal, la búsqueda de fibonacci converge en el max global. 28 n ∑ f (x ) j =1 j n s.a. 34 Ejemplos de programacíon separable Programación separable Max 26 Número de evaluaciones de función en la búsqueda de Fibonacci 34 27 z 21 26 La búsqueda halla un máximo local, pero no necesariamente un máximo global. 13 18 16 19 25 Dónde estará el máximo 0 13 ∑g j =1 ij j f ( x1 , x2 ) = x1 (30 − x1 ) + x2 (35 − x2 ) − 2 x12 − 3 x22 ( x j ) ≤ 0, ∀i = 1,… , m f ( x1 , x2 ) = x15 + Cada variable xj aparece separada, una en cada función g ij y una en cada función fj en el objetivo. 3 − 18e − x2 + 4 x2 x1 f ( x1 , x2 , x3 ) = ln x15 − sen x2 − x3e − x3 + 7 x1−4 Cada función no lineal es de una variable única 29 30 Aproximación de una función no lineal de 1 variable Aproximación de una función no lineal con una función lineal por tramos z Aspecto 1. Elegir la aproximación. z Aspecto 2. ¿Cuándo es la aproximación lineal por tramos un programa lineal disfrazado? y = x^3/3 + 2x - 5 15 10 5 3 2, 6 2, 2 1, 8 1 1, 4 -1 -0 ,6 -0 .2 0. 2 0. 6 -3 -2 ,6 -2 ,2 -1 ,8 -1 ,4 y 0 -5 -10 -15 -20 -25 x 31 32 Aproximación de una función no lineal de 1 variable: el método λ Más sobre el λ método a1 = -3, f(a1) = -20 Elija diferentes valores of x para aprox. el eje x -10 -15 -20 -25 -10 3 2 -1 ,8 -1 ,4 -2 . 6 -2 , -5 -3 Aproxime utilizando segmentos rectilíneos y 3 2, 6 2, 2 1, 8 1 1, 4 -3 -2 ,6 -2 ,2 -1 ,8 -1 ,4 -1 -0 ,6 -0 ,2 0. 2 0. 6 0 -5 2. 6 decimos que x tiene λ1 (-3) + λ2 (-1) donde λ1 + λ2 = 1 y λ1, λ2 ≥ 0 5 0 y Suponga que para –3 ≤ x ≤ -1, 10 2. 2 5 1. 8 10 a2 = -1 f(a2) = -7 1/3 15 1 1. 4 15 y = x^3/3 + 2x - 5 -1 -0 .6 -0 .2 0. 2 0. 6 y = x^3/3 + 2x - 5 Entonces aproximamos f(x) -15 como λ 1 (-20) + λ2 (-7 1/3) -20 -25 x x 33 Más sobre el método λ 34 Casi el método λ a2 = -1 f(a2) = -7 1/3 Supongamos que para -1 ≤ x ≤ 1, a3 = 1 f(a3) = -2 2/3 decimos que x tiene λ2 (-3) + λ3 (-1) donde λ2 + λ3 = 1 y λ2, λ3 ≥ 0 Problema original: min x3/3 + 2x – 5 + más términos y = x^3/3 + 2x - 5 s.a. 15 ¿Cómo aproximamos f( ) en este intervalo? 10 5 -10 = -3; f(a1) = -20; a2 = - 1; f(a2) = -7 1/3; a3 = 1; f(a3) = -2 2/3; a4 = 3 f(a4) = 4 3 2. 6 2. 2 1. 8 1 1. 4 -1 -0 .6 -0 .2 0. 2 0. 6 -2 .6 -2 .2 -1 .8 -1 .4 -3 y 0 -5 a1 -3 ≤ x ≤ 3 + muchas más restricciones Problema aproximado: ¿Y si –3 ≤ x ≤ 1? min λ1f(a1) + λ2f(a2) + λ3f(a3) + λ4f(a4) más términos lineales -15 -20 s.a. -25 x 35 λ1 + λ2 + λ3 + λ4 = 1 ; λ ≥ 0 + muchas más restricciones 36 ¿Por qué la aproximación es incorrecta? Problema aproximado: Condición de adyacencia min λ1f(a1) + λ2f(a2) + λ3f(a3) + λ4f(a4) más términos lineales 1. Al menos dos pesos (λs) son positivos 2. Si exáctamente dos pesos (λs) son positivos, entonces son λ j y λj+1 para cierto j 3. La misma condición se aplica a toda función aproximada. s.a. λ1 + λ2 + λ3 + λ4 = 1 ; λ ≥ 0 Considere λ 1 constraints = ½ ; λ2 = 0 ; λ3 = ½ ; λ4 = 0; + many more El método da la aproximación correcta si sólo dos λ consecutivas son positivas. 37 Aproximación de una función objetiva no lineal para un PNL de minimización problema original: minimizar {f(y): y ∈ P} Suponer que donde 38 Para minimizar una función convexa, el método λ satisface automáticamente la propiedad de adyacencia adicional. min z = λ1f(a1) + λ2f(a2) + λ3f(a3) + λ4f(a4) + λ5f(a5) s.a. λ1 + λ2 + λ3 + λ4 + λ5 = 1 ; λ ≥ 0 + condición de adyacencia + otras restricciones y = Σ j λjaj , Σj λj = 1 y λ >= 0 . Aproximar f(y). minimizar {Σ j λjf(aj): Σj λjaj ∈ P} z Nota: si se da la oportunidad de representar y en modos alternativos, la PL eligirá el que conduzca al valor menos objetivo para la aproximación. 39 Funciones objetivas aproximadas factibles sin las condiciones de adyacencia min z = λ1f(a1) + λ2f(a2) + λ3f(a3) + λ4f(a4) + λ5f(a5) s.a. λ1 + λ2 + λ3 + λ4 + λ5 = 1 ; λ ≥ 0 + otras restricciones a1 a2 a3 a4 a415 a1 a2 a3 a4 a405 Pero un mínimo en este caso siempre sucede en la curva lineal por segmentos. min z = λ1f(a1) + λ2f(a2) + λ3f(a3) + λ4f(a4) + λ5f(a5) s.a. λ1 + λ2 + λ3 + λ4 + λ5 = 1 ; λ ≥ 0 + otras restricciones a1 a2 a3 a4 a425 Programación separable (en el caso de restricciones lineales) z z Max f ( x ) s .a. Dx = d x≥0 Comenzar con un PNL: z Reexpresar en términos de λ variables: j jk )λ jk k =1 s .a. Dx = d; x≥ 0; n Max n ∑ f (x ) j =1 j s j kj ∑ ∑ f (a j =1 Transformar a separable: Max z Aproximación kj D x =d; x ≥ 0 ∑λ k =1 jk = 1, ∀j = 1,… , n λ jk ≥ 0 para todo j, k Aproximar con el método λ : y las condiciones de adyacencia 43 ¿Cómo se pueden construir funciones separables? Término Sustitución ( xi + x j ) n xi + x j = y xi x j xi x j = y12 − y22 xi x j xi x j = y xj 2 Restricciones xi + x j y1 = 0.5( xi + x j ) y2 = 0.5( xi − x j ) log y = log xi + log x j y = 10 x xi xi j = y xi + x 2j xi + x 2j 2 =y y zx j xi = 10 z log y = (log 2)( xi + x22 ) Si el problema original es cóncavo, entonces se pueden eliminar 44 las condiciones de adyacencia (se satisfacen automáticamente) Ejemplos de transformación 6 Ex : ( x1 + x2 + x3 ) Restrición Sustituya y 6 y sea Ninguna Ninguna Ex : xi , x j > 0 xi > 0 Ninguna Las funciones convexa y cóncava y los conjuntos convexos son propiedades importantes z Técnicas de búsqueda de Bolzano y Fibonacci z Programación separable Sea y1 = 1 y 1 + x3 y2 = x1 x22 1 y y añada la restricción log y2 = log x1 + log x22 + log y1 45 Resumen PNL z x1 x22 1+ x3 y = x1 + x2 + x3 – se utilizan para resolver funciones unimodales de 1 variable – función objetiva y restricciones no lineales que son separables – Técnica general de aproximación 47 46