OPTIMIZACIÓN María Jesús de la Fuente Aparicio Alberto Herrreros López Optimización • Problemas de optimización: – Como tomar la mejor opción entre varias posibles – Problemas de naturaleza muy diversa • Diseño (p.e. dimensionamiento de un equipo con costo mínimo) • Operación (p.e. punto de operación mas rentable) • Logística (p.e. ruta mas corta de distribución de un producto) • Planificación (p.e. mejor lugar para construir una planta) • Control (p.e. acción de control que genera menos varianza en la variable controlada) • Etc. Optimización • Se presentan en campos muy diversos – Procesos – Economía – Biología – Electrónica,…. • Pero todos tienen rasgos comunes: – Un objetivo u criterio a optimizar – Unas variables de decisión – Un conjunto de ligaduras y restricciones sobre las variables de decisión Optimización • ¿Cómo tomar decisiones óptimas? ¿Por experiencia? ¿Experimentando todas las opciones? Analizando el problema y formulándolo como un problema matemático Optimización • Metodología de trabajo. 1 Analizar el problema 2 Formularlo en términos matemáticos min J ( x , y) x h ( x , y) = 0 g ( x , y) ≤ 0 4 Interpretar y aplicar la solución 3 Resolverlo con los algoritmos y software adecuados Optimización • Análisis / formulación (Modelado) 1 Analizar el 2 Formularlo en problema términos matemáticos min J ( x , y) x h ( x , y) = 0 g ( x , y) ≤ 0 1. Conocer el proceso, listar todas las variables de interés 2. Determinar el criterio de optimización y especificar el criterio de optimización en términos de las variables del problema 3. Especificar las relaciones entre las variables impuestas por balances de masa y energía, leyes físicas, etc. 4. Determinar el rango admisible de las variables 5. Identificar los grados de libertad respecto a los cuales optimizar Optimización • Resolución y aplicación (Optimización) 6. Formular el problema en términos de uno de los tipos de optimización conocidos min J ( x , y) x h ( x , y) = 0 7. Estudiar la formulación y simplificarla / adecuarla g ( x , y) ≤ 0 3 Resolverlo con los algoritmos y software adecuados 4 Interpretar y aplicar la solución 8. Aplicar un algoritmo adecuado usando un software de optimización 9. Analizar la solución, estudiar la sensibilidad de la solución a cambios en las hipótesis y los parámetros del problema EJEMPLOS Diseño Encontrar las dimensiones de un tanque cilíndrico abierto de modo que tenga un volumen de 6 m3 y área mínima Variables: h1 V volumen A area Grados de libertad: número de variables – numero de ecuaciones independientes: 2‐ 1=1 h Función a minimizar: A = πdh+¼πd^2 d diámetro h altura d Relaciones entre variables: V = ¼ πd^2h = 6 Límites: d ≥ 0 , h ≥ 0 Datos : V Formulación: 1 2 min πdh + πd d ,h 4 sujeto a : πd 2 h = 4 V d ≥ 0, h ≥ 0 Ejemplo de Planificación (I) Gasolina intermedia 1 Venta directa Ventas por contrato NORMAL Ventas en el mercado 2 Venta directa 3 Venta directa 4 Ventas por contrato SUPER Venta directa 5 Venta directa Ventas en el mercado Ejemplo de Planificación (II) • Función de coste: beneficio neto en el tiempo planificado. • Variables independientes: – Para cada gasolina intermedia i: • xi = cantidad usada para producir fuel normal • yi = cantidad usada para producir fuel super • zi = cantidad usada para vender en el mercado – Para cada producto j: • uj = cantidad vendida por contrato • vj = cantidad vendida en el mercado • Modelo: balances de materia para asegurar cantidad y calidad de los productos finales: – Balance de cada gasolina intermedia: xi + yi + zi ≤ αi Ejemplo de Planificación (III) – Balance de materia para cada producto ∑ x i = u1 + v1 i ∑ yi = u2 + v 2 i – Restricciones para la calidad del producto ∑ β i x i ≥ γ 1(u1 + v1 ) ∑i β i y i ≥ γ 2 (u 2 + v 2 ) i – Restricciones para la cantidad de producto uj ≥δ j Función de coste: beneficio neto . ∑ c (j1)u j + ∑ c (j2)v j + ∑ c i(3) zi − ∑ c i( 4) (x i + y i + zi ) − ∑ c i(5) ( x i + y i ) Ejemplo de Planificación (IV) Gasolinas Intermedias Disponiblidad αi Calidad βi Precio Ci(3) Coste Ci(4) Mezcla Ci(5) 1 2 x 105 70 30 24 1 2 4 x 105 80 35 27 1 3 4 x 105 85 36 28.5 1 4 5 x 105 90 42 34.5 1 5 5 x 105 99 60 40 1.5 Producto Contrato δi Calidad γi Precio Contr. Cj(1) 1 5 x 105 85 40 46 2 4 x 105 95 55 60 Precio Merc. Cj(2) Ejemplo de Planificación (V) max f = 40u1 + 55u 2 + 46v1 + 60v2 + 6 z1 + 8 z 2 + 7.5 z3 + 7.5 z 4 + 20 z5 − 25( x1 + y1 ) − 28( x2 + y2 ) − 29.5( x3 + y3 ) − 35.5( x4 + y4 ) − 41.5( x5 + y5 ) s.a. x1 + y1 + z1 ≤ 2.105 x2 + y2 + z 2 ≤ 4.105 x3 + y3 + z3 ≤ 4.105 x4 + y4 + z 4 ≤ 5.105 x15 + y5 + z5 ≤ 5.105 x1 + x2 + x3 + x4 + x5 = u1 + v1 y1 + y2 + y3 + y4 + y5 = u 2 + v2 70 x1 + 80 x2 + 85 x3 + 90 x4 + 99 x5 ≥ 85(u1 + v1 ) 70 y1 + 80 y2 + 85 y3 + 90 y4 + 99 y5 ≥ 95(u 2 + v2 ) u1 ≥ 5.105 u 2 ≥ 4.105 x1 ,..., x5 , y1 ,..., y5 , z1 ,..., z5 , u1 , u 2 , v1 , v2 ≥ 0 CONSIDERACIONES FINALES Optimización • Estructura de un problema de optimización genérico: min s.a. f (x ) hk ( x ) = 0 k = 1,K, K g j (x ) ≥ 0 xiL ≤ xi ≤ xiU j = 1,K, J i = 1,K, N Optimización • Tipos de problemas de optimización: Si K=J=0 Optimización sin restricciones Si K=J=0; i=1 Optimización escalar K=J=0; i>1 K≠ 0 y J ≠ 0 Optimización vectorial Problema de programación no lineal (NLP) K≠ 0 y J ≠ 0 y f, g y h son lineales (f (x) =ax+b; g(x)=cx+d; h(x)=ex+f) Problema de programación lineal (LP) K≠ 0 y J ≠ 0 y f es cuadrática y g y h son lineales Problema de programación cuadrática (QP) K≠ 0 y J ≠ 0 y x son enteras y reales programación mixta‐entera Problema de Optimización • Formas de resolver los problemas de optimización: – Métodos de resolución teóricos – Métodos de resolución estocásticos: • • • • • Método de Monte Carlo Algoritmos genéticos Tabu Search Simulated Annealing Etc.