PROGRAMACIÓN LINEAL ENTERA Y MODELOS DE SIMULACIÓNTipos de modelos. Los Modelos Matemáticos se dividen básicamente en Modelos Determistas (MD) o Modelos Estocásticos (ME). En el primer caso (MD) se considera que los parámetros asociados al modelo son conocidos con certeza absoluta, a diferencia de los Modelos Estocásticos, donde la totalidad o un subconjunto de los parámetros tienen una distribución de probabilidad asociada. Los cursos introductorios a la Investigación Operativa generalmente se enfocan sólo en Modelos Determistas. En la siguiente tabla se muestran los modelos de decisión según su clase de incertidumbre y su uso en las corporaciones. (D, determinista; P, probabilista; A, alto; B, bajo). Clase de Incertidumbre D D,P D,P D,P D D,P P D P D,P P D Frecuencia de uso en corporaciones A A A A B B B B B B B B Tipo de Modelo Programación Lineal Redes (Incluye PERT/CPM) Inventarios, producción y programación Econometría, pronóstico y simulación Programación Entera Programación Dinámica Programación Estocástica Programación No Lineal Teoría de Juegos Control Optimo Líneas de Espera Ecuaciones Diferenciales MODELOS ESPECÍFICOS DE LA INVESTIGACIÓN DE OPERACIONES Planeación de la Producción Asignación de personal Transporte Inventarios Dietas Mercado Estrategias de Inversión Resolución de problemas en espacio de variables independientes por el método Jacoby. Hasta ahora los métodos directos e indirectos han tenido problemas con los redondeos y aproximaciones a la solución real. Los métodos iterativos representan una alternativa potente para solucionar esta dificultad, puesto que éstos se acercan más a la solución real esperada a medida que se itera, de manera que la calidad de la aproximación obtenida dependerá de la cantidad de iteraciones que se éste dispuesto a efectuar. El planteamiento consiste en suponer un valor inicial y luego usar un método sistemático para obtener una estimación refinada de la solución. El Método de Jacobi es uno de los métodos iterativos más conocidos. Método de Jacobi. El método Jacobi es el método iterativo para resolver sistemas de ecuaciones lineales más simple y se aplica solo a sistemas cuadrados, es decir a sistemas con tantas incógnitas como ecuaciones. • Primero se determina la ecuación de recurrencia. Para ello se ordenan las ecuaciones y las incógnitas. De la ecuación i se despeja la incógnita i. En notación matricial se escribirse como: x = c + Bx (1) donde x es el vector de incógnitas. • Se toma una aproximación para las soluciones y a esta se le designa por xo • Se itera en el ciclo que cambia la aproximación Xi+1 = c + Bxi Ejemplo 11 (2) Partiendo de (x = 1, y = 2) aplique dos iteraciones del método de Jacobi para resolver el sistema: Solución Debemos primeramente despejar de la ecuación la incógnita correspondiente. x = 0.20 + 0.00 x − 0.40 y y = 0.00 + 0.25 x + 0.00 y Aplicamos la primera iteración partiendo de x0 = 1.00 y y0 = 2.00: x1 = 0.20 + 0.00 (1.00) − 0.40 (2.00) = −0.60 y1 = 0.00 + 0.25 (1.00) + 0.00 (2.00) = 0.25 Aplicamos la segunda iteración partiendo de x1 = −0.60 y y1 = 0.25: x2 = 0.20 + 0.00 (−0.60) − 0.40 (0.25) = 0.10 y2 = 0.00 + 0.25 (−0.60) + 0.00 (0.25) = −0.15 Aplicamos la siguiente iteración partiendo de x2 = 0.10 y y1 = −0.15: x3 = 0.20 + 0.00 (0.10) − 0.40 (−0.15) = 0.26 y3 = 0.00 + 0.25 (0.10) + 0.00 (−0.15) = 0.025 Aplicamos la siguiente iteración partiendo de x3 = 0.26 y y3 = 0.025: x4 = 0.20 + 0.00 (0.26) − 0.40 (0.025) = 0.190 y4 = 0.00 + 0.25 (0.26) + 0.00 (0.025) = 0.065 Aplicamos la siguiente iteración partiendo de x4 = 0.190 y y4 = 0.065: x5 = 0.20 + 0.00 (0.19) − 0.40 (0.065) = 0.174 y5 = 0.00 + 0.25 (0.19) + 0.00 (0.065) = 0.0475 Aplicamos la siguiente iteración partiendo de x5 = 0.174 y y5 = 0.0475: x6 = 0.20 + 0.00 (0.174) − 0.40 (0.0475) = 0.181 y6 = 0.00 + 0.25 (0.174) + 0.00 (0.0475) = 0.0435 Programación Lineal entera. La programación lineal también conocida como optimización lineal, es la maximización o minimización de una función lineal sobre un poliedro convexo definido por un conjunto de restricciones lineales no negativas. La teoría de la programación lineal cae dentro de la teoría de la optimización convexa y es también considerada como parte importante de la investigación de operaciones. La programación lineal entera (PLE) es el conjunto de problemas de programación lineal para los cuales todas o parte de sus variables pertenecen a los números enteros. Un problema de PLE puede describirse de la siguiente forma: Optimizar una función objetivo z=c.x Bajo las restricciones Ax = ó = b, x = 0 Donde: x -Vector con variables enteras c -Vector de coeficientes de la función objetivo A -Matriz de coeficientes de las restricciones b -Vector de términos independientes Los modelos de programación lineal entera pudieran clasificarse en tres grupos: Entero completamente. Todas las variables de decisión son enteras. Mixto. Algunas de las variables son enteras, las otras no. Binario. Las variables solo toman los valores 0 ó 1. Métodos de solución Pudiera pensarse que los métodos de obtención de soluciones a problemas de programación lineal entera pudieran ser menos difíciles que los de programación lineal generales, pero resulta lo contrario. Los algoritmos que permiten resolver los problemas restringidos a enteros son más complejos y requieren mucho más tiempo computacional. Para la resolución de los problemas de programación lineal entera existen diferentes métodos. Los métodos exactos son los que encuentran, si existe, el óptimo absoluto. Muchos de estos métodos parten de la resolución del modelo dejando a un lado las restricciones enteras y buscando el mejor valor para las variables reales. A partir del supuesto de que la solución entera no debe estar muy lejos, se aplican diferentes técnicas que permiten llegar al óptimo entero. Una breve introducción a los métodos de la programación lineal: Simplex y Punto interior, permitirá tener una idea de cómo operan los mismos. Este método se basa en que existe un número finito de soluciones posibles, no todas factibles, para un problema con enteros, que pueden representarse mediante un diagrama de árbol. Pero no es necesario enumerar todas las soluciones posibles si se pueden eliminar algunas ramas. Para eliminar una rama basta demostrar que no contiene una solución factible que sea mejor que una ya obtenida. A primera vista podría parecer más fácil resolver problemas con restricción de enteros, ya que transforman un problema continuo en un problema discreto. Los modelos de programación lineal entera se pueden clasificar en: Modelo Completamente (AILP) Mixto (MILP) Binaria (BILP) entero Tipos de Variables de Decisión Todas son enteras Algunas, pero no todas son enteras Todas son binarias (0 ó 1) PROBLEMA 1 Boxcar es una nueva cadena de restaurants de comida rápida (fast-food) que está planificando expandirse en Washington DC. Aún cuando la comida es de alta calidad, la principal atracción de esta cadena de restaurants es su diseño. En el centro de la ciudad el interior del local se contruyó de tal forma de parecerse al interior de un container, mientras que en los suburbios los restaurants se construyeron al interior de verdaderos containers. La compañía dispone de US$2.7 millones para su expansión. Cada restaurant en los suburbios requiere US$200.000 en inversión, y cada local en el centro requiere de US$600.000. Se proyecta que luego de los gastos, la ganancia neta semanal en los locales de los suburbios (que estarán abiertos las 24 horas) será en promedio US$1200. Los restaurants del centro abrirán sólo 12 horas al día, pero debido a una gran cantidad de clientes durante las horas de trabajo las proyecciones indican que la ganancia neta semanal será de US$2000. La compañía desea abrir al menos 2 restaurants en el centro. Boxcar actualmente tiene 19 administradores. Cada local en los suburbios requerirá tres administradores para su funcionamiento las 24 horas, y se cree que con sólo un administrador en el centro por restaurant sería suficiente. Boxcar desea saber cuántos restaurants podría abrir para maximizar su ganancia neta semanal. Solución. Resumiendo el problema, se tiene Boxcar debe decidir cuántos restaurants debe abrir en los suburbios y en el centro de Washington DC Desean maximizar su ganancia total semanal promedio La inversión total no puede exceder US$2.7 millones Se deben abrir al menos 2 restaurants en el centro Sólo se cuenta con 19 administradores. Un Modelo Matemático sería: Máx 1200 X1 + 2000 X2 s.a. 2 X1 + 6 X2 <= 27 X2 >=2 3 X1 + X2 <= 19 X1, X2 >= 0, enteros La solución real del problema es: X1 = 87/16, X2 = 43/16, Z = US$ 11.900 Surgen naturalmente algunas interrogantes: ¿Por qué no redondear simplemente los valores la solución real?. Posibles resultados del redondeo Los puntos pueden ser no-factibles Los puntos pueden ser factibles pero noóptimos Los puntos pueden ser factibles y óptimos Veamos los puntos X1 = 6, X2 = 3 ¿Qué sucede? Nota: Imponer restricción de enteros agrega dos restricciones al problema: X1 entero y X2 entero. Así es que tal como vimos antes el valor de la función objetivo NO puede mejorar. En un problema de maximización esto significa que el valor de la función objetivo disminuirá o en el mejor de los casos será el mismo que el valor óptimo del problema de programación lineal en el dominio de los reales. La solución entera del problema es: X1 = 4, X2 = 3, Z = US$ 10.800. Programación Separable. Una función es separable si se puede expresar como la suma de n funciones de una sola variable, es decir, Un caso especial de programación separable ocurre cuando las funciones son convexas , resultando así un espacio convexo de solución; además la función es convexa en caso de minimización y cóncava en caso de maximización. No existe un algoritmo único para solucionar problemas de programación convexa; en general los algoritmos conocidos se pueden clasificar así: 1. Algoritmos de gradiente, en estos casos se modifica de alguna manera el procedimiento de búsqueda del gradiente para evitar que la trayectoria de búsqueda penetre la frontera de restricción. 2. Algoritmos secuenciales no restringidos, incluye los métodos de función de penalización y de función barrera; estos algoritmos convierten el problema de optimización restringida original en una sucesión de problemas de optimización no restringida, cuyas soluciones óptimas convergen a la solución óptima del problema original. 3. Algoritmos de Aproximación Secuencial, incluye métodos de aproximación lineal y aproximación cuadrática; estos algoritmos sustituyen la función objetivo no lineal por una sucesión de aproximaciones lineales o cuadráticas. Para problemas de optimización linealmente restringidos, estas aproximaciones permiten la aplicación repetida de los algoritmos de programación lineal o cuadrática. Programación Cuadrática. Los problemas de programación cuadrática están relacionados con la minimización de una función cuadrática multivariable sujeta a restricciones con límites y de igualdad y desigualdad lineal. Optimization Toolbox incluye tres algoritmos para resolver los problemas de programación cuadrática: 1. El algoritmo de punto interior convexo (interior-point-convex) resuelve los problemas convexos con cualquier combinación de restricciones. 2. El algoritmo reflexivo de región de confianza (trust-region-reflective) resuelve los problemas de restricciones con límite o de igualdades lineales. 3. El algoritmo de conjunto activo (active-set) resuelve los problemas con cualquier combinación de restricciones. Tanto el algoritmo interior-point-convex como el algoritmo trust-regionreflective son a gran escala, lo que significa que pueden resolver problemas grandes y dispersos. Es más, el algoritmo interior-point-convex cuenta con unas rutinas de álgebra lineal internas optimizadas, así como un nuevo módulo de resolución previa capaz de mejorar la velocidad, la estabilidad numérica y la detección de inviabilidad. Programación Geométrica. Muchos problemas de administración y economía están relacionados con la optimización (maximización o minimización) de una función sujeta a un sistema de igualdades o desigualdades. La función por optimizar es la función objetivo. Las funciones de ganancia y de costo son ejemplos de funciones objetivo. El sistema de igualdades o desigualdades a las que está sujeta la función objetivo reflejan las restricciones (por ejemplo, las limitaciones sobre recursos como materiales y mano de obra) impuestas a la solución (o soluciones) del problema. Los problemas de esta naturaleza se llaman problemas de programación matemática. En particular, aquellas donde la función objetivo y las restricciones se expresan como ecuaciones o desigualdades lineales se llaman problemas de programación lineal. Un problema de programación lineal consta de una función objetivo lineal por maximizar o minimizar, sujeta a ciertas restricciones en la forma de igualdades o desigualdades lineales. Solución Gráfica Los problemas de de programación lineales lineal en dos con variables un tienen de interpretaciones geométricas relativamente sencillas; por ejemplo, el sistema restricciones asociado problema programación lineal bidimensional- si no es inconsistente- define una región plana cuya frontera está formada por segmentos de recta o semirrectas, por lo tanto es posible analizar tales problemas en forma gráfica. Programación Estocástica. La probabilidad es un instrumento para medir las chances de que un evento ocurra. Cuando se usa probabilidad se expresa la incertidumbre, el lado determinista tiene una probabilidad de 1 (o cero), mientras que el otro extremo tiene una probabilidad plana (todas igualmente probables). Por ejemplo, si usted tiene certidumbre de la ocurrencia (o no ocurrencia) de un evento, usa una probabilidad de uno (o cero). Si usted tiene incertidumbre, entonces usa la expresión "En realidad no sé", por lo tanto, puede o no ocurrir con una probabilidad del 50%. Esta es la noción de Bayes de que la evaluación de la probabilidad siempre es subjetiva. Es decir, la probabilidad siempre depende de cuánto conoce el decisor. Si sabe todo lo que puede saber, la probabilidad pasará a ser 1 o 0. Las situaciones de decisión con incertidumbre plana presentan el riesgo más grande. Para fines de simplicidad, considere el caso en que hay sólo dos resultados con una probabilidad de p. Así, la variación en los estados de la naturaleza es p(1-p). Esta variación es la mayor si definimos p = 50%. Es decir, igual chance para cada resultado. En tal caso, la calidad de la información está en su nivel más bajo. Recuerden de Estadística que la calidad de la información y la variación están inversamente relacionadas. Una variación mayor de los datos implica una disminución en la calidad de los datos (es decir, de la información). La información relevante para resolver un problema de decisión achica nuestra probabilidad plana. La información de utilidad desplaza la ubicación de un problema desde el "polo" de la pura incertidumbre hacia el "polo" determinista. La información relevante y útil achica la incertidumbre. . La evaluación de la probabilidad no es más que la cuantificación de la incertidumbre. En otras palabras, la cuantificación de la incertidumbre permite comunicar la incertidumbre entre las personas, como la incertidumbre entre eventos, estados del mundo, creencias, etc. La probabilidad es la herramienta para comunicar la incertidumbre y para manejar la incertidumbre (domar el cambio). Existen tipos diferentes de modelos de decisión que ayudan a analizar distintos escenarios, dependiendo de la cantidad y el grado de conocimiento que tengamos. Los tres tipos más ampliamente utilizados son: • • • Decisión tomada con pura incertidumbre, Decisión tomada con riesgo, Decisión tomada comprando información (empujando el problema hacia el "polo" determinista). Por lo general, las tasas de llegada y de servicio no se conocen con certidumbre sino que son de naturaleza estocástica o probabilística. Es decir los tiempos de llegada y de servicio deben describirse a través de distribuciones de probabilidad y las distribuciones de probabilidad que se elijan deben describir la forma en que e comportan los tiempos de llegada o de servicio. En teoría de líneas de espera o de colas se utilizan tres distribuciones de probabilidad bastante comunes, están se mencionan a continuación: 1. Markov 2. Determinística 3. General La distribución de Markov, en honor al matemático A.A. Markov quien identifico los eventos "sin memoria", se utiliza para describir ocurrencias aleatorias, es decir, aquellas de las que puede decirse que carecen de memoria acerca de los eventos pasados. Una distribución determinística es aquella en que los sucesos ocurren en forma constante y sin cambio. La distribución general sería cualquier otra distribución de probabilidad. Es posible describir el patrón de llegadas por medio de una distribución de probabilidad y el patrón de servicio a través de otra. Para permitir un adecuado uso de los diversos sistemas de líneas de espera, Kendall, matemático británico elaboro una notación abreviada para describir en forma sucinta los parámetros de un sistema de este tipo. En la notación Kendall un sistema de líneas de espera se designa como A/B/C En donde A = se sustituye por la letra que denote la distribución de llegada. B = se sustituye por la letra que denote la distribución de servicio. C = se sustituye por el entero positivo que denote el numero de canales de servicio.