UNIVERSIDAD SIMON BOLIVAR COORDINACION DE INGENIERIA DE PRODUCCION Nuevas posibilidades para la solución del Problema de Distribución de Programación Lineal Estocástica en forma cerrada Por Adriana Carolina Mata Fontcuberta PROYECTO DE GRADO Presentado ante la ilustre Universidad Simón Bolívar Como Requisito Parcial para Optar al Título de Ingeniero de Producción Sartenejas, Noviembre 2006 UNIVERSIDAD SIMON BOLIVAR COORDINACION DE INGENIERIA DE PRODUCCION Nuevas posibilidades para la solución del Problema de Distribución de Programación Lineal Estocástica en forma cerrada Proyecto de Grado AUTOR: Adriana Mata Carnet No. 01-34120 TUTOR: Hillel Kumin (Universidad de Oklahoma) CO-TUTOR: Francisco Ojeda (Universidad Simón Bolívar) JURADO: Alfredo Ríos (Universidad Simón Bolívar) JURADO: Claudia Antonini (Universidad Simón Bolívar) Sartenejas, Noviembre 2006 ii Resumen Considere el siguiente problema lineal: n max z = ∑ c j x j (1) xj j =1 sujeto a: n (2) ∑a x ij j ≤ bi , i = 1,2,..., m ; x j ≥ 0, j = 1,2,..., n j =1 donde los coeficientes de c = (c1 , c2 ,..., cn ) ó b = (b1 , b2 ,..., bm ) T son variables aleatorias continuas con función de densidad conjunta conocida y se desea hallar la función de distribución del óptimo de la función objetivo z. A pesar de que se ha investigado mucho en el área de Programación Lineal Estocástica (PLE), no existe ningún método que resuelva de forma práctica el Problema de Distribución en forma cerrada, para problemas con más de dos variables aleatorias. El objetivo general de este proyecto es investigar nuevas posibilidades para resolver el Problema de Distribución de Programación Lineal Estocástica en forma cerrada. Se propone una herramienta computacional que incluye métodos utilizados anteriormente por otros autores, así como otras técnicas computacionales que no han sido aplicadas a la resolución del problema de distribución. La herramienta se implementó en el paquete Mathematica®, haciendo uso de programación simbólica y el paquete descargable “vertex enumeration” que halla los vértices factibles dados por una serie de restricciones lineales. La validación de la misma se realizó a través de la comparación con ejemplos de la literatura resueltos analíticamente. Se logró resolver el problema en forma cerrada para problemas cuyos coeficientes del vector de costos c (Caso I) o vector de recursos b (Caso II) son variables () () aleatorias iid de distribución exponencial, gamma o uniforme. El máximo número de coeficientes estocásticos considerados fue de nueve (9) para el caso de exponenciales, y de seis (6) para el caso de distribuciones gamma y uniforme. Adicionalmente, se implementaron las transformaciones de Ewbank et al (1974) que mostraron ser significativamente efectivas en la reducción del tiempo computacional de la herramienta. En el caso de distribuciones exponenciales, la transformación reduce, en promedio, un 84% del tiempo computacional y en el caso de distribuciones gamma, en un promedio de 76%. Palabras Clave: Programación Lineal Estocástica (PLE), Problema de Distribución, Solución Cerrada. iii Agradecimientos En primer lugar, quiero agradecer a mi tutor Hillel Kumin, de la Universidad de Oklahoma, que además de brindarme el tema del presente proyecto de grado, me brindó un apoyo incondicional en todo momento. Además de asesorarme en el área académica, siempre creyó mucho en mí y me motivó continuamente para que siguiera trabajando en esta investigación. También quisiera darles las gracias a mis tutores de la Universidad Simón Bolívar, Francisco Ojeda y Alfredo Ríos, por su disposición, sus consejos y todo el recibimiento que me otorgaron a lo largo de la elaboración del proyecto. A mi familia, por comprender lo demandante que fue esta etapa de mi vida y por brindarme todo su apoyo y su cariño. Especialmente a mi madre, Carmen Fontcuberta, quien siempre me ha apoyado y acompañado en todas las metas que me propongo. A ella quiero agradecerle por toda la ayuda que me brindó para llevar a cabo este trabajo. Quiero dar un agradecimiento muy especial a Hugo Moisés Montesinos, por todo el esfuerzo y dedicación que puso para ayudarme en esta investigación, por sus buenos consejos y, mucho más importante, por enseñarme a buscar ser mejor cada día. Por último, pero no menos importante, quiero agradecer a Percy Bernedo, de la Universidad de Oklahoma, por todas las buenas ideas que me brindó, las cuales fueron de gran ayuda en la elaboración de esta tesis. Una vez más, gracias a todos. iv Índice General RESUMEN ..................................................................................................................................................III AGRADECIMIENTOS ............................................................................................................................. IV GLOSARIO ................................................................................................................................................ IX INTRODUCCIÓN........................................................................................................................................ 1 CAPÍTULO 1 1.1 1.1.1 1.2 1.3 1.4 1.5 1.5.1 1.5.2 PLANTEAMIENTO DEL PROBLEMA.................................................................. 5 EL PROBLEMA .............................................................................................................................. 5 La solución del Problema:...................................................................................................... 5 ANTECEDENTES DE LA RESOLUCIÓN DEL PROBLEMA DE DISTRIBUCIÓN DE PLE ......................... 8 JUSTIFICACIÓN ............................................................................................................................. 9 APLICACIÓN DEL PROBLEMA EN EL ÁREA DE INGENIERÍA DE PRODUCCIÓN ............................... 11 OBJETIVOS ................................................................................................................................. 13 Objetivo General: ................................................................................................................. 13 Objetivos Específicos: .......................................................................................................... 13 CAPÍTULO 2 MARCO TEÓRICO ................................................................................................. 15 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.2.2 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.4 PROGRAMACIÓN LINEAL ............................................................................................................ 15 Definiciones .......................................................................................................................... 16 Propiedades de un Problema de Programación Lineal........................................................ 17 Condiciones de optimalidad y factibilidad en un Problema de Programación Lineal......... 19 CONCEPTOS BÁSICOS DE PROBABILIDAD Y ESTADÍSTICA .......................................................... 21 Función de distribución de una variable aleatoria ............................................................. 21 Distribuciones de Probabilidad a estudiar........................................................................... 21 PROGRAMACIÓN ESTOCÁSTICA .................................................................................................. 23 Modelo activo de PLE .......................................................................................................... 24 Modelo pasivo de PLE: El problema de Distribución.......................................................... 25 Solución del problema de Distribución del Óptimo.............................................................. 27 Transformación de Ewbank et al. (1974) ............................................................................. 35 MEDICIÓN DE LA CONVERGENCIA DE UN MÉTODO DE APROXIMACIÓN DADO A TRAVÉS DE LA FORMA CERRADA ...................................................................................................................................... 44 CAPÍTULO 3 3.1 3.2 3.3 3.4 3.5 3.5.1 3.5.2 3.6 3.7 3.8 METODOLOGÍA ..................................................................................................... 47 HARDWARE ................................................................................................................................ 47 SOFTWARE ................................................................................................................................. 48 ENUMERACIÓN DE VÉRTICES ...................................................................................................... 48 DISTRIBUCIONES DE PROBABILIDAD A ESTUDIAR....................................................................... 49 ALGORITMOS PARA LA RESOLUCIÓN DEL PROBLEMA ................................................................. 50 Algoritmo Bereanu Caso I y Caso II .................................................................................... 51 Algoritmo para las Transformaciones de Ewbank et al (1974)............................................ 54 VERIFICACIÓN DE LAS SALIDAS ARROJADAS POR LA HERRAMIENTA .......................................... 57 ESTABLECIMIENTO DEL NÚMERO MÁXIMO DE VARIABLES ......................................................... 57 METODOLOGÍA PARA LA SIMULACIÓN DE MONTE CARLO .......................................................... 58 CAPÍTULO 4 RESULTADOS.......................................................................................................... 60 4.1 VERIFICACIÓN DE LA HERRAMIENTA .......................................................................................... 60 4.1.1 Ejemplo 1. Ejemplo analítico de Ewbank (1972) p. 42. (CASO II) ...................................... 60 4.1.2 Ejemplo 2. Ejemplo analítico de Ewbank (1972) p. 45 (CASO I)......................................... 63 4.1.3 Ejemplo 3. Ejemplo analítico Zinn (1971) p. 19 (CASO I)................................................... 67 4.2 MÁXIMO NÚMERO DE VARIABLES .............................................................................................. 68 4.2.1 CASO II- Distribuciones Exponenciales iid. ....................................................................... 68 4.2.2 CASO II- Distribuciones Gamma iid. ................................................................................... 71 v 4.2.3 CASO I- Distribuciones Uniformes iid. ................................................................................ 73 4.3 MEDICIÓN DE LA CONVERGENCIA DE UN MÉTODO DE APROXIMACIÓN DADO A TRAVÉS DE LA FORMA CERRADA ...................................................................................................................................... 75 4.3.1 Caso II. Coeficientes distribuidos Gamma ........................................................................... 75 4.3.2 Caso II. Coeficientes distribuidos Uniforme ........................................................................ 77 4.4 ANÁLISIS DE LOS RESULTADOS .................................................................................................. 79 CAPÍTULO 5 ESTUDIO EMPÍRICO DE LOS RESULTADOS DE LA HERRAMIENTA EN TIEMPO COMPUTACIONAL ................................................................................................................ 81 5.1 METODOLOGÍA ........................................................................................................................... 82 5.1.1 Eficacia de transformación en la reducción del tiempo ....................................................... 83 5.1.2 Eficiencia del Caso I y Caso II en la resolución de problemas ............................................ 84 5.1.3 Influencia de los parámetros en el tiempo de la herramienta .............................................. 84 5.2 RESULTADOS.............................................................................................................................. 85 5.2.1 Eficacia de la transformación Ewbank et al (1974) en la reducción del tiempo computacional..................................................................................................................................... 85 5.2.2 Eficiencia del Caso I y Caso II en la resolución del problema ............................................ 87 5.3 ANÁLISIS DE LOS RESULTADOS .................................................................................................. 91 5.3.1 Influencia de los parámetros en el tiempo del algoritmo ..................................................... 92 CAPÍTULO 6 CONCLUSIONES Y RECOMENDACIONES ...................................................... 93 BIBLIOGRAFÍA ........................................................................................................................................ 97 APÉNDICE A. CÓDIGO DE LA HERRAMIENTA EN MATHEMATICA 5.2 ® .................... 103 APÉNDICE B. EJEMPLOS NUMÉRICOS ................................................................................... 113 APÉNDICE C. RESULTADOS DE LA SIMULACIÓN ............................................................... 115 vi Índice de Figuras FIGURA 1. REGIÓN FACTIBLE DETERMINÍSTICA DEL CASO I DEL PROBLEMA DE DISTRIBUCIÓN EN PLE ........ 6 FIGURA 2. REGIÓN FACTIBLE ALEATORIA DEL CASO II DEL PROBLEMA DE DISTRIBUCIÓN EN PLE............... 6 FIGURA 3. PUNTOS EXTREMOS EN UN POLIEDRO CONVEXO ........................................................................... 19 FIGURA 4. ESQUEMA DE TOMA DE DECISIONES PARA EL EJEMPLO DE LAS MÁQUINAS A COMPRAR ................ 26 FIGURA 5. FUNCIÓN DE DENSIDAD DEL ÓPTIMO PARA LA MÁQUINA 1 Y MÁQUINA 2 .................................... 27 FIGURA 6. REGIÓN FACTIBLE DEL EJEMPLO (2.18) ........................................................................................ 29 FIGURA 7. REGIÓN DE DECISIÓN S1................................................................................................................ 30 FIGURA 8. REGIÓN DE INTEGRACIÓN PARA EL CÁLCULO DE LA FUNCIÓN DE DISTRIBUCIÓN DEL ÓPTIMO. BASE A DEL PROBLEMA (2.18) ...................................................................................................................... 32 FIGURA 9. SEPARACIÓN DE LA REGIÓN DE INTEGRACIÓN DEL PROBLEMA (2.18) .......................................... 33 FIGURA 10. FUNCIÓN DE DENSIDAD DEL ÓPTIMO DE LA FUNCIÓN OBJETIVO CALCULADA CON EL MÉTODO DE APROXIMACIÓN A ................................................................................................................................ 44 FIGURA 11. FUNCIÓN DE DENSIDAD DEL ÓPTIMO DE LA FUNCIÓN OBJETIVO CALCULADA EN FORMA CERRADA ............................................................................................................................................................ 45 FIGURA 12. GRÁFICO DE LAS FUNCIONES DE DENSIDAD TEÓRICA Y APROXIMADA ........................................ 45 FIGURA 13 DIAGRAMA DE FLUJO PARA LA IMPLEMENTACIÓN DEL ALGORITMO BEREANU PARA EL CASO I.. 52 FIGURA 14. DIAGRAMA DE FLUJO PARA LA IMPLEMENTACIÓN DEL ALGORITMO BEREANU PARA EL CASO II 53 FIGURA 15 DIAGRAMA DE FLUJO PARA LA IMPLEMENTACIÓN DE LA TRANSFORMACIÓN EWBANK ET AL (1974) PARA EL CASO I ................................................................................................................................... 55 FIGURA 16 DIAGRAMA DE FLUJO PARA LA IMPLEMENTACIÓN DE LA TRANSFORMACIÓN EWBANK ET AL (1974) PARA EL CASO I ................................................................................................................................... 56 FIGURA 17 DISTRIBUCIÓN DE PROBABILIDAD DEL MÁXIMO DE LA FUNCIÓN OBJETIVO DEL EJEMPLO ANALÍTICO DE EWBANK (1972) P. 42 ................................................................................................... 65 FIGURA 18. DISTRIBUCIÓN DE PROBABILIDAD DEL MÁXIMO DE LA FUNCIÓN OBJETIVO DEL EJEMPLO 3. .... 67 FIGURA 19. GRÁFICO DEL TIEMPO DE CÓMPUTO DE LA HERRAMIENTA SEGÚN EL TAMAÑO DEL PROBLEMA PARA COEFICIENTES DISTRIBUIDOS EXPONENCIALMENTE. ................................................................... 70 FIGURA 20, GRÁFICO DEL TIEMPO DE CÓMPUTO DE LA HERRAMIENTA SEGÚN EL TAMAÑO DEL PROBLEMA PARA COEFICIENTES DISTRIBUIDOS UNIFORME..................................................................................... 74 FIGURA 22. GRÁFICOS DE LA FUNCIÓN DE DISTRIBUCIÓN DEL ÓPTIMO DEL PROBLEMA (4.2). SOLUCIÓN TEÓRICA Y AJUSTADA (SIMULACIÓN) ................................................................................................... 76 FIGURA 23. GRÁFICAS SUPERPUESTAS DE LA FUNCIÓN DE DISTRIBUCIÓN OBTENIDA POR LA SOLUCIÓN TEÓRICA Y LA SIMULACIÓN .................................................................................................................. 76 FIGURA 24. GRÁFICOS DE LA FUNCIÓN DE DISTRIBUCIÓN DEL ÓPTIMO DEL PROBLEMA (4.4). SOLUCIÓN TEÓRICA Y AJUSTADA (SIMULACIÓN) ................................................................................................... 78 FIGURA 25. GRÁFICAS SUPERPUESTAS DE LA FUNCIÓN DE DISTRIBUCIÓN OBTENIDA POR LA SOLUCIÓN TEÓRICA Y LA SIMULACIÓN .................................................................................................................. 78 vii Índice de Tablas TABLA 1. TRANSFORMACIÓN EWBANK ET AL (1974) PARA CADA BASE FACTIBLE DEL EJEMPLO 2.1............. 38 TABLA 2. PROPIEDADES DEL PROCESADOR UTILIZADO.................................................................................. 47 TABLA 3. FUNCIONES DE DISTRIBUCIÓN UTILIZADAS PARA LOS EXPERIMENTOS DE LA HERRAMIENTA ......... 50 TABLA 4. VERIFICACIÓN DE LA TRANSFORMACIÓN EWBANK ET AL (1974) CASO II MEDIANTE EJEMPLO 1 .. 61 TABLA 5. COMPARACIÓN DE LOS RESULTADOS DE LA HERRAMIENTA CON EL EJEMPLO 1. EJEMPLO ANALÍTICO DE EWBANK (1972) P. 42. .................................................................................................................... 62 TABLA 6. VERIFICACIÓN DE LA TRANSFORMACIÓN EWBANK (1974) ET AL CASO I MEDIANTE EL EJEMPLO 2. ............................................................................................................................................................ 63 TABLA 7. COMPARACIÓN DE LOS RESULTADOS ANALÍTICOS CON LOS RESULTADOS DE LA HERRAMIENTA EN LAS CUATRO MODALIDADES PARA EL EJEMPLO 2 ................................................................................ 66 TABLA 8. RESULTADOS CASO II, M=N=3. EXPONENCIALES INDEPENDIENTES.............................................. 69 TABLA 9. TIEMPO COMPUTACIONAL PARA TRANSFORMACIÓN CASO II, DESDE 4X4 HASTA 9X9. EXPONENCIALES.................................................................................................................................. 70 TABLA 10. PRONÓSTICO DEL TIEMPO COMPUTACIONAL SEGÚN EL TAMAÑO DEL PROBLEMA PARA COEFICIENTES DISTRIBUIDOS EXPONENCIALMENTE. ............................................................................ 71 TABLA 11. RESULTADOS CASO II, M=N=3. GAMMA INDEPENDIENTES. ........................................................ 71 TABLA 12. TIEMPO COMPUTACIONAL PARA TRANSFORMACIÓN CASO II, DESDE 3X3 HASTA 6X6. GAMMA. . 72 TABLA 13. RESULTADOS CASO II, M=N=3. UNIFORMES INDEPENDIENTES. .................................................. 73 TABLA 14. TIEMPO COMPUTACIONAL PARA TRANSFORMACIÓN CASO II, DESDE 3X3 HASTA 6X6. UNIFORMES. ............................................................................................................................................................ 73 TABLA 15. PRONÓSTICO DEL TIEMPO COMPUTACIONAL SEGÚN EL TAMAÑO DEL PROBLEMA PARA COEFICIENTES DISTRIBUIDOS UNIFORME.............................................................................................. 74 TABLA 16. RESULTADOS PROMEDIOS TOTALES EN TIEMPO COMPUTACIONAL SEGÚN LA DISTRIBUCIÓN DE LOS COEFICIENTES Y EL TAMAÑO DEL PROBLEMA. CASO II. ....................................................................... 74 TABLA 17. CRITERIOS PARA LA COMPARACIÓN DE LA SOLUCIÓN TEÓRICA A LA APROXIMADA PARA EL PROBLEMA (4.2)................................................................................................................................... 76 TABLA 18. CRITERIOS PARA LA COMPARACIÓN DE LA SOLUCIÓN TEÓRICA A LA APROXIMADA PARA EL PROBLEMA (4.4)................................................................................................................................... 78 TABLA 19. FACTORES TOMADOS EN CUENTA PARA EL ANÁLISIS DE LA HERRAMIENTA DESARROLLADA ....... 82 TABLA 20. DISEÑO DE EXPERIMENTOS PARA LA COMPARACIÓN DE LOS RESULTADOS DE LA HERRAMIENTA 82 TABLA 21. RESULTADOS DE LA PRUEBA DE HIPÓTESIS PARA EXPERIMENTOS 1 Y 2 ....................................... 85 TABLA 22. RESULTADOS DEL TIEMPO COMPUTACIONAL PARA EXPERIMENTOS 1 Y 2 .................................... 86 TABLA 23. RESULTADOS DE LA REDUCCIÓN DEL TIEMPO COMPUTACIONAL LUEGO DE LA TRANSFORMACIÓN EWBANK ET AL. (1974) PARA DISTRIBUCIONES EXPONENCIALES. ........................................................ 86 TABLA 24. RESULTADOS DE LA REDUCCIÓN DEL TIEMPO COMPUTACIONAL LUEGO DE LA TRANSFORMACIÓN EWBANK ET AL. (1974) PARA DISTRIBUCIONES GAMMA ...................................................................... 87 TABLA 25. RESULTADOS DE LA PRUEBA DE HIPÓTESIS PARA EXPERIMENTOS 3 Y 4 ....................................... 87 TABLA 26. RESULTADOS DEL TIEMPO COMPUTACIONAL PARA EXPERIMENTOS 3 Y 4 .................................... 88 TABLA 27. RESULTADOS DE LA REDUCCIÓN DEL TIEMPO COMPUTACIONAL CASO I EN COMPARACIÓN CON EL CASO II (M=N) PARA DISTRIBUCIONES EXPONENCIALES Y GAMMA...................................................... 89 TABLA 28. RESULTADOS DE LA PRUEBA DE HIPÓTESIS PARA EXPERIMENTOS 5 Y 6 ....................................... 90 TABLA 29. RESULTADOS DEL TIEMPO COMPUTACIONAL PARA EXPERIMENTOS 5 Y 6 .................................... 90 TABLA 30. RESULTADOS DE LA REDUCCIÓN DEL TIEMPO COMPUTACIONAL CASO I EN COMPARACIÓN CON EL CASO II (M=N) PARA DISTRIBUCIONES EXPONENCIALES Y GAMMA...................................................... 90 TABLA 31. MÉTODO DE RESOLUCIÓN RECOMENDADO SEGÚN EL TAMAÑO DEL PROBLEMA ........................... 91 TABLA 32. RESULTADOS DE LA PRUEBA DE HIPÓTESIS PARA EXPERIMENTO 9............................................... 92 TABLA 33. RESULTADOS DEL TIEMPO COMPUTACIONAL PARA EXPERIMENTO 10 .......................................... 92 TABLA 34. EJEMPLOS NUMÉRICOS CASO I. UNIFORMES (0, 8) IID................................................................ 113 TABLA 35. EJEMPLOS NUMÉRICOS CASO II: B ESTOCÁSTICO ....................................................................... 114 viii Glosario Aleatorio. Relativo a todo acontecimiento que depende del azar. Base. En programación lineal, es el vector compuesto por las variables de decisión cuyo valor es distinto de cero. Cada base representa un vértice de la región obtenida a través de la intersección de las restricciones, puede ser factible o infactible (ver solución básica). CDF (Cumulative Distribution Function). Función de probabilidad acumulada. Para una variable aleatoria X, la función de probabilidad acumulada está dada por F ( x) = P[ X ≤ x] . Combinación lineal. X es combinación lineal de vectores de A si podemos expresar X como una suma de múltiplos de una cantidad finita de elementos de A. Criterio de factibilidad. En programación lineal, es la condición que debe cumplir una base para ser considerada factible, es decir, para que satisfaga todas las restricciones del problema. Criterio de optimalidad. En programación lineal, es la condición que debe cumplir una base para ser considerada óptima, es decir, ser una solución que no se puede superar por ninguna otra. Determinístico. Contrario a aleatorio, no es producto del azar. Estocástico. Perteneciente o relativo al azar (aleatorio). Forma cerrada. Es aquella que expresa la solución de la variable dependiente de interés en términos de funciones elementales (básicas) de las variables independientes y parámetros. Forma dual. En programación lineal, es una transformación del problema, cuya solución óptima es equivalente a la original. Todo problema (primal) tiene su equivalente dual. Función de densidad conjunta. Para un vector aleatorio es la función cuya integral sobre un conjunto A da la probabilidad de que el vector pertenezca a ese conjunto. Función Objetivo. En programación lineal, esta es la función que se quiere optimizar. Independencia estadística. Dos variables aleatorias son independientes si la ocurrencia de una no afecta el resultado de la otra (y viceversa). Método Simplex. El algoritmo simplex de George Dantzig es un procedimiento iterativo para encontrar la solución óptima del problema de programación lineal. Con este método, la solución de la iteración actual es mejor que la solución de la iteración anterior. PL. Problema lineal. Relativo a Programación Lineal. Problema matemático para modelar la optimización de una función lineal sujeta a varias restricciones lineales. PLE. Programación Lineal Estocástica. ix Programación lineal. Área de la matemática que estudia la optimización de funciones lineales sujetas restricciones de tipo lineal. Prueba de hipótesis. Es un procedimiento que decide, basado en una muestra, cuál de dos hipótesis complementarias, sobre el parámetro de una población, se toma como cierta. A las hipótesis complementarias se les conoce con el nombre de “hipótesis nula” e “hipótesis alternativa”. P-valor. Es el nivel de significancia más pequeño que conduce al rechazo de la hipótesis nula. Dicho de otra forma, es la probabilidad de obtener un resultado tan extremo como lo observado en la muestra, dado la hipótesis nula. Mientras más pequeño el p-valor, más evidencia en contra de la hipótesis nula. Región factible. En programación lineal, es la región generada a partir de la intersección de todas las restricciones del problema. Solución básica. Para un conjunto de m ecuaciones y n incógnitas (n>m), es la solución que surge de hacer n-m variables iguales a cero y resolver el problema resultante mxm, si y sólo si, esta solución es única. Las n-m variables iguales a cero son llamadas no básicas y las restantes m variables son llamadas básicas. Variable Aleatoria. Es una función que asigna un número real a cada resultado en el espacio muestral de un experimento aleatorio. Por ejemplo, en un sistema de comunicación de 48 líneas, X puede representar la variable aleatoria que denota el número de líneas en uso. Entonces X puede tomar cualquier valor entre 0 y 48 (espacio muestral). Variable artificial. En programación lineal, es una variable que no tiene sentido físico propiamente en el sistema, pero que se inserta en el modelo como un artificio para su resolución. Variable continua. Aquella variable que puede tomar cualquiera de los valores no numerables existentes dentro de un intervalo finito o infinito. Variable de holgura. En programación lineal, representa la cantidad en exceso del recurso asociado a las restricciones de tipo "menor o igual". Para solucionar el problema lineal, las restricciones de tipo "menor o igual", son cambiadas a igualdades sumando la variable de holgura al lado "menor". Variables de decisión. Son las variables desconocidas cuyo valor óptimo se determinará a través de la solución del problema de programación lineal. Vector de coeficientes de costos. En programación lineal, es el vector formado por todos los coeficientes de la función objetivo que están asociados a las variables de decisión del problema. Vector de recursos. En programación lineal, es el vector formado por las constantes de las restricciones del modelo matemático. Este vector representa los recursos disponibles del sistema. x 1 Introducción Muchos problemas en el área de los negocios, ingeniería y ciencias en general, involucran incertidumbre. Sin embargo, en la práctica la optimización de esos sistemas se hace frecuentemente con un modelo de parámetros determinísticos (Bayraksan, 2005). Hanson (1960), muestra que no se debe aceptar los resultados de un problema lineal determinístico para modelar situaciones con variaciones aleatorias, sin antes hacer un estudio del error involucrado. El tema central del presente proyecto surge con la inquietud de modelar un sistema de una manera más realista que considere que los parámetros del mismo no se conocen con exactitud o están sujetos a variaciones aleatorias, específicamente en los problemas de Programación Lineal, que son una clase de modelo matemático concerniente a la asignación eficiente de recursos limitados para alcanzar una meta deseada, bien sea maximizar ganancias o minimizar costos (Taha, 1972). Para tratar problemas en los cuales no se conoce el valor de los parámetros del modelo a optimizar, se definió Programación Lineal Estocástica (PLE) como un problema de Programación Lineal donde uno o más parámetros están sujetos a variaciones aleatorias. Aunque en Programación Lineal existe el análisis de sensibilidad, que estudia cómo el cambio de los parámetros del problema afecta la solución óptima, ésta es una respuesta parcial del problema. Programación Estocástica, extiende la optimización determinística al considerar los efectos aleatorios de modo explícito en la solución del problema. En general, los problemas de Programación Estocástica han sido clasificados en dos categorías, según el momento en el cual la decisión, sobre las variables del modelo de programación lineal, debe ser tomada en relación a la realización de las variables aleatorias. Si la decisión debe ser tomada antes de la realización de las variables aleatorias, el problema se denomina “Activo”, y si por el contrario, la decisión debe ser tomada luego de la realización de las variables aleatorias, el problema se denomina “Pasivo”. En este caso, cuando se habla de “decisión”, significa el valor óptimo de las variables de decisión del problema de programación lineal. Hay otro tipo de decisiones que no están necesariamente relacionadas con este modelo. 2 Realizacion de las variables aleatorias 0 Toma de decision “Activo” Tiempo Toma de decision “Pasivo” El presente proyecto se centra en el estudio del problema “Pasivo”. En esta categoría cabe perfectamente la pregunta de por qué se trata este problema en Programación Estocástica si al momento de tomar la decisión ya se sabrá el valor de las variables aleatorias. El fin de esta categoría se basa en obtener información del óptimo de la función objetivo cuando el valor los coeficientes estocásticos no se ha conocido todavía. Por ejemplo, la función de ganancias de una empresa puede depender de parámetros no determinísticos como precios, demandas y/o recursos. Al momento de saber el valor de estos parámetros se resolverá el problema lineal equivalente y se seleccionarán los valores óptimos de las variables de decisión del problema, pero varias preguntas importantes surgen antes de conocer estos valores, por ejemplo, ¿cuál es la probabilidad de que el óptimo de la función objetivo sea menor que un valor dado?, ¿cuál es su valor esperado? Estas preguntas son respondidas a partir del Problema de Distribución de Programación Estocástica cuyo propósito es encontrar la Ley de Probabilidad y otros estadísticos del óptimo de la función objetivo, cuando algunos de los coeficientes son variables aleatorias con función de distribución conjunta conocida. El problema de Distribución de PLE, fue introducido por primera vez por Tintner (1955), y posteriormente fue estudiado por Bereanu (1963), Ewbank, Foote y Kumin (1974), Prékopa (1966), Sarper (1993), entre otros. La revisión de la literatura muestra que sólo en pocas ocasiones el problema de distribución ha sido resuelto en forma cerrada y muy poco se ha investigado en este tema durante los últimos 10 años. Como Zinn (1972) sugiere, no existe ningún método que pueda calcular la distribución del óptimo de un problema lineal de una manera práctica. Luego de 34 años, este hecho permanece esencialmente igual. Varios autores han tratado este problema, unos pocos a través de soluciones analíticas y la otra mayoría mediante aproximaciones o simulación. 3 Este proyecto tiene como objetivo investigar nuevas posibilidades para la resolución del problema de distribución en Programación Lineal Estocástica en forma cerrada. Se propone una herramienta computacional que encuentra de manera sistemática la distribución del óptimo de un problema lineal cuando los coeficientes de la función objetivo (o el vector de recursos) son estocásticos. Esta herramienta incluye métodos utilizados anteriormente por otros autores, así como otras técnicas computacionales que no han sido aplicadas a la resolución del problema de distribución. Se desea conocer las limitaciones de esta herramienta y su posible aplicación al campo de la ingeniería. Se muestran ejemplos numéricos y experiencia computacional. El trabajo está estructurado de la siguiente manera: El Capítulo 1, corresponde al planteamiento del problema, donde se expone el problema de Distribución de Programación Lineal Estocástica. Este capítulo contiene los antecedentes, los objetivos y la justificación de la presente investigación. Adicionalmente, se incluye una sección dedicada a la aplicación del problema de Distribución de PLE en el área de Ingeniería de Producción. El Capítulo 2, constituye la base teórica de la investigación. En esta parte se exponen los conceptos de Programación Lineal, Programación Lineal Estocástica, así como algunos conceptos básicos de Probabilidad y Estadística. Asimismo, se incluyen los procedimientos teóricos para hallar la solución del problema de distribución. En el Capítulo 3, se describe la metodología utilizada para implementar los procedimientos teóricos del Capítulo 2, en una herramienta computacional que halle de manera sistemática la solución del problema. En el Capítulo 4, se muestran los resultados obtenidos con la herramienta desarrollada, así como el análisis de los mismos. El Capítulo 5, es un capítulo adicional que se incluyó en el trabajo luego de obtener los primeros resultados, ya que surgieron algunas interrogantes que no habían sido planteadas en los objetivos del proyecto. Este capítulo incluye un breve estudio empírico del efecto de las transformaciones de Ewbank et al (1974) y de los parámetros de las funciones de distribución, en el tiempo computacional de la herramienta. 4 Por último, en el Capítulo 6, se expone un resumen de las contribuciones aportadas por este proyecto de grado, se presentan las principales conclusiones y recomendaciones, y se discute la dirección de futuras investigaciones. Capítulo 1 Planteamiento del Problema En este capítulo se da una breve explicación al problema desarrollado en el proyecto. Para obtener mayor detalle de los conceptos introducidos en esta sección, el lector debe referirse al Capítulo 2, que corresponde al Marco Teórico. 1.1 El Problema Considere el siguiente problema de Programación Lineal: n max z = ∑ c j x j xj j =1 sujeto a: n ∑a x ij j ≤ bi , i = 1,2,..., m j =1 x j ≥ 0, j = 1,2,..., n donde alguno de los vectores c = (c1 , c2 ,..., cn ) ó b = (b1 , b2 ,..., bm ) T es un vector aleatorio continuo con distribución de probabilidad conjunta conocida. Se desea encontrar la forma cerrada de la función de Probabilidad acumulada (CDF) del optimo de la función objetivo. Una vez encontrada esta función, se pueden obtener otras características como, por ejemplo, la esperanza y la varianza de la distribución. 1.1.1 La solución del Problema: De Programación Lineal se sabe que el óptimo de un problema debe ocurrir en una de las esquinas o vértices que definen la región factible de la solución. Zinn (1971) prueba que esto también ocurre cuando los coeficientes de la función objetivo o el vector 6 de recursos son estocásticos. En el caso de coeficientes estocásticos en la función objetivo, la región factible es determinística (ver Figura 1) y cada vértice de esta región tiene cierta probabilidad de ser óptimo. En el caso del vector de recursos, la región factible es aleatoria (ver Figura 2), por lo tanto, cada combinación posible de la solución del problema (vértice) tiene una probabilidad de ser factible, es decir, de satisfacer todas las restricciones. Sin embargo, la condición de optimalidad de cada vértice es determinístico. En ambos casos, el óptimo de la función objetivo es aleatorio. x2 4 E 1 2 x1 + 3x2 ≤ 6 2 2 x1 + x2 ≤ 4 1 3 2 A 2 B 1 Región Factible D 0.5 1 C x1 2 1.5 Figura 1. Región factible determinística del CASO I del problema de distribución en PLE Fuente: Elaboración propia La Figura 2 representa que los puntos de corte de las restricciones no están fijos, sino que varían de acuerdo al valor que tomen las variables aleatorias que definen el vector de recursos. En el ejemplo de esta figura, las restricciones tienen mayor probabilidad de cortar el eje en cierta región, que se representa con una densidad de probabilidad simétrica centrada en un valor determinado. x2 4E 1 1 2 x1 + 3 x2 ≤ b1 2 2 x1 + x2 ≤ b2 3 2 1 A 2 B Región Factible C D 0.5 1 1.5 2 x1 Figura 2. Región factible aleatoria del CASO II del problema de distribución en PLE Fuente: Elaboración propia 7 Para la solución del problema de distribución, se requiere calcular la región en la cual una base dada es óptima o factible, es decir, se desea conocer los valores de las variables aleatorias para los cuales se satisfacen los criterios de optimalidad y/o factibilidad, dependiendo de cual de los dos vectores es estocástico, el de la función objetivo o el vector de recursos. Estas regiones fueron denominadas por Bereanu (1963) como “Regiones de decisión” e implican un particionamiento del espacio muestral del vector aleatorio en regiones mutualmente excluyentes. Cada base i tiene una expresión diferente para el valor óptimo (aleatorio) de la respectiva función objetivo. Finalmente, la función de probabilidad acumulada se puede calcular de la siguiente manera: 1. Caso I: Coeficientes estocásticos de la función objetivo: q (1.1) P[ Z óptimo ≤ φ ] = ∑ P[ La base i es óptima y Z óptimo es ≤ φ ] i =1 Es decir, q (1.2) P[ Z * ≤ φ ] = ∑ P{[ Z * ≤ φ ] ∩ S i } i =1 donde Z* se refiere al valor óptimo de la función objetivo, q es el número de bases factibles de la región solución dado por las restricciones y φ es una constante real arbitraria. S i es la región en la cual la base i se mantiene óptima. 2. Caso II: Coeficientes estocásticos del vector recurso (1.3) w P[ Z óptimo ≤ φ ] = ∑ P[ La base i es factible y Z óptimo es ≤ φ ] i =1 (1.4) w P[ Z * ≤ φ ] = ∑ P{[ Z * ≤ φ ] ∩ U i } i =1 donde w es el número de bases posibles generadas por el problema lineal y U i la región en la cual la base se mantiene factible. 8 1.2 Antecedentes de la resolución del Problema de Distribución de PLE A mediados de la década de los 50, Dantzig (1955), Dantzig et al (1956), entre otros, comienzan a intentar incluir el efecto aleatorio de los parámetros en los problemas de programación lineal. Posteriormente, Sengupta, Tintner y Millham (1963), proponen un método de muestreo que consiste en generar repetidamente números aleatorios de acuerdo con una distribución, sustituirlos en un programa lineal obtener el óptimo de cada problema en forma determinística y luego ajustar una función de densidad con los datos obtenidos. Ellos proponen la aplicación de la Prueba de Kolmogorov-Smirnov para ajustar la data empíricamente. Bereanu (1963), finalmente obtiene la forma cerrada de la función de distribución del óptimo cuando los coeficientes de la función objetivo son combinaciones lineales de una variable aleatoria. Este mismo autor (1963), define lo que él llamó “Regiones de decisión”, que son aquellas regiones en las cuales se debe integrar para encontrar las probabilidades de que una base dada sea óptima o factible. Él encuentra la media, varianza y probabilidades en términos de las integrales sobre las regiones de decisión. Bereanu (1966), utiliza transformadas de Laplace para encontrar la distribución en cada región de decisión en el caso de distribuciones exponenciales. Bracken y Soland (1966), trabajan con los coeficientes del vector c como variables aleatorias distribuidas normalmente y afirman que la función de distribución del óptimo es igual para el primal y el dual (sin demostrarlo). Utilizan el método de Monte Carlo para hallar la Distribución acumulada del óptimo. Prékopa (1966), muestra las hipótesis bajo las cuales la función objetivo sigue asintóticamente una distribución normal. Zinn (1971) propone un algoritmo basado en el Simplex para sistemáticamente obtener todas las bases que satisfacen el criterio (aleatorio) de optimalidad. La iteración termina cuando todas las bases factibles y óptimas han sido encontradas. Ewbank, Foote y Kumin (1974), proponen una transformación para el caso del vector de recursos estocásticos y el vector de los coeficientes de costos, que simplifica los 9 límites de integración utilizados en el cálculo de las probabilidades. Esta trasformación no resultó práctica para distribuciones uniformes. Beer (1972) propone un algoritmo para ordenar las bases según la probabilidad de ser óptimas, con el fin de hacer una aproximación a la distribución que obtenga más rápidamente mayor espacio de probabilidad total. Bereanu (1974) utiliza métodos numéricos para calcular las integrales sobre las regiones de decisión y genera una tabla de probabilidades del óptimo de la función objetivo. Spircu (1977) establece cotas superiores para la distribución del óptimo. Sarper (1993) realiza simulaciones de Monte Carlo para obtener la función de distribución del óptimo y las compara con dos problemas resueltos previamente en forma analítica. Pocos trabajos de la literatura se han enfocado a resolver el problema planteado en forma analítica. Adicionalmente, se desconoce de algún otro estudio en este tema específico (la forma cerrada del problema de distribución) que se haya llevado a cabo luego de 1993. 1.3 Justificación La Programación Lineal puede ser utilizada para modelar y optimizar infinidad de sistemas de la vida real. De la misma manera, el problema de Distribución del óptimo en Programación Lineal Estocástica también puede ser utilizado para apoyar la toma de decisiones en muchas áreas, especialmente aquellas que tienen implicaciones a futuro como, por ejemplo, inversiones a largo plazo. Es por ello que las principales aplicaciones de este problema se encuentran en el área de economía (Sengupta, 1974), agricultura (Sengupta et al, 1963) y selección de portafolios (Bereanu, 1975). Entre algunos ejemplos de la vida real donde ha sido aplicado el problema de distribución podemos nombrar el trabajo de “Estimación del valor esperado del costo de generación eléctrica para un sistema sujeto a restricciones de transmisión” (Hobbs y Yuandong, 1999) y “Distribución de la ruta más corta en redes estocásticas” (Azaron y Modarres, 2005), ambos resueltos a través de simulación. Otra aplicación muy importante es en el contexto 10 de programación de dos etapas bajo incertidumbre (two-stage programming under uncertainty), donde se requiere encontrar la esperanza del óptimo de la función objetivo para utilizarlo como criterio en la selección de las variables de decisión, esto implica resolver el problema de distribución antes mencionado. Un problema real resuelto a través de este método (Problema de dos etapas) se puede encontrar en “Un modelo de programación estocástica de dos etapas con recurso para la gerencia de distribución entre fronteras” (Leung y Wu, 2005), referente la distribución de productos desde China a Hong Kong, para aprovechar mejores costos de producción. La solución exacta de un problema es generalmente deseable pero no siempre obtenible. En este sentido, la simulación muestra ser la técnica más adecuada y más común para tratar el problema de distribución. La forma cerrada del problema de distribución puede ser muy costosa de obtener para problemas reales donde existe un gran número de variables, sin embargo, todavía es muy importante ya que la forma cerrada podría ser utilizada como una herramienta para evaluar la convergencia de cualquier método de simulación o aproximación a la solución real. Determinar si una solución es de alta calidad es una pregunta fundamental en la teoría de optimización. La idea es utilizar la forma teórica para determinar una medida de calidad de la solución a partir de cualquier método de simulación. Sarper (1993) fue uno de los primeros en realizar esta comparación. Este autor tomó dos problemas previamente resueltos y los comparó con los resultados obtenidos a través de la simulación de Monte Carlo para mostrar que este método era efectivo en la resolución del problema. Sin embargo, varias desventajas se observan de este procedimiento: 1. La existencia de pocos ejemplos analíticos resueltos con los cuales hacer la comparación, y cada uno de ellos con condiciones muy particulares en cuanto a las distribuciones de probabilidad utilizadas, impide extender el estudio para otro tipo de problemas. 2. El método utilizado para la obtención de la solución “real” del problema, con el cual se comparó la simulación, también es un método de aproximación. Entonces, decir que los resultados de la simulación se ajustaron muy bien a los de la aproximación, carece de impacto si no se conoce la calidad de ese último método. 11 Es por ello que se hace necesario desarrollar una herramienta que encuentre la forma cerrada del problema de distribución, con el fin de determinar de una manera más exacta la calidad de la solución obtenida a partir de aproximaciones o simulaciones. 1.4 Aplicación del problema en el área de Ingeniería de Producción Muchos problemas de la vida real conducen hacia un particular tipo de programa estocástico donde los coeficientes del vector de costos son estocásticos y el vector recursos es determinístico. Por ejemplo, en problemas de agricultura, las restricciones referidas a disponibilidad de tierras y equipos, son determinísticos, mientras que la cosecha de diferentes tipos de siembra, que representa los coeficientes de la función objetivo a ser maximizados, está sujeta a variaciones aleatorias (Bereanu, 1963). En otro tipo de problema práctico, la matriz tecnológica y el vector de costos, son coeficientes determinísticos, mientras que el vector de recursos tiene componentes aleatorios, usualmente representando incertidumbre en la demanda o en los recursos disponibles (Bereanu, 1963). Para mostrar la aplicación del Problema de Distribución en el área de Ingeniería de Producción, considere los siguientes ejemplos: Planificación de la expansión de la capacidad en manufactura (Bayraksan, 2005) Considere la producción de m tipos de producto en n máquinas de capacidad flexible. Cualquier tipo de producto puede ser producido en cualquier máquina pero con diferentes costos. Instalar la capacidad en las máquinas es costoso y tiene que ser hecho antes de conocer la demanda (aleatoria) para los diferentes tipos de producto. Planes de producción semanal, como por ejemplo, la asignación del número de productos de cada tipo a producir en cada máquina, puede ser realizado luego de conocer la demanda. También existe la posibilidad de subcontratar la producción de algunas piezas a un costo mayor. Se desea saber cuanta capacidad flexible adicionar a cada máquina para que los 12 costos de expansión de la capacidad y la esperanza de los costos de producción semanal sean minimizados. Gerencia de distribución entre fronteras (Leung y Wu, 2005) Uno de los efectos significantes de la implementación de una política económica abierta en China, es que muchas empresas manufactureras de Hong Kong han movido la fabricación de sus productos a las ciudades del Sur de China, para tomar ventaja de los menores costos en producción, salarios y costos de renta. Sin embargo, como consecuencia, los productos terminados deben ser transportados hasta Hong Kong. Los costos unitarios de inventario de cada almacén (en el Sur de China y en Hong Kong) son aleatorios. Antes de conocer este costo, se debe: 1) Planificar las rutas de transporte, es decir, el vehículo i que realiza la ruta j. 2) Determinar la capacidad de transporte de cada vehículo. 3) Determinar el número de viajes a realizar por cada vehículo. Luego de conocer el costo de inventario, se debe decidir el volumen de almacenamiento en cada depósito de China y Hong Kong. Se desea minimizar los costos de transporte, renta, inventario y costos de penalidad en un ambiente de incertidumbre. Planificación Financiera de Múltiples Etapas (Bayraksan, 2005) Se tiene un capital inicial Wo que puede ser invertido en bonos y acciones. Hay t = 1,..., T períodos para invertir y al final de cada período, se puede re-balancear el portafolio. El retorno de acciones y bonos es aleatorio. El objetivo es encontrar una estrategia de inversión para que la utilidad esperada del capital al final del período T, sea maximizada. Todos estos problemas pueden ser resueltos a través de Programación de Dos Etapas con matriz de recursos (Two-stage Programming Problem with recourse, mostrado en el Capítulo 2), que consiste en optimizar un problema tomando en cuenta dos tipos de decisiones: la decisión de primera etapa, que se debe realizar antes de conocer el valor de los parámetros aleatorios, por ejemplo, antes de saber la demanda de un producto se debe elegir el tipo de maquinaria a comprar; y la decisión de la segunda 13 etapa, que se toma luego de conocer la realización de las variables aleatorias, por ejemplo, luego de saber la demanda, se elige el número de unidades a producir en la máquina ya comprada. Para la solución de este problema, se requiere el conocimiento de la función de distribución del óptimo de la función objetivo, el cual es tratado en el presente proyecto. 1.5 Objetivos Este proyecto busca alcanzar los siguientes objetivos: 1.5.1 Objetivo General: Analizar nuevas posibilidades y limitaciones para encontrar la forma cerrada de la función acumulada de probabilidad (CDF) del valor óptimo de la función objetivo en un problema de Programación Lineal Estocástica, en los casos donde los coeficientes de la función objetivo o el lado derecho de las restricciones (vector de recursos) están dados por variables aleatorias con distribuciones de probabilidad conjunta conocidas. 1.5.2 Objetivos Específicos: 1. Realizar una revisión exhaustiva de la literatura en Programación lineal Estocástica en el problema de distribución. 2. Determinar las distribuciones de probabilidad que serán estudiadas en el proyecto con las cuales se representaran los coeficientes estocásticos de los problemas lineales. 3. Desarrollar una herramienta computacional para encontrar la forma cerrada de la distribución del óptimo para el Caso I: Coeficientes estocásticos de la función objetivo, para aquellas distribuciones previamente determinadas en el punto 2. 4. Aplicar las transformaciones de Ewbank et al. (1974) para la resolución del Caso I a la herramienta desarrollada. 14 5. Desarrollar una herramienta computacional para encontrar la forma cerrada de la distribución del óptimo para el Caso II: Coeficientes estocásticos en el vector de recursos, para aquellas distribuciones previamente determinadas en el punto 2. 6. Aplicar las transformaciones de Ewbank et al. (1974) para la resolución del Caso II a la herramienta desarrollada. 7. Mostrar ejemplos numéricos y experiencia computacional 8. Analizar las limitaciones de la herramienta. Determinar el máximo número de variables y restricciones que se pueden manejar con el programa en una cantidad razonable de tiempo. 9. Mostrar brevemente cómo esta herramienta puede ser utilizada para medir la convergencia de otros métodos de simulación o aproximación para la solución del problema de distribución. Capítulo 2 Marco Teórico Este capítulo busca construir la base teórica que sustentará el desarrollo del presente proyecto de investigación. Se inicia con la definición de Programación Lineal (determinística), para luego extender el concepto a Programación Lineal Estocástica. Por último, se cierra con una breve descripción de algunos métodos que se han utilizado anteriormente en la resolución del problema planteado y que serán útiles en el desarrollo de esta investigación. 2.1 Programación Lineal Un Problema de Programación Lineal es una clase de modelo matemático para optimizar (minimizar o maximizar) una función sujeta a varias restricciones de tipo lineal. La forma estándar de un problema de Programación Lineal se define de la siguiente manerai: n max z = ∑ c j x j xj j =1 Sujeto a: n ∑a x ij j ≤ bi , i = 1,2,..., m j =1 x j ≥ 0, j = 1,2,..., n Donde las x j ' s son variables de decisión, es decir, aquellas variables cuyo valor (óptimo) se determinará a través de la solución del problema. La función Z, denominada función objetivo, define la medida de efectividad del sistema, como una función i La información de esta sección fue obtenida de Taha (1972) 16 matemática de las variables de decisión. a ij , bi y c j corresponden a los parámetros del problema, es decir, aquellas variables que pueden ser controladas o que se conocen como, por ejemplo, precios, recursos, demandas, entre otros. Las restricciones representan las limitaciones físicas del sistema. Éstas son funciones lineales que restringen los valores permisibles o factibles de las variables de decisión. Pueden estar en forma de desigualdades ( ≤ ó ≥ ) o de igualdades (=), donde bi representa los recursos disponibles. En este problema se desea encontrar el valor de las variables de decisión tal que la función de efectividad Z sea máxima o mínima, cumpliendo con las limitaciones dadas por los recursos. 2.1.1 Definiciones • Punto Extremo Se define como punto extremo a aquellos puntos de una región S que no pueden ser expresados como una combinación lineal de dos puntos distintos de la misma región. En el caso de Programación Lineal, llamamos puntos extremos factibles a aquellos puntos extremos de la región obtenida a partir de la intersección de todas las restricciones del problema (veáse la Figura 3). • Solución Básica Considere el siguiente sistema de m ecuaciones lineales y r incógnitas (m<r): AX = b donde X representa el vector de las r incógnitas. Se define como solución básica a la solución obtenida al hacer (r-m) variables iguales a cero y resolviendo el sistema de ecuaciones resultante. La solución del sistema resultante es único si y sólo si la matriz cuadrada resultante es No Singular. En ese caso, las m variables obtenidas a partir de la resolución del sistema forman lo que se denomina una base (vector). Si una de las r incógnitas pertenece al vector base, se dice que ésta es una variable básica. 17 • Degeneración Ocurre cuando los valores de una o más variables básicas de un problema son iguales a cero. En este punto, la matriz cuadrada resultante es Singular. Gráficamente, se interpreta como que hay más de dos restricciones pasando por un mismo vértice, es decir, hay más de las restricciones que las necesarias para definir un punto extremo. • Dualidad A cada problema lineal se puede asociar un segundo problema con el cual comparte una relación muy estrecha. La solución óptima de uno de los problemas posee información sobre la solución óptima del otro. Al problema original se le denomina Primal y al segundo, Dual. El problema dual es construido a partir del primal, de la siguiente manera: a. Por cada restricción del primal habrá una variable en el dual. b. Los elementos del lado derecho de las restricciones del primal son iguales a los coeficientes respectivos de la función objetivo del dual. c. Si el primal es un problema de minimización, el dual será de maximización y viceversa. d. El problema de maximización tendrá restricciones de ( ≤ ) mientras que el de minimización tendrá restricciones de ( ≥ ) . e. Las variables de ambos problemas son no negativas. 2.1.2 Propiedades de un Problema de Programación Lineal Entre las propiedades de un problema de programación lineal se encuentran: 1. Al incluir las variables de holgura, el número de variables total es igual a m+n, donde m es el número de restricciones y n el número de variables iniciales del problema. Asimismo, el tamaño de la base será igual a m. 18 2. El número de puntos extremos es finito y tiene como cota superior el número combinatorio: C mm+ n = (m + n)! . n!m! 3. El número de puntos extremos factibles no puede ser determinado con tan sólo los valores de m y n. 4. La región factible de un problema lineal es convexa. Esto quiere decir que cualquier combinación lineal de dos puntos de la región, también estará dentro de la región. En general, una región convexa, puede ser 1) Vacía, 2) Acotada ó 3) No acotada. Es vacía cuando no se pueden satisfacer simultáneamente todas las restricciones. Acotada implica que el espacio solución es un poliedro convexo (ver Figura 3), ya que es definido por un número finito de restricciones lineales. No acotada implica que la región solución no está restringida en al menos una dirección. 5. El óptimo de un problema de programación lineal, si existe, debe ocurrir en un punto extremo de la región factible. 6. Si el óptimo ocurre en más de un punto extremo factible, el valor de la función objetivo será la misma para cualquier combinación lineal de esos dos puntos. Esto es lo que se denomina solución óptima alternativa. 7. Un punto extremo degenerado puede tener más de una solución básica mientras que uno no degenerado tiene una única solución. 8. En el óptimo, la solución del problema primal y dual son equivalentes (toman el mismo valor) 19 Punto extremo factible Punto extremo Region Factible Figura 3. Puntos extremos en un poliedro convexo Fuente: Adaptado de la Figura Poliedro 3D en VertexEnumeration, Mathematica 5.2® 2.1.3 Condiciones de optimalidad y factibilidad en un Problema de Programación Lineal La manera estándar de representar un Programa Lineal (PL) en forma matricial, se muestra a continuación: Maximizar Z = CX Sujeto a: ( A, I ) X = b, b ≥ 0 X ≥0 Donde X = ( x1 , x2 ,..., xm + n )T C = (c1 , c2 ,..., cm + n ) b = (b1 , b2 ,..., bm ) a11 … a1n A= a m1 amn I es la matriz identidad de dimensión m 20 El vector X incluye las variables de decisión y holguras. La matriz A, formada por los coeficientes a ij , se denomina matriz tecnológica, b el vector de recursos y C el vector de los coeficientes de costos. Sea X B i la i-ésima base del PL y X N i el vector de las variables no básicas. Sean Bi y N i las matrices cuyas columnas son las columnas de la matriz ( A, I ) correspondiente a los elementos de los vectores X Bi y X N i respectivamente. Adicionalmente, sean CB y C N los elementos de C asociados con X B y X N . En cualquier base, el valor de la función objetivo puede ser escrito de la siguiente manera: z ( x) = CB i Bi −1b (2.1) Sea a j la j-ésima columna de ( A, I ) y c j el j-ésimo elemento de C, se dice que la i-ésima base satisface el criterio de optimalidad si y sólo si: (2.2) CB i Bi −1a j − c j ≥ 0 ∀j = 1,..., m + n Y se dice que la i-ésima base satisface el criterio de factibilidad si y sólo si: (2.3) Bi −1b ≥ 0 Entonces, se dice que la i-ésima base es factible si se cumple (2.3) y es óptima si (2.2) y (2.3) se cumplen al mismo tiempo. También se puede escribir (2.2) de la siguiente manera: (2.4) CB i Bi −1 N i − C N i ≥ 0 indicando que cada elemento del vector resultante debe ser no negativo. 21 2.2 Conceptos Básicos de Probabilidad y Estadística 2.2.1 Función de distribución de una variable aleatoria Sea X una variable aleatoria. Para un número dado x, la función distribución de probabilidad F ( x) = P( X ≤ x) , representa la probabilidad de que X pertenezca al intervalo (−∞, x] . En el caso de una variable continua, dicha función se calcula integrando la función de densidad de la variable aleatoria desde −∞ hasta x, de la siguiente manera: x (2.5) F ( x) = P( X ≤ x) = ∫ f ( x)dx −∞ Una función de distribución deberá cumplir las siguientes condiciones: 1) No decreciente, 2) lim F ( x) = 0 , 3) lim F ( x) = 1 , 4) F ( x) es continua por la derecha. x →−∞ x →∞ 2.2.2 Distribuciones de Probabilidad a estudiar En el caso de la presente investigación, se desea conocer el comportamiento de la herramienta cuando los coeficientes estocásticos se distribuyen de manera exponencial, gamma o uniforme. Se desea estudiar la distribución exponencial, ya que desde los inicios del problema se comenzó a trabajar con esta distribución; la uniforme, porque algunos de los métodos planteados para la resolución del problema, como por ejemplo, la transformación de Ewbank et al (1974), no funcionaron para esta distribución y se desea saber si a través de la herramienta podemos resolver dicho problema; y finalmente, la distribución gamma, para intentar con una nueva función que no se haya estudiado anteriormente en este problema. Exponencial Una variable aleatoria X tiene distribución exponencial (o exponencial negativa) si su función de densidad está dada de la siguiente forma (2.6) p X ( x) = λ e − λ x , x > 0; λ > 0 . 22 Si las variables aleatorias son independientes, la función de densidad conjunta queda de la siguiente manera: m −λ x p( x1 ,..., xm ) = ∏ λ j e j j , x j > 0; λ j > 0; j = 1,..., m . j =1 (2.7) Gamma Una variable aleatoria tiene distribución gamma si su función de densidad tiene la siguiente forma: p X ( x) = (2.8) ( x − γ )α −1 exp [ −( x − γ ) / β ] , (α > 0, β > 0, x > γ ) β α Γ(α ) La forma estándar de esta distribución se obtiene haciendo β = 1 y γ = 0 , quedando: (2.9) p X ( x) = xα −1e − x , ( x ≥ 0) Γ(α ) Si α > 0 y entero, ésta es una función Erlang, y más específicamente si α = 1 , se obtiene una distribución exponencial. Sean X 1 , X 2 ,..., X m variables aleatorias independientes, donde cada X i tiene una distribución gamma estándar con función de densidad: p X j ( x j ) = {Γ(θ j )}−1 x j (2.10) θ j −1 x j e , x j > 0;θ j > 0; j = 1,..., m . La función de densidad conjunta de X 1 , X 2 ,..., X m , es: −1 m m m θ j −1 p( x1 , x2 ,..., xm ) = ∏ Γ(θ j ) ∏ x j exp −∑ x j j =1 j =1 j =1 (2.11) Uniforme Una distribución uniforme, también llamada distribución rectangular, es una distribución que tiene función de densidad constante. 23 1 p X ( x) = (b − a) 0 (2.12) si a ≤ x ≤ b de otra manera En el caso de m variables aleatorias independientes, la función de densidad conjunta queda de la siguiente manera: (2.13) 1 p( x1 , x2 ,..., xm ) = d1d 2 ...d m 0 si ai ≤ xi ≤ bi (di = bi − ai ) i = 1,..., m de otra manera 2.3 Programación estocástica Poco tiempo después del auge de la programación lineal, los científicos comienzan a preguntarse cómo modelar algo más realista que considere que los parámetros de un problema lineal están sujetos a variaciones aleatorias. El interés inicial por problemas lineales probabilísticos surgió de un problema de asignación de las rutas de un avión cuando la demanda para este servicio era desconocida (Dantzig et al, 1956). Luego, para tratar problemas similares, es decir, en los cuales no se conocía el valor de los parámetros del problema a optimizar, se definió Programación Lineal Estocástica (PLE) como un problema de Programación Lineal donde algunos (o todos) de los coeficientes de la matriz A, c ó b son variables aleatorias con función de probabilidad conjunta conocida e independiente de la variable de decisión. Entonces, se tiene el siguiente problema: max c(ξ ) x x (2.14) s.a. A(ξ ) x ≤ b(ξ ) x≥0 Donde ξ es un evento aleatorio y los demás parámetros como fueron definidos en la sección 2.1.3. Al tener parámetros aleatorios en el problema de programación lineal, no queda muy claro el concepto de “óptimo”, es decir, no está claramente especificado cómo elegir una decisión x para optimizar el problema antes de conocer la realización de ξ (García, 24 1998). Es por ello, que han surgido varios criterios de solución ante el problema mencionado. En general, la resolución del problema se ha dividido en dos grandes categorías: El “Activo”, también llamado “Here and now” y el “Pasivo”, también llamado “Wait and see”. 2.3.1 Modelo activo de PLE El modelo Activo, también llamado “Here and now”, fue inicialmente introducido por Sengupta, Tintner y Morrison (1963). Estos problemas se basan en la hipótesis de que la decisión x se toma antes de conocer la realización de las variables aleatorias. El método más usual para resolver este problema consiste en reemplazar el problema por un programa determinista equivalente. Entre las formas más comunes de resolución se encuentran las siguientesii: • Programas con restricciones probabilísticas (Chance constrained problems): En este tipo de problemas no es necesario que las restricciones se satisfagan totalmente, sino que es suficiente con que se verifiquen con una cierta probabilidad dada. P { A(ξ ) x ≤ b(ξ )} ≥ α , donde α es un número perteneciente al intervalo [0,1] . Generalmente, en este problema se busca optimizar la esperanza matemática de la función objetivo, es decir, max o min E[c(ξ ) x] iii. • Problemas de Mínimo Riesgo: donde el objetivo es maximizar la probabilidad de que la función objetivo c(ξ ) x no exceda una cierta constante k dada. Es decir, resolver max P {c(ξ ) x ≤ k } donde k es un parámetro elegido por el decisor. • Programas estocásticos con recurso: Considere el problema de programación estocástica mostrado en (2.14). Sea x la decisión de un modelo lineal que se debe tomar antes de la realización de ξ (denominada decisión de primera etapa). Sea y la decisión otro modelo lineal, que está de alguna ii iii Para mayor información véase, por ejemplo, Prékopa (1995) y García (1998). Maximizar una función es equivalente a minimizar el negativo de dicha función. 25 manera asociado al primero, y que se debe tomar después de la realización de ξ y de la toma de decisión en x (denominado decisión de segunda etapa). El esquema de toma de decisiones viene dado de la siguiente manera: 1) decisión en x, 2) observación del vector aleatorio, 3) decisión en y. De acuerdo a esto, hay dos problemas a optimizar: la decisión de “hoy” (x) y la decisión de “mañana” (y). Como la decisión de hoy podría ser “optimizada” si de alguna manera se supiera lo que podría pasar mañana, el objetivo generalmente es optimizar la función objetivo del problema de primera etapa junto con el valor esperado del óptimo del problema de segunda etapa, como se muestra a continuación: max[cT x + Ε[Q( x, ξ )] s.a. Ax = b x≥0 donde A es una matriz ( m1 xn1 ) , b y c tienen las dimensiones correspondientes y Q( x, ξ ) es el óptimo de la función objetivo del problema de la segunda etapa, el cual se expresa de la siguiente manera: Q( x, ξ ) = max qT (ξ ) y s.a. Wy = h(ξ ) − Tx y≥0 (2.15) donde W es una matriz ( m2 xn2 ) , T es de tamaño ( m2 xn1 ) , h(ξ ) es un vector aleatorio de tamaño ( m2 ) y q (ξ ) es un vector aleatorio de tamaño ( n2 ) . Resolver (2.15) es equivalente a resolver el problema de distribución, que ha sido introducido anteriormente y que se explica con más detalle a continuación. 2.3.2 Modelo pasivo de PLE: El problema de Distribución En el Capítulo 1, se introdujo el concepto del problema de Distribución de Programación Lineal Estocástica. Como se dijo anteriormente, se tiene un problema lineal en el cual los coeficientes de la función objetivo o del vector de recursos están dados por variables aleatorias con distribución de probabilidad conjunta conocida. Este problema parte de la hipótesis de que el decisor es capaz de esperar hasta la realización 26 de las variables aleatorias para tomar una decisión. Por ello, este modelo no es directamente un problema de decisión, en el sentido de que no encuentra el valor óptimo de las x ' s . En cambio, este problema se centra obtener la distribución de probabilidad del óptimo de la función objetivo, que a fin de cuentas también es una herramienta para la toma de otras decisiones no relacionadas con los valores óptimos de las variables de decisión. Para dar una mejor ilustración, considere el siguiente ejemplo: La compañía Z produce productos A. Cada uno de estos productos puede ser producido en dos máquinas diferentes (1 ó 2) y se debe elegir qué máquina comprar para el proceso de producción. El costo unitario de producción es diferente para cada máquina y depende de factores aleatorios como el precio del dólar, del petróleo, entre otros. Al momento de comprar la máquina, todavía no se conocen estos valores, pero éstos sí se conocerán al momento de planificar la producción semanal o mensual, punto en el cual se resolverá un problema lineal determinístico con el fin de conocer el número óptimo de unidades a producir (ver Figura 4). Conocimiento de los precios Del petróleo y del dólar 0 Tiempo Toma de decisión De la máquina a comprar Toma de decisión De los valores óptimos Del problema lineal Figura 4. Esquema de toma de decisiones para el ejemplo de las máquinas a comprar Fuente: Elaboración propia En este problema se desea elegir la máquina que tenga mayor probabilidad de alcanzar los costos más bajos de producción al momento de resolver el problema lineal sujeto a las limitaciones de las capacidades de las máquinas. Luego del planteamiento de este problema, es de gran ayuda el conocimiento de la distribución de probabilidad del costo óptimo para cada una de las máquinas. Supongamos que se puede conocer la función de distribución del óptimo de la función objetivo del problema lineal, es decir, la distribución de probabilidad del costo óptimo para cada máquina, y supongamos que vienen dados por las densidades de probabilidad de la Figura 5. 27 Distribución del Óptimo con Máquina 1 Distribución del Óptimo con Máquina 2 70% 70% $ 48.000 $ 57.000 $ 110.000 $ 130.000 Figura 5. Función de densidad del óptimo para la Máquina 1 y Máquina 2 Fuente: Elaboración propia Según la Figura 5, con la máquina 1 hay 70% de probabilidades de que el costo de producción se encuentre entre $48.000 y $57.000. En cambio, con la máquina 2, hay 70% de probabilidades de que el costo óptimo de producción esté entre $110.000 y $130.000. Si sólo se toma en cuenta esta información, ¿cuál máquina se debe comprar? Obviamente la máquina 1, que tiene mayor probabilidad de obtener menores costos. Análogamente, también se puede utilizar el criterio de la esperanza, es decir, seleccionar aquella máquina cuya esperanza del valor óptimo sea menor. En el caso de encontrar la esperanza del óptimo, una tentación natural sería reemplazar los parámetros estocásticos por su valor esperado y luego resolver el problema determinístico resultante. Sin embargo, hay que ser cuidadoso con este procedimiento ya que se puede demostrar que, generalmente: E[ Z * ( A, b, c)] ≠ Z *[ E ( A), E (b), E (c)] , donde E se refiere a la esperanza matemática, A,b,c son los parámetros del problema lineal y Z* es el valor óptimo de la función objetivo. Nótese nuevamente que el problema de distribución no halla el valor óptimo de las variables de decisión del problema lineal y por eso se dice comúnmente que este problema no es un problema de decisión. 2.3.3 Solución del problema de Distribución del Óptimo Luego de mostrar el sentido que tiene el problema de distribución en la toma de decisiones, a continuación se explicará cómo se obtiene la solución del problema. Se 28 inicia con algunas definiciones, para luego mostrar el procedimiento numérico involucrado. Como fue mencionado en el Capítulo 1, la solución del problema depende del caso planteado. Si se tiene el Caso I: coeficientes estocásticos de la función objetivo, la solución requiere el cálculo de la región en la cual cada base factible del problema es óptima. Si se tiene el Caso II: vector de recursos estocásticos, la solución requiere el cálculo de la región en la que cada base óptima sea factible (ya que el criterio de optimalidad es determinístico). Regiones de decisión en el problema de distribución Uno de los resultados importantes concernientes al problema de Distribución es que el espacio muestral de los coeficientes aleatorios permite una partición en conjuntos mutualmente excluyentes tal que a cada uno de estos conjuntos, denominados “Regiones de Decisión”, se le puede asignar una base de PLE, la cual permanece óptima para todos sus puntos muestrales (Bereanu, 1974). Estas Regiones de Decisión, llamadas así por Bereanu, no dependen de la distribución de los coeficientes aleatorios del problema y adicionalmente se tiene que el número de regiones es finito, ya que el número de bases óptimas es finito. 2.3.3.1 Caso I Considere el Caso I: en el cual sólo el vector C es estocástico y tiene función de densidad conjunta f (c) conocida. Sea C el espacio probabilístico definido por el vector c = (c1 , c2 ,..., cn ) . Bereanu (1963), establece que el espacio C sea particionado por los conjuntos: (2.16) iv S i = {c | CB i Bi −1a j − c j ≥ 0} ∀j ∈ { j | x ij es una var iable no basica} iv , O de manera similar, como se establece en la ecuación (2.4). 29 donde i se refiere a la i-ésima base del problema lineal. Adicionalmente, se tiene que el conjunto de puntos {C | CB i Bi −1a j − c j = 0} es de medida de probabilidad cero. También se tiene que para i ≠ j : P[ S i ∩ S j ] = 0 (2.17) Para ilustrar el cálculo de las regiones de decisión, considere el siguiente problema de programación lineal estocástica: max Z = C1 x1 + C2 x2 (2.18) xi s.a. x1 + 2 x2 ≤ 10 2 x1 + x2 ≤ 10 x1 , x2 ≥ 0 f (c1 , c2 ) = 1 −101 ( c1 + c2 ) e 100 En función de hallar las regiones de decisión para cada base de este problema, se debe: 1. Calcular todas las bases factibles del problema 2. Para cada base factible, calcular la región de decisión, dada por la ecuación (2.16) c2 X2 10 D 5 C A 2 4 B X1 c1 6 8 10 -5 -10 Figura 6. Región factible del ejemplo (2.18) Fuente: Elaboración propia La Figura 6, muestra las bases factibles del problema (2.18). Las bases son: A= { X 1 , X 2 } , B= { X 1 , X 3 } , C= { X 3 , X 4 } , D= { X 2 , X 4 } 30 A continuación se muestra el cálculo de la región de decisión para la base A = {X1, X 2} : Calculando todos los parámetros de la base 1 (Base A), se tiene: 1 2 ; B1 = 2 1 1 b = [10,10]T C B = [C1 , C 2 ] ; Z1* = 10C1 10C2 + 3 3 −1 1 −1 C B B1 N 1 − C N 1 1 2 1 0 0 C1 2C 2 2C1 C 2 = [C1 , C 2 ] + , − − = − 3 3 3 2 1 0 1 0 3 Para generar las restricciones de la región de decisión, se establece que cada uno de los elementos del vector anterior sea mayor o igual a cero. Entonces, la región de decisión queda de la siguiente manera: 2C C C 2C S 1 = − 1 + 2 ≥ 0 ∩ 1 − 2 ≥ 0 3 3 3 3 En la Figura 7, se muestra la región de decisión correspondiente a la base A. c2 30 25 20 Región de decisión 15 10 C2 5 C1 = 2 c1 5 10 15 20 25 30 1 Figura 7. Región de decisión S Fuente: Elaboración propia C S 1 = C2 ≥ 1 ∩ 2C1 ≥ C2 2 La interpretación de la región calculada es que la base A = { X 1 , X 2 } , permanecerá óptima para cada punto muestral de la región S 1 . Calcular la probabilidad de que una 31 base es óptima es equivalente a calcular la probabilidad de que las variables aleatorias pertenezcan a la región de decisión S i . PG = P[G es una base óptima] Esto se traduce en integrar la función de densidad conjunta del vector c sobre la región S i : n PG = ∫ ...i ∫ f (c)∏ dci (2.19) S i =1 donde f (c) es la función de densidad conjunta del vector aleatorio c, n es el número de variables de decisión del problema lineal y S i como fue definida anteriormente. Cálculo numérico de la función de distribución Siguiendo la misma notación que Ewbank et al (1974), la función de distribución del óptimo para el Caso I viene dada por: q P[ Z * ≤ φ ] = ∑ P{[ Z * ≤ φ ] ∩ S i } (2.20) i =1 donde φ es una constante arbitraria y q el número de bases factibles del problema lineal. Para mayor facilidad, se define PG (φ ) = P{[ Z * ≤ φ ] ∩ S G } (2.21) es decir, PG (φ ) = P[ Z * ≤ φ y G es una base óptima]. Para evaluar el lado derecho de la ecuación (2.21), se calcula la siguiente integral para la base G (factible): (2.22) PG (φ ) = ∫ ...∫ CB G BG −1b ≤φ ∩ S G n f (c)∏ dci i =1 La región de integración del lado derecho de la ecuación (2.22), corresponde a la intersección de la región de decisión de la base G, con la región en la cual el óptimo de la función objetivo (Z*) es menor que una constante arbitraria φ . Para dar un ejemplo, 32 considere la base A del problema (2.18), cuya función objetivo óptima es Z1* = 10C1 10C2 . La región de integración viene dada por: + 3 3 C1 10 Z * = ( C1 + C2 ) ≤ φ ∩ C2 ≥ ∩ 2C1 ≥ C2 3 2 (2.23) la cual se muestra en la Figura 8. c2 30 325 φ 10 Región de decisión 20 15 10 Z = ( C1 + C2 ) ≤ φ 3 * 1 R egión d e in t egr a ció n 10 C2 C1 = 2 5 5 10 15 10 C ( C1 + C2 ) ≤ φ ∩ C2 ≥ 1 ∩ 2C1 ≥ C2 3 2 20 25 3φ 10 c1 30 Figura 8. Región de integración para el cálculo de la función de distribución del óptimo. Base A del problema (2.18) Fuente: Elaboración propia Para integrar la ecuación (2.22) sobre la región (2.23), se debe separar en dos regiones, tal y como se muestra en la Figura 9. La solución estará en función de la constante arbitraria φ , y representará la probabilidad de que el óptimo sea menor o igual a φ y la base A sea óptima. 33 c2 30 C1 = 25 1 φ 10 20 15 R2 R1 10 1 C1 = φ 5 5 c1 5 10 15 20 25 30 Figura 9. Separación de la región de integración del problema (2.18) Fuente: Elaboración propia PG1 = ∫∫ f (c1 , c2 )dc1dc2 + ∫∫ f (c1 , c2 )dc1dc2 (2.24) R1 R2 1φ 10 2 c1 0 c1 2 =∫ ∫ 1φ 3φ − c1 5 10 f (c1 , c2 )dc1dc2 + ∫ 1φ 10 ∫ f (c1 , c2 )dc1dc2 c1 2 Luego, 1 1 −3φ /100 PG1 = − e (100 + 3φ ) 3 300 En resumen, el procedimiento para el cálculo de la solución del problema de distribución en el Caso I sería: 1. Calcular todas las bases factibles del problema. 2. Para cada base factible, calcular la región de decisión, dada por la ecuación (2.16) que representa la región en la cual la base se mantiene óptima. 3. Calcular la integral dada por la ecuación (2.22) para cada base, que representa la probabilidad de que el óptimo sea menor o igual a φ y la base i sea óptima. 4. Sumar todas las probabilidades PG (φ ) de las bases factibles, es decir, calcular P[ Z * ≤ φ ] = ∑ PG (φ ) G 34 2.3.3.2 Caso II Un análisis similar al anterior puede ser realizado si solamente el vector de recursos b es estocástico. En este caso, la región de decisión sería: { } U i = b ( Bi −1b ) ≥ 0∀j = 1,..., m (2.25) j U i corresponde a la región en la cual la base i se mantiene factible. De manera análoga al caso anterior, se cumple que P[U i ∩ U j ] = 0 , para i ≠ j (2.26) Luego, la función de distribución del óptimo se calcula mediante la siguiente ecuación w P[ Z * ≤ φ ] = ∑ P[ Z * ≤ φ ∩ U i ] (2.27) i =1 En este caso, w es el número de bases posibles generadas por el problema lineal y φ igualmente una constante arbitraria. Ahora, se tiene que: PG = P[G es una base factible] Probabilidad que se calcula mediante la siguiente ecuación: m PG = ∫ ... ∫ f (b)∏ dbi (2.28) i =1 Ui Dado que una base puede tener probabilidad mayor que cero de ser factible y no necesariamente satisfacer el criterio determinístico de optimalidad, se establece: (2.29) 1, si G satisface el criterio de optimalidad de otra manera 0, αG = Entonces, la probabilidad de que Z* sea menor que φ y la base G sea factible queda de la siguiente manera: (2.30) PG (φ ) = α G ∫ ... CB B −1b ≤φ ∩U G ∫ m f (b)∏ dbi i =1 35 Por último, el procedimiento para calcular la función de distribución del Caso II, queda de la siguiente manera: 1. Calcular todas las combinaciones básicas posibles dadas por el problema lineal. Esto se traduce en una combinación de ( m + n ) variables en un vector de tamaño m. 2. Tomar en cuenta sólo a aquellas bases que cumplen el criterio determinístico de optimalidad. 3. Calcular la región de decisión de cada base que cumpla el criterio de optimalidad, dada por la ecuación (2.25) 4. Calcular la integral dada por la ecuación (2.30) 5. Calcular P[ Z * ≤ φ ] = ∑ PG (φ ) G 2.3.4 Transformación de Ewbank et al. (1974) Desde el momento en que se encontró la forma de calcular la distribución de probabilidad del óptimo de manera sistemática, como fue mostrado anteriormente, otro problema fue la dificultad de hallar los límites de integración de las ecuaciones (2.22) y (2.30), que representan los límites de la región de optimalidad (o factibilidad) intersectada con la región en la cual Z* es menor a un número arbitrario φ . Los límites de integración pueden ser fácilmente deducidos en el caso bidimensional, como en el problema (2.18), pero cuando se trata de más de tres variables este cálculo se torna un poco más complicado. Para abordar este problema, Ewbank, Foote y Kumin (1974), desarrollaron una transformación para resolver el Caso I y II del PLE utilizando el teorema del Jacobiano, la cual simplifica las regiones de integración. Uno de los objetivos del presente proyecto es implementar dicha transformación en la herramienta computacional desarrollada para calcular la solución al problema de distribución. Para ello, se presenta a continuación una breve descripción del trabajo de Ewbank et al. (1974), el cual servirá como base teórica para la implementación del mismo en la herramienta propuesta. 36 2.3.4.1 Transformación CASO I Para el desarrollo de la transformación Ewbank et al (1974) se asumen las siguientes suposiciones: 1. Hay una probabilidad positiva de que existe una solución óptima no vacía y acotada. 2. La función de densidad de c es continua a trozos 3. No hay una solución básica factible degenerada Dado esto, una base G satisface el criterio de optimalidad (2.2) si se cumplen las siguientes condiciones: C B B −1 A − C = s ≥ 0 (2.31) y C B B −1 = t ≥ 0 (2.32) donde C = {c1 , c2 ,..., cn } Se puede demostrar que si = 0 cuando xi pertenece a la base G si i ≤ n v. Por otra parte, ti = 0 cuando xi pertenece a la base G si i > n vi. Sea h el número de variables xi que pertenecen a la base G para i ≤ n , es decir, hay h xi ' s en la función objetivo que son variables básicas. Entonces se plantea las siguientes definiciones: 1. Se define xˆi como las variables de decisión de la función objetivo que pertenecen a la base, donde i = 1,..., h . 2. Se define Bˆi como la columna correspondiente a la variable xi de la matriz A vii, si xi es una variable básica, y cuyas filas corresponden a las restricciones que se satisfacen en forma de igualdad, es decir, que las variables de holgura correspondientes a esas v Es decir, ocurre cuando vi vii xi es básica y no es una variable de holgura. xi es básica y sí es una variable de holgura, por lo tanto no aparece en la función objetivo. Decir que la variable xi está contenida en la matriz A, es equivalente a decir que i ≤ n Cuando 37 restricciones son iguales a cero. Se puede demostrar que el número de variables de holgura iguales a cero en cada vértice es igual a h, por lo tanto el tamaño del vector columna Bˆi también es igual a h. 3. Se denota A como la columna correspondiente a la variable xi de la matriz A, si xi es una variable no básica, y cuyas filas corresponden a las restricciones que se satisfacen en forma de igualdad. 4. Se define b como el vector formado por los elementos de b, cuyas filas corresponden a las restricciones del problema que son satisfechas en forma de igualdad. 5. Se definen los vectores, tˆ = (t1 , t2 ,..., th ) y s = ( s1 , s2 ,..., sn − h ) . De la ecuación (2.31) y ˆ ˆ y s = CB B −1 A − C = tA ˆ − C respectivamente. (2.32) se deriva que cˆB = tB Con estas definiciones se proponen las siguientes transformaciones: (2.33) ˆ ˆi ci = tB (2.34) ˆ i − si ci = tA si xi es básica si xi es no básica El Jacobiano de la transformación está dado por: ∂c ∂c J c = det i , p ∂t j ∂sq h Como para i ≤ h , ci = ∑ t j B ji , entonces i =1 ∂ci = Bki , por lo que el Jacobiano de la ∂tk transformación queda representado como: J c = (−1) n − h det( Bˆ T ) = (−1)n − h det( Bˆ ) (2.35) Luego se substituye la transformación en la función de densidad conjunta f (c1 , c2 ,..., cn ) viii. Ejemplo numérico de la transformación Ewbank et al (1974) o Ejemplo 2.1. (Ewbank, 1972) -Transformación CASO I max z ( x1 , x2 ) = C1 x1 + C2 x2 viii Para mayor información al respecto, el lector puede referirse a Ewbank et al (1974). 38 Sujeto a: x1 + 2 x2 + x3 = 3 3x1 + x2 + x4 = 5 (1) (2) 4c c , 0 ≤ c1 ≤ 1, 0 ≤ c2 ≤ 1 f (c1 , c2 ) = 1 2 0, de otra manera Recordemos que la transformación de cada ci depende de si la variable xi correspondiente es básica o no. Si pertenece a la base, se sustituye ci por Bˆi ti , de lo contrario, se sustituye ci por ti A − si . Para una mejor visualización de la transformación, a continuación se presenta la Tabla 1, que muestra cada uno de los elementos de la transformación y el correspondiente valor según las bases originadas por el problema estocástico del Ejemplo 2.1. Tabla 1. Transformación Ewbank et al (1974) para cada base factible del ejemplo 2.1 Elemento Base 1 Base 2 Base 3 xˆi { x1 , x2 } { x1} { x2 } h 2 1 1 B 1 2 3 1 1 1 3 0 2 0 1 1 Restricción en igualdad {1, 2} {2} {1} {t1 , t2 } {t1} {t2 } {∅} {s1} {s1} 1 2 3 1 {3} {2} {∅} {1} {1} {3, 5} {5} {3} tˆ si B̂ A b Base G 1 : { X 1 , X 2 } Para la base 1, ambas variables ( x1 , x2 ) correspondientes a c1 y c2 , son básicas, por t 1 2 lo que la transformación es la siguiente: ( c1 , c2 ) = tB = 1 . = ( t1 + 3t2 , 2t1 + t2 ) t2 3 1 Entonces, f (ctransf . ) = f ( t1 + 3t2 , 2t1 + t2 ) = 8t12 + 28t1t2 + 12t2 2 39 J r = det( B) = 5 Los límites de la variable transformada deben cumplir los límites de la variable aleatoria original. En este caso 0 ≤ c1 ≤ 1, 0 ≤ c2 ≤ 1 , entonces otra restricción para las variables transformadas queda de la siguiente manera: 1, si 0 ≤ t1 + 3t2 ≤ 1 αR = 0 ≤ 2t1 + t2 ≤ 1 0, de otra manera ∞∞ Quedando: PG1 = ∫ ∫ α R ( 8t12 + 28t1t2 + 12t2 2 ) (5)dt1dt2 . PG1 = 0 0 59 ≈ 0.86 72 Para calcular la distribución del óptimo en cada base, se integra sobre la intersección de con la región {ti | Z (ti ) ≤ φ} 11 59 φ≥ 72 5 4 3 259φ 0 ≤φ ≤ 4050 2 F (φ ) = 2 4 φ φ φ 1125 − 16000 + 15000 − 268 3 5 ≤φ ≤ 29400 2 3 2 4 φ φ φ 5( − 4273 + 9768 − 5850 + 375 3 − 0≤φ ≤ 14112 2 Base G 2 : { X 1 , X 3 } (c1 , c2 ) = (3t1 , t1 − s1 ) ˆ = 8t12 + 28t1t2 + 12t2 2 Z = tb PG2 = 181 9φ 4 PG2 (φ ) = 1250 0 1 18 φ > 53 0 ≤ φ ≤ 53 φ <0 40 2.3.4.2 Transformación CASO II Ahora considere que sólo el vector b es estocástico y f (b) es la función de densidad conjunta de b = (b1 , b2 ,..., bm ) . Se asume que hay probabilidad mayor que cero de que exista una solución acotada. Sea X i una solución básica al problema. Esta solución básica, representa un punto extremo de una solución factible, denotado como E o . Como b está permitido a variar sobre su rango, el punto E o cambia su posición en el espacio de dimensión m. Como bien se ha explicado anteriormente, el cambio de b no afecta la condición de optimalidad del punto E o . Entonces, el primer paso es determinar si ese punto es óptimo, para luego determinar las regiones en las cuales esa base se mantiene factible, es decir, aquellas donde se cumple B −1b = r ≥ 0 (2.36) Luego, de (2.36) se obtiene que: (2.37) b = Br La probabilidad de que E o permanezca óptima con la transformación de (2.37), queda de la siguiente manera: (2.38) P = ∫∫ r ≥0 ∫ f ( Br ) | J r | dr1dr2 ...drm Donde J r es el Jacobiano de la transformación, que viene dado por: ∂b J r = det k ∂ri (2.39) m Dado que bk = ( Br )k = ∑ Bkj rj , y j =1 (2.40) ∂bk = Bki , esto implica que: ∂ri J r = det[ Bki ] = det( B) El cálculo de la distribución de Z * es la probabilidad P[ Z (b) ≤ φ y X i sea una base factible], con Z (b) = CB r , quedando: 41 PG (φ ) = α G ∫∫ (2.41) CB r ≤φ ∩ r ≥ 0 ∫ f ( Br ) | J r | dr1dr2 ...rm Ejemplo analítico de Ewbank (1974) p. 42. max z ( x1 , x2 ) = 2 x1 + 3x2 Sujeto a: x1 + x2 + x3 = b1 x1 + 2 x2 + x4 = b2 b1 ∼ Exp(1) , b2 ∼ Exp(2) La función de densidad conjunta queda: f (b1 , b2 ) = 2e − ( b1 + 2b2 ) b1 , b2 ≥ 0 Base G 1 : { X 1 , X 2 } 1 1 r1 1 1 B1 = ; Br = 1 2 r = ( r1 + r2 , r1 + 2r2 ) = ( b1 , b2 ) 1 2 2 Entonces, f ( Br ) = 2e −[( r1 + r2 )+ 2( r1 + 2 r2 )] = 2e− (3 r1 +5 r2 ) J r = det( B) = 1 Recordemos que para el Caso II, se debe calcular la probabilidad de que una base sea factible. Con el cambio de variable b = Br , la condición de factibilidad queda r = B −1b ≥ 0 . Es por ello que los límites para la transformación del Caso II siempre serán: (2.42) {ri | ri ≥ 0} Sin embargo, los límites de la variable transformada deben cumplir los límites de la variable aleatoria original. En este caso b1 , b2 ≥ 0 , entonces otra restricción para las variables transformadas queda de la siguiente manera: (2.43) r1 + r2 ≥ 0 r1 + 2r2 ≥ 0 En este ejemplo, por ser distribuciones exponenciales, cumplir con (2.42) es equivalente a cumplir (2.43), pero esta situación no se cumple para el caso de distribuciones uniformes u otra distribución cuyos límites sean diferentes a {bi | bi ≥ 0} . 42 Finalmente, los límites de integración para calcular la probabilidad de que la base sea factible quedan entre cero e infinito. ∞∞ PG1 = ∫ ∫ 2e− (3 r1 +5 r2 ) (1)dr1dr2 = 0 0 2 15 Base G 2 : { X 1 , X 3 } 1 1 1 1 r1 B2 = ; Br = 1 0 r = ( r1 + r2 , r1 ) = ( b1 , b2 ) 1 0 2 −[( r1 + r2 ) + 2( r1 )] f ( Br ) = 2e = 2e− (3r1 + r2 ) J r = det( B) = 1 ∞∞ PG2 = ∫ ∫ 2e − (3r1 + r2 ) (1)dr1dr2 = 0 0 2 3 Base G 3 : { X 2 , X 4 } 1 0 1 0 r1 B3 = ; Br = 2 1 r = ( r1 , 2r1 + r2 ) = ( b1 , b2 ) 2 1 2 −[( r1 ) + 2(2 r1 + r2 )] f ( Br ) = 2e = 2e − (5 r1 + 2 r2 ) J r = det( B) = 1 ∞∞ PG3 = ∫ ∫ 2e− (5 r1 + 2 r2 ) (1)dr1dr2 = 0 0 1 5 Para calcular la distribución del óptimo en cada base, se integra sobre la intersección de (2.42) con la región {ri | Z (r ) ≤ φ} Base G 1 : { X 1 , X 2 } Z1 (r ) = CB1r = 2r1 + 3r2 Región de integración: {2r1 + 3r2 ≤ φ ∩ r1 ≥ 0 ∩ r2 ≥ 0} φ φ 3 2 PG1 (φ ) = ∫ 0 − 3r 2 2 ∫ 2e − (3r1 +5 r2 ) (1)dr1dr2 = 0 2 6 −53φ 4 −32φ + e − e 15 5 3 Base G 2 : { X 1 , X 3 } Z 2 (r ) = CB 2 r = 2r1 Región de integración: {2r1 ≤ φ ∩ r1 ≥ 0 ∩ r2 ≥ 0} ∞ PG2 (φ ) = ∫ 0 φ 2 ∫ 2e 0 − (3 r1 + r2 ) (1)dr1dr2 = 2 2 −32φ − e 3 3 43 Base G 3 : { X 2 , X 4 } Z 3 (r ) = CB 3 r = 3r2 Región de integración: {3r2 ≤ φ ∩ r1 ≥ 0 ∩ r2 ≥ 0} ∞ PG1 (φ ) = ∫ 0 φ 3 ∫ 2e 0 − (5 r1 + 2 r2 ) 1 1 −5φ (1)dr1dr2 = + e 3 5 5 Finalmente, la función de distribución del óptimo de la función objetivo, queda de la siguiente manera: -5φ -3φ F(φ ) = 1 + e 3 - 2e 2 A lo largo de este capítulo se ha ilustrado algunos de los cálculos matemáticos requeridos para la solución del problema. De este procedimiento se resaltan los siguientes puntos: 1. El número de bases factibles del problema va aumentando a medida que aumenta el número de variables y restricciones del problema, lo que implica mayor número de iteraciones. 2. La complejidad del problema va aumentando a medida que se tienen más parámetros estocásticos: las regiones de decisión se hacen más complicadas, el número de integrales a resolver aumenta y a su vez se hacen más complejas por el número de variables involucradas. 3. La única forma de resolverlo en forma cerrada es de forma manual o con un método de programación simbólica, que de hecho no existía para el momento en que el problema fue planteado. Por estas razones, los científicos comenzaron a buscar métodos de aproximación que evitaran estos cálculos de forma manual y que permitieran obtener la solución de manera práctica y en menor tiempo. 44 2.4 Medición de la convergencia de un método de aproximación dado a través de la forma cerrada A continuación, se muestran algunos métodos de aproximación utilizados en la resolución del problema. Estos métodos sólo se mencionan a manera de ilustración, pero no se discutirán en el presente proyecto. • Integración Numérica (Bereanu, 1974) • “Quantile arithmetic” (Dempster, 1974) • “Minimax approach” (Dyson, 1978) • Simulación de Monte Carlo (Sarper, 1993) Dicho esto, supongamos que se tiene un método para calcular de manera aproximada la distribución del óptimo de la función objetivo, cuya solución a cierto problema está dada por la Figura 10. PDF Metodo A 0.2 0.15 0.1 0.05 φ 2 4 6 8 10 Figura 10. Función de densidad del óptimo de la función objetivo calculada con el método de aproximación A Fuente: Elaboración propia Ahora, supongamos que con las nuevas herramientas computacionales de la actualidad, podemos calcular la solución exacta del problema anterior, cuya función de densidad se muestra en la Figura 11. 45 PDF Teorica 0.25 0.2 0.15 0.1 0.05 φ 2 4 6 8 10 Figura 11. Función de densidad del óptimo de la función objetivo calculada en forma cerrada Fuente: Elaboración propia Colocando ambas distribuciones en una misma gráfica, se obtiene la Figura 12. PDF HSimulacion 0.25 y Teorica L 1 0.2 0.15 2 0.1 0.05 φ 2 4 6 8 10 Figura 12. Gráfico de las funciones de densidad teórica y aproximada Fuente: Elaboración propia La pregunta planteada aquí es ¿cómo determinar si el método de aproximación es suficientemente bueno para los efectos del tomador de decisiones, a partir de la solución teórica? Antes del análisis, no es siempre obvio que el error de aproximación incurrido en el cálculo la función objetivo dé lugar a una diferencia significativa en la decisión a tomar. Por ejemplo, en el caso del problema de programación de dos etapas, se utiliza la esperanza del problema de segunda etapa como parámetro para decidir los valores óptimos del problema de primera etapa. Puede ocurrir que la variación en la esperanza del óptimo sea del 1% en comparación a la solución teórica. Si el decisor percibe que esta variación es económicamente importante y afecta significativamente la decisión de la primera etapa, entonces es necesario tomar medidas para que la calidad de la solución sea aún mejor. 46 En este sentido, cabe desarrollar metodologías para la comparación entre la solución teórica y la solución aproximada, cosa que no se hará en el presente trabajo de manera formal, pero sí se mostrarán ejemplos de una posible comparación. Para medir la diferencia entre las dos funciones, se puede pensar en la máxima diferencia entre la función de distribución teórica y la función de distribución aproximada, de la siguiente manera: (2.44) D = sup Fteórica ( x) − Faprox ( x) Otra manera, es mediante la comparación de la esperanza de ambas distribuciones. Aunque para aplicaciones de la vida real no se resolverá el problema de distribución en forma cerrada, siempre estaremos interesados en conocer el error cometido al utilizar cualquier método de aproximación. Capítulo 3 Metodología Como se explicó inicialmente, el objetivo general de este proyecto es explorar nuevas posibilidades en la resolución del problema de distribución de PLE en forma cerrada. En el capítulo anterior se presentó el procedimiento para resolver este problema analíticamente y en este capítulo se describe la metodología llevada a cabo para implementar dicho procedimiento en una herramienta computacional. La idea es encontrar la forma cerrada de la distribución del óptimo de varios problemas lineales estocásticos con cuyos parámetros presentan diferentes distribuciones de probabilidad, para diferente número de variables (n) y restricciones (m), comenzando desde tamaño n=m=3 hasta alcanzar el máximo número que permita resolver la herramienta en un período de tiempo prudencial. En primer lugar, se describe el software y hardware utilizado para el desarrollo de la herramienta y posteriormente se da una descripción más detallada del algoritmo que se propone para la resolución del problema. Asimismo, se describen algunos comandos del paquete que fueron los factores claves en el desarrollo de la herramienta elaborada. 3.1 Hardware La herramienta computacional fue desarrollada en una Dell portátil Inspiron B130, Celeron M, con las siguientes características de procesador: Tabla 2. Propiedades del procesador utilizado L2 Cache Clock Speed Front Side Bus Memoria Cache Memoria RAM 370 KB 1.50 GHz 400 MHz 1 MB 1GB 48 3.2 Software Para el desarrollo de la herramienta computacional se utilizó el paquete Mathematica 5.2®. Mathematica, es un sistema de álgebra computacional y lenguaje de programación capaz de manejar operaciones matemáticas tanto en forma simbólica como numérica. La primera versión fue lanzada en 1988 y la versión 5.2 es la más actual, la cual salió al mercado en julio 12 de 2005. En la versión 5.1, se implementó el comando “Boole”, que es la clave para el desarrollo de la herramienta desarrollada en este proyecto, ya que permite integrar sobre una región determinada. 3.3 Enumeración de vértices En el Capítulo 2, se describió el procedimiento para calcular la función de distribución del óptimo para el Caso I. El primer paso de este procedimiento consiste en calcular todas las bases factibles del problema lineal a resolver. Según la definición del problema lineal, esto implicaría generar todas las posibles combinaciones Cmm + n , y luego seleccionar a aquellas bases que cumplan el criterio de factibilidad B −1b ≥ 0 . Este procedimiento es ineficiente, en primer lugar, porque el número combinatorio Cnm + n = (m + n)! , crece muy rápidamente a medida que m y n aumentan. Para dar un n !m ! ejemplo, si n = 10 y m = 5 , el número posible de combinaciones es C515 = 3003 . Adicionalmente, en cada iteración se debe calcular la inversa de la matriz B. Para evitar estas ineficiencias, desde los años 60 se han venido desarrollando algoritmos para enumerar todos los vértices de un polígono convexo dado un sistema de ecuaciones lineales, véase por ejemplo (Balinski, 1961) y (Matheiss y Rubin, 1980). Avis y Fukuda (1992) propusieron un método para lograr este objetivo, que posteriormente fue implementado en un paquete del programa Mathematica® por Fokuda y Mizukoshi. Este 49 paquete se denomina "VertexEnumeration" (Enumeración de vértices), y está disponible para ser descargado gratuitamente en la página Web de Wolfram Research®ix. Este paquete recibe como entrada la matriz tecnológica y el vector de recursos del problema lineal que se desea resolver. La salida del paquete es una lista de todos los vértices factibles del problema lineal y los valores que toma cada variable en cada uno de ellos. El algoritmo está basado en el principio de que el método Simplex genera un camino a través de los vértices del poliedro hasta llegar al vértice óptimo, mediante el “pivoteo”, es decir, intercambiando una de las ecuaciones que definen el vértice con una ecuación de las restricciones que no está siendo usada. El camino elegido desde un vértice inicial dado hasta el vértice óptimo depende de la regla de pivoteo utilizada. Según Avis y Fokuda (1992), su algoritmo comienza por un “vértice óptimo” y luego traza el árbol de los caminos a los vértices conectados con una regla de pivoteo. 3.4 Distribuciones de Probabilidad a estudiar. En el Capítulo 2, se definieron las distribuciones de probabilidad con las cuales se modelarán los coeficientes aleatorios del problema lineal. La metodología para estudiar el comportamiento de la herramienta consistió en fijar los parámetros de las distribuciones mencionadas para luego realizar varios experimentos aumentando el número de variables y restricciones. Luego, se asumió, por simplicidad, que todas las variables aleatorias eran independientes igualmente distribuidas, aunque ésta no es condición necesaria para la resolución del problema en la herramienta desarrollada, lo que hace falta es conocer la función de probabilidad conjunta de todas las variables aleatorias. Las funciones de densidad utilizadas para modelar cada variable aleatoria en las corridas de la herramienta, se presentan a continuación: ix http://library.wolfram.com/infocenter/MathSource/440/ 50 Tabla 3. Funciones de distribución utilizadas para los experimentos de la herramienta Nombre de la distribución y ecuación general Exponencial: f ( x) = λ e − λ x Uniforme: f ( x) = 1 (b − a ) Gamma: ( x − γ )α −1 exp [ −( x − γ ) / β ] f ( x) = β α Γ(α ) Parámetro utilizado Función de distribución de probabilidad Rango λ =1 f ( x) = e− x x ∈ [0, ∞) b=8 f ( x) = a=0 1 8 x ∈ [0,8] β =1 α =2x f ( x) = xe − x x ∈ [0, ∞) γ =0 3.5 Algoritmos para la resolución del problema En el Capítulo 2, fueron explicados los procedimientos para calcular la forma cerrada del problema de distribución. Se explicó el algoritmo original (Bereanu) y luego se expuso el procedimiento de una transformación que, en teoría, hace más fácil el cálculo de las integrales involucradas. Nótese que cualquier problema puede ser resuelto por el Caso I o el Caso II, haciendo uso de la forma dual del problema lineal. Entonces, surgen cuatro modalidades para la resolución del problema: 1. Algoritmo de Bereanu para Caso I 2. Algoritmo de Bereanu para Caso II 3. Transformación Ewbank et al (1974) para Caso I 4. Transformación Ewbank et al (1974) para Caso II En esta sección se muestra la metodología para la implementación de las cuatro formas de resolver el problema de distribución en la herramienta desarrollada. La idea es resolver varios problemas lineales a través de las cuatro modalidades y medir el tiempo de cómputo tomado por la herramienta a medida que se va aumentando el tamaño del problema, es decir, el número de variables y restricciones. x Cuando α es un número entero y positivo, esta distribución es también llamada Erlang. Aunque el número α utilizado es entero y positivo, se seguirá denominando distribución gamma. 51 Para resolver el problema Caso I, el vector de costos estará compuesto por variables simbólicas de la forma c = {c1 , c2 ,..., cn } que representan los coeficientes aleatorios del problema, donde n es el número de variables de decisión del PL. Los elementos de la matriz A y el vector b serán valores numéricos que representan los coeficientes determinísticos del modelo a optimizar. Análogamente, para resolver el Caso II, el vector de recursos estará formado por variables simbólicas de la forma b = {b1 , b2 ,..., bm } donde m es el número de restricciones. Igualmente, los otros parámetros del problema serán valores numéricos. En todas las modalidades de la herramienta, el usuario debe especificar el número de variables y restricciones del problema (n y m), los coeficientes de la matriz A, la función de densidad conjunta de las variables aleatorias del problema y el rango de las mismas. Si se está resolviendo un problema de minimización, se deberán cambiar los signos de las desigualdades en la condición de optimalidad. 3.5.1 Algoritmo Bereanu Caso I y Caso II Para resolver el CASO I a través del algoritmo Bereanu, la herramienta genera un vector con todos los vértices factibles del problema, por medio del paquete “Vertex Enumeration”. Para cada vértice factible, se calcula la inversa de la matriz B con el fin hallar la región de optimalidad dada por la ecuación (2.2). Asimismo, para cada vértice factible se calcula la integral de la función de densidad conjunta sobre la región de optimalidad intersectada con la región en la cual la función objetivo es menor a φ , es decir, PG (φ ) , y luego se suman cada una de ellas para obtener la probabilidad total. El diagrama de flujo se muestra en la Figura 13. 52 Comienzo Establecer parámetros del problema n, m, A, b, f (c), Img(c ) Generar todas las bases factibles q = Total bases factibles i =1 DistFun = 0 Es i ≤ q ? No Imprimir DistFunc Si Generar CB i , Bi −1 , N B i , CN i , Parar Z i = CB i Bi −1b i = i +1 V = CB i Bi −1 N B i − CN i deV w = Tamano j =1 R ={ci | ci ∈Img(Ci )} Es j ≤ w ? No Calcular PGi (φ ) = j = j +1 Si ∫∫ f (c1 , c2 ,..., cn ) R ∩ Z *≤φ R ={c |[elemento j deV ] > 0}∩R Calcular la probabilidad total DistFun = DistFun + PGi (φ) Figura 13 Diagrama de Flujo para la implementación del algoritmo Bereanu para el Caso I Fuente: Elaboración propia 53 Para el CASO II, la herramienta genera una lista con todas las posibles combinaciones de bases del problema (utilizando el comando Combinatorica de Matemática®) y luego verifica la condición de optimalidad (determinística). Si cumple con la condición de optimalidad, se procede a calcular la integral de la función de densidad conjunta sobre esta región intersectada con la región en la cual la función objetivo es menor a φ , e igualmente se suman todas las PG (φ ) . Comienzo Establecer los parámetros del problema n, m, A, c, f (b), Img(b) Generar todas bases posibles q = Total bases posibles i =1 DistFun = 0 BasesOptimas = 0 Es i ≤ q ? No Imprimir DistFunc Parar Si Generar condición de optimalidad α = CB i Bi −1 N B i − CN i i = i +1 No Son todos los elementos de α Mayores que 0? Si BasesOptimas = BasesOptimas + 1 Generar condición de factibilidad V = B i − 1b deV w = Tamano j =1 R ={bi | bi ∈Img(bi )} Es j ≤ w ? j = j +1 No Si Calcular la probabilidad PGi (φ ) = ∫∫ f (b1 , b2 ,..., bm ) R ∩ Z *<φ R ={b |[elemento j deV] > 0}∩R Calcular la función de distribución total DistFuni = DistFun + PGi (φ ) Figura 14. Diagrama de Flujo para la implementación del algoritmo Bereanu para el Caso II Fuente:Elaboración propia 54 3.5.2 Algoritmo para las Transformaciones de Ewbank et al (1974). La transformación de Ewbank et al (1974), está basada en el algoritmo de Bereanu en el sentido que itera sobre todas las bases óptimas o factibles (dependiendo si es Caso I o Caso II). La diferencia está en la manera como determina las regiones sobre las cuales integrar la función de densidad conjunta. Para el CASO I, luego de generar las bases factibles del problema, también con el paquete “Vertex Enumeration”, se itera sobre cada base y se calculan las variables xˆi , tˆ , ˆ , tal y como se definieron en el Capítulo 2. Recordemos que la transformación b y Z = tb de cada ci depende de si la variable xi correspondiente es básica o no. Es por ello que antes de generar la transformación se verifica si la variable xi pertenece al vector base actual. Si pertenece a la base, se genera Bˆi y se sustituye ci por Bˆi ti , de lo contrario, se genera A y si y se sustituye ci por ti A − si . Cualquiera que haya sido la transformación, se debe colocar la condición de que la variable transformada se encuentre dentro del rango de la variable aleatoria original ci . La Región de Decisión R estará en función del vector tˆ , s ó ambos. Luego se calcula la probabilidad de que la base actual sea óptima integrando la función de densidad transformada sobre la región R correspondiente. Este procedimiento se ilustra en el diagrama de flujo de la Figura 15. 55 Comienzo Establecer parámetros del problema n, m, A, b, f (c), Img(c ) Generar todas las bases factibles q = Total bases factibles i =1 DistFun = 0 No Es i ≤ q ? Imprimir DistFunc Si Parar Generar xˆi , tˆi , bi , Zi j =1 i = i +1 R={} No Es j ≤ n ? j = j +1 Si Calcular No X j ∈ Base i ? PGi (φ ) = ∫∫ f (ctransformada ) | det( B ) | R ∩ Z *≤φ Si Generar Bˆ j Generar Calcular la probabilidad total DistFun = DistFun + PGi (φ) c j = tˆi Aj − s j c j = Bˆ j tˆi { ( ) A , si } R = t j | Bˆ jtˆj ∈Img(Ci ) ∩R { } R = s j , t j | ( tˆi Aj − s j ) ∈Img(Ci ) ∩R Figura 15 Diagrama de flujo para la implementación de la transformación Ewbank et al (1974) para el Caso I Fuente: Elaboración propia 56 Para el CASO II de la transformación Ewbank, se calculan todas las posibles combinaciones de bases del problema y, al igual que en el algoritmo de Bereanu, se verifica la condición determinística de optimalidad. Posteriormente, se aplica la transformación b = Br y se impone la condición de que cada elemento del vector r deber estar dentro del rango correspondientes a la imagen de cada variable aleatoria bi ( i = 1,..., m ) . La región de integración será la región R = {ri | ( Bri ) ∈ Img(bi )} ∩ R . Comienzo Establecer los parámetros del problema n, m, A, c, f (b ), Img(b) Generar todas bases posibles q = Total bases posibles i =1 DistFun = 0 BasesOptimas = 0 Es i ≤ q ? No Parar Imprimir DistFunc Si Generar condición de optimalidad α = CBi Bi −1 N B i − CN i i = i +1 No Son todos los elementos de α Mayores que 0? Si BasesOptimas = BasesOptimas + 1 Transformación b = Br j =1 R ={ri | ri ≥ 0} Calcular Es j ≤ m ? No PGi (φ ) = ∫∫ f (btransformada ) | det( B ) | R ∩ Z *≤φ Si j = j +1 R = {ri | ( Bri ) ∈Img(bi )} ∩R Calcular la probabilidad total DistFun = DistFun + PGi (φ) Figura 16 Diagrama de flujo para la implementación de la transformación Ewbank et al (1974) para el Caso I Fuente: Elaboración propia 57 3.6 Verificación de las salidas arrojadas por la herramienta Uno de los pasos importantes en el desarrollo del proyecto es verificar que las salidas arrojadas por la herramienta sean efectivamente las correctas. Para realizar la validación de la misma, se utilizaron tres ejemplos encontrados en la literatura que fueron resueltos analíticamente. Con esos ejemplos se verificaron las cuatro modalidades de la herramienta desarrolladas: 1. Algoritmo de Bereanu para Caso I 2. Algoritmo de Bereanu para Caso II 3. Transformación Ewbank et al (1974) para Caso I 4. Transformación Ewbank et al (1974) para Caso II Para la comparación, se resolvió cada problema con la herramienta para las cuatro modalidades, haciendo uso de la forma dual del problema lineal. Se imprimieron paso a paso las salidas de la herramienta y se verificó que eran exactamente igual a las presentadas en los ejemplos. A manera de verificación se comprobó que la función de densidad producida porla herramienta integra 1. 3.7 Establecimiento del número máximo de variables Se desea conocer el máximo número de variables que es capaz de manejar la herramienta en un tiempo considerable de tiempo. Para ello, se fue aumentando tamaño del problema (m y n) hasta que el tiempo de la herramienta llegara a una cota superior de t = 20.000 seg (6 horas aproximadamente). Para cada tamaño, se resolvieron diez problemas lineales diferentes y se midió tanto el tiempo requerido por la herramienta, como el número de bases óptimas o factibles asociados a cada uno de ellos. Para generar el problema de programación lineal a resolver en cada corrida, se genera una matriz mxn de números enteros en un rango de [1,20] (aleatorios uniformemente distribuidos), que representará la matriz tecnológica A determinística. Para el CASO I, se genera un vector de tamaño m, de números enteros entre 20 y 50 (también aleatorios), que representa el vector determinístico de recursos b. 58 El vector de costos estará formado por variables simbólicas de la forma c = {c1 , c2 ,..., cn } , que representan los coeficientes aleatorios del problema. Análogamente, para el CASO II, se genera un vector de tamaño n, que representa el vector de coeficientes de costos y el vector de recursos es un vector de variables simbólicas de la forma b = {b1 , b2 ,..., bm } . Para la resolución del Caso I, se midió separadamente el tiempo empleado en el algoritmo de “Vertex Enumeration” del tiempo empleado en la iteración como tal. El tiempo de simplificación e impresión de la salida no se tomó en cuenta en la contabilización del tiempo reportado. Este procedimiento se llevó a cabo para coeficientes aleatorios con distribuciones exponencial, uniforme y gamma, con los parámetros que se definen en la Tabla 3, 3.8 Metodología para la simulación de Monte Carlo En esta sección se explica la metodología llevada a cabo para resolver un problema a través del método de simulación de Monte Carlo, con el objetivo de mostrar un ejemplo de cómo se puede comparar una solución aproximada con la distribución teórica (en forma cerrada) obtenida a partir de la herramienta. Para realizar la simulación se generan números aleatorios de la distribución deseada y se resuelve el problema determinístico equivalente para cada réplica. Se almacenan los datos óptimos de cada corrida y luego se ajustan los datos empíricamente a una curva de distribución mediante el paquete EasyFit®. Este paquete ajusta diferentes distribuciones de probabilidad a los datos y luego ordena la lista de distribuciones de acuerdo al grado de ajuste en orden descendente, de manera que el primero sea el que “mejor ajusta”. Entre los criterios utilizados para definir el grado de ajuste, se encuentran: 1. Prueba de Kolmogorov-Smirnov 2. Ajuste Chi-cuadrado 3. Prueba de Anderson-Darling Luego, el usuario deberá elegir la curva que considere es la mejor para ajustar los datos. El orden por grado de ajuste según los tres criterios no siempre es el mismo, es 59 decir, si una distribución está de posición número uno según el criterio de ajuste Chicuadrado, no necesariamente será el número uno para otro de los criterios. En la vida real la solución al problema se resuelve de una manera similar a la expuesta anteriormente. La curva ajustada empíricamente tendrá asociado un error que tiene que ver con la calidad del programa de ajuste (EasyFit, por ejemplo) y con el número de réplicas utilizado en la simulación. Si esta curva es la que se utilizará para modelar la solución y para tomar las decisiones, de alguna manera nos interesa saber la diferencia entre esta función ajustada y la función teórica en forma cerrada. Es por ello que para este ejemplo, se utilizará el criterio del supremo de las diferencias de las distribuciones (teórica y ajustada) y la diferencia entre ambas esperanzas: 1. D = sup FZ *teórica ( x) − FZ *ajustada ( x) 2. Dif % = Eajustada ( Z *) − Eteórica ( Z *) Eajustada ( Z *) .100% De esta manera, la esperanza teórica se calculará en forma cerrada a partir del primer momento de la función de densidad y la esperanza de la simulación se calculará a través de la esperanza de la distribución ajustada. Capítulo 4 Resultados 4.1 Verificación de la herramienta Para validar la herramienta se utilizaron tres ejemplos de la literatura que fueron resueltos de forma analítica y se compararon con los resultados arrojados en las cuatro modalidades. Una de las limitaciones para la realización de este paso fue la escasa disponibilidad de ejemplos resueltos analíticamente que sirvieran de base para la comparación. Se presentan los ejemplos utilizados para la verificación de la herramienta y posteriormente los resultados obtenidos. 4.1.1 Ejemplo 1. Ejemplo analítico de Ewbank (1972) p. 42. (CASO II) max z ( x1 , x2 ) = 2 x1 + 3x2 Sujeto a: x1 + x2 + x3 = b1 x1 + 2 x2 + x4 = b2 f (b1 , b2 ) = 2e − ( b1 + 2b2 ) La forma Dual del problema anterior se puede expresar de la siguiente manera (CASO I): min z ( x1 , x2 ) = K1 x1 + K 2 x2 Sujeto a: − x1 − x2 + x3 = −2 − x1 − 2 x2 + x4 = −3 f (k1 , k2 ) = 2e − ( k1 + 2 k2 ) A continuación se muestran las tablas que comparan la solución presentada en la literatura y la solución obtenida con la herramienta. Se inicia con la comparación de las transformaciones Ewbank et al (1974). En primer lugar, el Ejemplo 1, que es el ejemplo utilizado en Ewbank (1972) para ilustrar la transformación del Caso II. En la parte 61 siguiente (Tabla 5) se muestran las comparaciones del ejemplo en las modalidades antes mencionadas. Tabla 4. Verificación de la Transformación Ewbank et al (1974) Caso II mediante Ejemplo 1 Herramienta: Elemento del Ejemplo Analítico Ewbank Base Transformación (Caso problema (1972) p. 42 (Caso II) II) Expresión 2r1 + 3r2 2r1 + 3r2 función obj. x1 x2 x1 x3 x2 x4 Región de Integración r1 ≥ 0 r2 ≥ 0 r1 ≥ 0 r2 ≥ 0 PG1 2 15 2 15 PG1 (φ ) xi 2 1 + 9e −5φ / 3 − 10e −3φ / 2 ) ( 15 2 (1 + 9e−5φ / 3 − 10e−3φ / 2 ) 15 Expresión función obj. 2r1 2r1 Región de Integración r1 ≥ 0 r2 ≥ 0 r1 ≥ 0 r2 ≥ 0 PG2 2 3 2 3 PG2 (φ ) 2 2 −3φ / 2 − e 3 3 2 2 −3φ / 2 − e 3 3 Expresión función obj. No presentado en la literatura 3r1 Región de Integración r1 ≥ 0 r2 ≥ 0 r1 ≥ 0 r2 ≥ 0 PG3 1 5 1 5 1 1 −5φ / 3 − e 5 5 1 + e−5φ / 3 − 2e −3φ / 2 , φ > 0 1 1 −5φ / 3 − e 5 5 1 + e−5φ / 3 − 2e −3φ / 2 , φ > 0 PG3 (φ ) CDF A través de la Tabla 4, podemos corroborar que ambos resultados son iguales. xi La expresión que aparece textualmente en el ejemplo de Ewbank (1972) es la siguiente: 2 2 4 4 P[ zi ≤ φ ] = − e −5φ / 3 − e −3φ / 2 + e −5φ / 3 . En la presente tabla se muestra la expresión simplificada para 15 15 3 3 efectos de una mejor visualización. El lector puede comprobar que ambas expresiones son equivalentes. 62 Base x1 x2 x1 x3 x2 x4 Elemento del problema Expresión función obj. 2r1 + 3r2 2r1 + 3r2 b1 + b2 Región de Integración r1 ≥ 0 r1 ≥ 0 2b1 − b2 ≥ 0 r2 ≥ 0 r2 ≥ 0 −b1 + b2 ≥ 0 PG1 2 15 2 15 2 15 PG1 (φ ) xiii 2 (1 + 9e−5φ / 3 − 10e−3φ / 2 ) 15 2 (1 + 9e−5φ / 3 − 10e−3φ / 2 ) 15 Expresión función obj. 2r1 2r1 Región de Integración r1 ≥ 0 r1 ≥ 0 b2 ≥ 0 r2 ≥ 0 r2 ≥ 0 b1 − b2 ≥ 0 PG2 2 3 2 3 2 3 PG2 (φ ) 2 2 −3φ / 2 − e 3 3 2 2 −3φ / 2 − e 3 3 Expresión función obj. No presentado en la literatura 3r1 Región de Integración r1 ≥ 0 r1 ≥ 0 b1 ≥ 0 r2 ≥ 0 r2 ≥ 0 −2b1 + b2 ≥ 0 PG3 1 5 1 5 1 5 1 1 −5φ / 3 − e 5 5 1 + e −5φ / 3 − 2e−3φ / 2 , φ > 0 1 1 −5φ / 3 − e 5 5 1 + e −5φ / 3 − 2e−3φ / 2 , φ > 0 1 1 −5φ / 3 − e 5 5 1 + e −5φ / 3 − 2e−3φ / 2 , φ > 0 PG3 (φ ) CDF xii Tabla 5. Comparación de los resultados de la herramienta con el Ejemplo 1. Ejemplo analítico de Ewbank (1972) p. 42. Ejemplo analítico Ewbank Herramienta:Algoritmo Herramienta: Dual, Herramienta: Dual, Herramienta: Base (1974) p. 42 (Caso II) Transformación, Caso II Caso II Bereanu Bereanu Caso I Transformación I y1 y2 −3(c1 − c2 ) − 2(−2c1 + c2 ) −2t1 − 3t2 −2c1 + c2 ≤ 0 xii t1 ≤ 0 c1 − c2 ≤ 0 t2 ≤ 0 2 15 2 15 2 (1 + 9e−5φ / 3 − 10e−3φ / 2 ) 15 2 (1 + 9e−5φ / 3 − 10e−3φ / 2 ) 15 2 (1 + 9e−5φ / 3 − 10e−3φ / 2 ) 15 2b2 2c2 − 2 t1 −c1 + c2 ≤ 0 s1 − t2 ≤ 0 −c2 ≤ 0 −t 2 ≤ 0 y2 y4 2 3 2 3 2 2 −3φ / 2 − e 3 3 2 2 −3φ / 2 − e 3 3 2 2 −3φ / 2 − e 3 3 3b1 3c1 − 3t2 y1 y3 CDF 2c1 − c2 ≤ 0 −t1 ≤ 0 −c1 ≤ 0 − s2 − 2t1 ≤ 0 1 5 1 5 1 1 −5φ / 3 − e 5 5 1 + e −5φ / 3 − 2e−3φ / 2 , φ > 0 1 1 −5φ / 3 − e 5 5 1 + e −5φ / 3 − 2e−3φ / 2 , φ > 0 Recordemos que la condición de optimalidad de la base cambia de signo (a menor o igual) por ser éste un problema de minimización (dual al de maximización). La expresión que aparece textualmente en el ejemplo de Ewbank (1972) es la siguiente: P[ zi ≤ φ ] = 2 − 2 e−5φ / 3 − 4 e−3φ / 2 + 4 e −5φ / 3 . En la presente tabla se muestra la 15 15 3 3 expresión simplificada para efectos de una mejor visualización. El lector puede comprobar que ambas expresiones son equivalentes. xiii 63 4.1.2 Ejemplo 2. Ejemplo analítico de Ewbank (1972) p. 45 (CASO I) max z ( x1 , x2 ) = C1 x1 + C2 x2 Sujeto a: x1 + 2 x2 + x3 = 3 3 x1 + x2 + x4 = 5 f (c1 , c2 ) = 4c1c2 En la Tabla 6, se muestran paso a paso los resultados obtenidos de la transformación con la herramienta desarrollada y los resultados del ejemplo analítico de Ewbank (1972). Algunos campos no se encontraron explícitamente en la literatura. La columna de “Elemento” corresponde a las definiciones y cambios de variable de la transformación, que fueron previamente explicados en el Capítulo 2. Tabla 6. Verificación de la Transformación Ewbank (1974) et al Caso I mediante el Ejemplo 2. Base Elemento Ejemplo Analítico Herramienta xˆi { x1 , x2 } h 2 2 B 1 2 3 1 1 2 3 1 Restricción en igualdad {1, 2} {1, 2} {t1 , t2 } {t1 , t2 } {∅} {∅} 1 2 3 1 1 2 3 1 {∅} {∅} {3, 5} {3,5} tˆ si B̂ x1 x2 { x1 , x2 } A b (c1 , c2 ) ˆ Z = tb f (ctransf . ) (t1 + 3t2 , 2t1 + t2 ) (t1 + 3t 2 , 2t1 + t2 ) No presentado en la literatura 3t1 + 5t2 4(2t12 + 7t1t2 + 3t2 2 ) 8t12 + 28t1t2 + 12t2 2 PG 0.86 59 ≈ 0.86 72 No presentado en la literatura 11 59 φ≥ 72 5 4 3 259φ 0≤φ ≤ 4050 2 2 4 3 5 1125 − 16000φ + 15000φ − 268φ ≤φ ≤ 29400 2 3 2 4 − 5(−4273 + 9768φ − 5850φ + 375φ 0 ≤ φ ≤ 3 14112 2 PG (φ ) 64 Continuación Tabla 6. Verificación de la Transformación Ewbank (1974) et al Caso I mediante el Ejemplo 2. Base Elemento Ejemplo Analítico Herramienta xˆi { x1 } h 1 1 B 1 1 3 0 1 1 3 0 Restricción en igualdad {2} {2} {t1} {t1} {s1} {s1} {3} {3} {1} {3} * {1} (3t1 , t1 − s1 ) (3t1 , t1 − s1 ) tˆ si x1 x3 B̂ A b (c1 , c2 ) ˆ Z = tb f (ctransf . ) 12(t12 − t1 s1 ) −12 s2 t1 + 12t12 PG 1 ≈ 0.06 18 1 18 PG (φ ) 3t1 181 φ 18 0 {5} * φ >1 * 0 ≤φ ≤1 φ <0 xˆi x2 x4 { x1 } 5t2 1 18 4 9φ 1250 0 φ> 0 ≤φ ≤ 5 3 φ<0 { x2 } h 1 B 2 0 1 1 Restricción en igualdad {1} tˆ si {s1} B̂ 1 2 3 1 A b (c1 , c2 ) ˆ Z = tb f (ctransf . ) 5 3 {t2 } No presentado en la literatura {1} {3} (t 2 − s1 , 2t2 ) 3t2 −8s1t2 + 8t 2 2 PG PG (φ ) 3 1 φ> 8 2 4 3 2φ 0 ≤φ ≤ 2 81 φ<0 0 Nota: Los símbolos (*) indican errores en los ejemplos presentados. 65 Al observar la Tabla 6, se puede notar que los resultados obtenidos para las bases {x1 , x2 } y {x1 , x3} , son exactamente iguales, a excepción del error cometido en la tesis de Ewbank (1972) en el cálculo de b . Por definición, b está formado por los coeficientes de b cuyas restricciones se cumplen en forma de igualdad. La restricción que se cumple en forma de igualdad en la base {x1 , x3} es la segunda, por lo que b estaría formado por el segundo elemento de b , es decir, b = {5} . Luego se observa que el error influye en otros cálculos posteriores como Z y PG (φ ) . Lamentablemente, el ejemplo analítico de la literatura no muestra los resultados para la base {x2 , x4 } ni la función de distribución total, que sí fue calculada con la herramienta desarrollada y se presenta en la ecuación (4.1). (4.1) Ø ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ P@Z < f D = ∞ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ± 1 f ¥ 11 7971- 16280 f+9750 f2 - 625 f4 4704 80 f 25 f2 176 f4 8 5 3 < f < 11 3 2 <f § 5 5 49 - 147 4 4852 f + 49 - 91875 5 0<f § 50625 3 3 2 Con esta función, se puede hallar el gráfico de la función acumulada del óptimo, tal y como se muestra en la Figura 17. P@Z <f D 1 0.8 0.6 0.4 0.2 φ 0.5 1 1.5 2 2.5 Figura 17 Distribución de Probabilidad del Máximo de la Función Objetivo del ejemplo analítico de Ewbank (1972) p. 42 66 Base Tabla 7. Comparación de los resultados analíticos con los resultados de la herramienta en las cuatro modalidades para el Ejemplo 2 Ejemplo analítico Elemento del Herramienta: Algoritmo Herramienta: Dual, Herramienta: Dual, Herramienta: Base Ewbank (1972) p. 45 problema Transformación, Caso I Caso I Bereanu Bereanu Caso II Transformación Caso II (Caso I) 7b1 4b2 Expresión −c 3c 2c1 − c2 + 3 1 + 2 + 3t1 + 5t2 3t1 + 5t2 −3r1 − 5r2 función obj. 5 5 5 5 c 3c b 3b 0 ≤ t1 + 3t2 ≤ 1 0 ≤ t1 + 3t2 ≤ 1 − 5 + 5 ≥ 0 0 ≤ c1 ≤ 1 − 5 + 5 ≥ 0 0 ≤ b1 ≤ 1 0 ≥ r1 ≥ −1 Región de 2c c 2b b 0 ≥ r2 ≥ −1 0 ≤ c2 ≤ 1 0 ≤ b2 ≤ 1 Integración 0 ≤ 2t1 + t2 ≤ 1 0 ≤ 2t1 + t2 ≤ 1 5 − 5 ≥0 5 − 5 ≥0 1 2 1 x1 x2 x1 x3 59 ≈ 0.86 72 59 72 PG1 (φ ) No disponible 59 11 φ≥ 72 5 4 259φ 3 0 ≤φ ≤ 4050 2 1125 − 16000φ + 15000φ 2 − 268φ 4 3 5 ≤φ ≤ 29400 2 3 5(−4273 + 9768φ − 5850φ 2 + 375φ 4 3 − 0 ≤φ ≤ 14112 2 59 11 φ≥ 72 5 4 259φ 3 0 ≤φ ≤ 4050 2 1125 − 16000φ + 15000φ 2 − 268φ 4 3 5 ≤φ ≤ 29400 2 3 5(−4273 + 9768φ − 5850φ 2 + 375φ 4 3 − 0 ≤φ ≤ 14112 2 Expresión función obj. 3t1 * 5t1 5c1 3 0 ≤ t1 − s1 ≤ 1 0 ≤ t1 − s1 ≤ 1 1 0 ≤ t1 ≤ 3 1 0 ≤ t1 ≤ 3 Región de Integración 1 18 PG2 φ >1 * 0 ≤ φ ≤1 18 φ <0 0 1 18 φ Expresión función obj. No disponible Región de Integración No disponible PG3 No disponible PG3 (φ ) No disponible Ø ≤ ≤ ≤ ∞ ≤ ≤ ≤ ± 1 18 9 f4 1250 − c2 ≥ 0 0 ≤ c1 ≤ 1 c1 0 ≤ c2 ≤ 1 3 ≥0 f> 5 3 0 <f § 5 3 Ø ≤ ≤ ≤ ∞ ≤ ≤ ≤ ± 1 18 9 f4 1250 0 ≤ − s1 + t2 ≤ 1 1 0 ≤ 2t2 ≤ 3 1 8 2 f4 81 1 8 f> 3 2 0<f§ 3 2 59 72 59 72 59 11 φ≥ 72 5 4 259φ 3 0 ≤φ ≤ 4050 2 1125 − 16000φ + 15000φ 2 − 268φ 4 3 5 ≤φ ≤ 29400 2 3 5(−4273 + 9768φ − 5850φ 2 + 375φ 4 3 − 0 ≤φ ≤ 14112 2 59 11 φ≥ 72 5 4 259φ 3 0 ≤φ ≤ 4050 2 1125 − 16000φ + 15000φ 2 − 268φ 4 3 5 ≤φ ≤ 29400 2 3 5(−4273 + 9768φ − 5850φ 2 + 375φ 4 3 − 0 ≤φ ≤ 14112 2 5b1 3 −5r1 b1 3 y2 2 b1 3 − b2 ≥ 0 0 ≤ b1 ≤ 1 0 ≤ b2 ≤ 1 ≥0 y4 1 18 f> 5 Ø ≤ ≤ ≤ ∞ ≤ ≤ ≤ ± 3 0 <f § 5 3 1 18 9 f4 1250 f> 5 3 0 <f § 5 3 3b2 2 −c1 + c22 ≥ 0 0 ≤ c1 ≤ 1 c2 0 ≤ c2 ≤ 1 2 ≥0 −b1 + b22 ≥ 0 0 ≤ b1 ≤ 1 b2 0 ≤ b2 ≤ 1 2 ≥0 Ø ≤ ≤ ≤ ∞ ≤ ≤ ≤ ± 1 8 2 f4 81 y3 1 8 f> 3 2 0<f § y1 3 2 Ø ≤ ≤ ≤ ∞ ≤ ≤ ≤ ± 1 8 2 f4 81 0 ≥ r1 ≥ −1 0 ≥ r2 ≥ −1 1 18 3c2 2 3t2 Ø ≤ ≤ ≤ ∞ ≤ ≤ ≤ ± y1 y2 c1 3 1 18 2 1 0.86 PG1 PG2 (φ ) x2 x4 1 2 Ø ≤ ≤ ≤ ∞ ≤ ≤ ≤ ± 1 18 1 18 f> 5 3 9 f4 1250 0 <f § 5 3 −3r2 1 8 f> 3 2 0<f § 3 2 0 ≥ r1 ≥ −1 0 ≥ r2 ≥ −1 Ø ≤ ≤ ≤ ∞ ≤ ≤ ≤ ± 1 8 2 f4 81 1 8 f> 3 2 0<f § 3 2 67 En la Tabla 7, se muestra la comparación del Ejemplo 2 (Ewbank, 1972 p. 45) con los resultados de las cuatro modalidades de la herramienta. Se puede observar que los resultados son equivalentes y que la diferencia entre todas las modalidades es un simple cambio de variable. Los resultados obtenidos de la forma dual también son un método de verificación, ya que se constata que la solución es la misma. 4.1.3 Ejemplo 3. Ejemplo analítico Zinn (1971) p. 19 (CASO I) max z ( x1 , x2 ) = C1 x1 + C2 x2 Sujeto a: x1 + 2 x2 + x3 = 10 2 x1 + x2 + x4 = 10 f (c1 , c2 ) = 1 −101 ( c1 + c2 ) e 100 De la misma manera que los ejemplos anteriores, el Ejemplo 3, también fue verificado a través de las cuatro modalidades.La Figura 18, representa la Distribución de Probabilidad del Máximo de la función objetivo del Ejemplo 3: Zinn (1971) p. 19, cuya −3 φ −φ forma cerrada está dada por la siguiente expresión: 1 − 2e 50 + e 100 (1 − φ 100 ) P@Z <f D 1 0.8 0.6 0.4 0.2 φ 100 200 300 400 500 Figura 18. Distribución de Probabilidad del Máximo de la Función Objetivo del Ejemplo 3. 68 Gráficamente se puede observar que la función es siempre positiva, no decreciente, su cota superior es 1 y la función es continua por la derecha. Estas afirmaciones también se pueden verificar analíticamente estudiando las función en forma cerrada que la describe, corroborando que F ( x1 ) > F ( x2 ), si x1 > x2 , lim F ( x) = 1 , lim F ( x) = 0 y verificando la continuidad de la función. x→∞ x→ − ∞ 4.2 Máximo número de variables A lo largo del trabajo se ha mostrado que la solución de un problema se puede hallar a través del Caso I ó Caso II de manera equivalente. Es por ello que los estudios desde este punto en adelante se realizan para un solo caso (Caso II: vector de recursos estocásticos). El análisis de la comparación entre ambos casos, en tiempo computacional, se realiza en el Capítulo 5. A continuación se muestran los resultados obtenidos en la medición del tiempo computacional para el Caso II, para las diferentes distribuciones de probabilidad y para distintos números de variables y restricciones del problema. 4.2.1 CASO II- Distribuciones Exponenciales iid. Como bien se sabe, la solución del Caso II implica iterar sobre todas las bases del problema que cumplen con el criterio (determinístico) de optimalidad. Se espera que para mayor número de bases óptimas resultantes, se obtenga un tiempo de resolución mayor. En la Tabla 8, se reporta el tiempo computacional de la herramienta, para diez problemas diferentes con coeficientes aleatorios exponenciales iid, resueltos a través de ambos algoritmos (Bereanu y Transformación), así como el número de bases óptimas asociadas a cada problema. Estos datos fueron ordenados por el número de bases óptimas en forma ascendente para una mejor visualización de los resultados. Al final de la tabla se muestran los promedios totales y la desviación estándar del tiempo tomado por la herramienta para resolver el problema. Asimismo, se muestra un primer reporte del porcentaje en reducción del tiempo luego de aplicar la transformación Ewbank et al 69 (1974), ya que es en el Capítulo 5 donde se hace un estudio empírico más detallado para analizar este efecto sobre el tiempo de la herramienta. Tabla 8. Resultados Caso II, m=n=3. Exponenciales Independientes. No. De la corrida Reducción del Tiempo Tiempo Número tiempo al Herramienta Transformación de bases aplicar la Bereanu Ewbank (1974) óptimas transformación (seg) (seg) (%) 1 2 3 4 5 6 7 8 9 10 3 3 5 5 5 5 7 7 7 7 6,4 6,8 130,3 139,4 66,9 89,0 291,2 298,6 162,4 120,2 1,1 1,2 14,5 14,3 9,6 5,3 28,3 41,1 25,6 16,8 83,0 82,4 88,9 89,7 85,6 94,1 90,3 86,2 84,3 86,0 Promedios Totales 5,4 131,1 15,8 87,0 A simple vista pareciera haber una cierta relación directamente proporcional entre el número de bases óptimas del problema y el tiempo requerido por la herramienta, es decir, a mayor número de bases, mayor tiempo computacional. Sin embargo, si comparamos la corrida número 10 de la Tabla 8 con la corrida número 4, vemos que para éste último el tiempo computacional es menor a pesar de tener mayor número de bases óptimas. Adicionalmente, estos primeros resultados sugieren que la transformación Ewbank et al (1974) es bastante efectiva en la reducción del tiempo de la herramienta. En el Capítulo 5, se presenta un estudio más detallado del efecto de la transformación. Este mismo procedimiento se repitió para diversos tamaños del problema, obteniendo los resultados de la Tabla 9. En este caso, sólo se muestran los resultados obtenidos a través del algoritmo de la transformación Ewbank et al (1974). 70 Tabla 9. Tiempo computacional para transformación Caso II, desde 4x4 hasta 9x9. Exponenciales. 4x4 mxn CASO II Exponenciales 6x6 7x7 5x5 8x8 9x9 Tiempo Tiempo Tiempo Tiempo Tiempo Tiempo No. De la Número Ewbank Número Ewbank Número Ewbank Número Ewbank Número Ewbank Número Ewbank corrida Nodos (1974) Nodos (1974) Nodos (1974) Nodos (1974) Nodos (1974) Nodos (1974) (seg) (seg) (seg) (seg) (seg) (seg) 1 2 3 4 5 6 7 8 9 10 15 25 96 47 55 100 97 74 104 119 151 Promedios Totales 12 87 21 291 48 Desviación estándar 2 37 8 191 15 7 11 11 11 11 12 13 13 14 29 35 48 141 177 149 229 200 435 362 528 635 75 277 511 535 604 626 487 1.090 1.478 1.453 2.297 9 13 15 19 19 19 25 25 31 35 37 38 39 43 59 61 63 139 490 526 465 734 859 1.155 1.649 2.550 2.730 4.157 936 81 634 32 45 51 53 63 63 83 91 107 117 249 1.241 1.975 2.567 1.954 2.676 2.730 4.990 9.925 6.105 15.857 1.532 176 5.002 1.240 62 4.623 89 135 140 140 143 146 232 281 204 227 229 232 241 257 261 265 270 361 365 8.414 6.608 7.034 7.306 11.865 7.487 11.602 12.058 16.408 14.170 271 10.295 51 3.403 En la Tabla 9, se puede observar que el tiempo de la herramienta crece rápidamente a medida que se aumenta m y n. Para dar una mejor visión del crecimiento, se realizó una gráfica de los tiempos promedios de cómputo en función su tamaño, la cual se muestra en la Figura 19. Con el fin de tener una idea general del tiempo que se esperaría para tamaños mayores del problema, se linealizaron los datos (aplicando logaritmo) y se ajustó un modelo lineal. Pronóstico del tiempo computacional en función del tamaño del problema Tiempo computacional de la herramienta según el tamaño del problema. Caso II: Coeficientes de b ~ Exponenciales iid 10.000 6 9.000 5 7.000 4 6.000 Log(t) Tiempo promedio (seg.) 8.000 5.000 4.000 3.000 2.000 Datos 3 2 Pronost ico 1 Lineal (Datos) 1.000 0 0 3 4 5 6 7 8 Tam año del problem a m=n (número) 9 3 4 5 6 7 8 9 10 11 Tamaño del problema m =n (núm ero) 12 13 y = 0,3852x + 0,5184 R2 = 0,9835 Figura 19. Gráfico del tiempo de cómputo de la herramienta según el tamaño del problema para coeficientes distribuidos exponencialmente. 71 El pronóstico de los datos con el modelo ajustado fue el siguiente: Tabla 10. Pronóstico del tiempo computacional según el tamaño del problema para coeficientes distribuidos exponencialmente. n=m 10 11 12 4.2.2 Log(t) 4,31 4,69 5,08 Pronóstico t (seg) 20.333 49.340 119.729 t (horas) 5,6 13,7 33,3 CASO II- Distribuciones Gamma iid. En esta parte se muestran resultados cuando los coeficientes del vector recurso son variables aleatorias gamma iid. Tabla 11. Resultados Caso II, m=n=3. Gamma Independientes. No. De la corrida Reducción del Tiempo Tiempo Número tiempo al Herramienta Transformación de bases aplicar la Bereanu Ewbank (1974) óptimas transformación (seg) (seg) (%) 1 2 3 4 5 6 7 8 9 3 5 5 5 5 5 5 7 7 20,8 636,6 876,3 113,3 443,1 396,0 164,1 1.248,1 1.284,1 4,7 65,8 68,2 55,7 65,6 62,8 60,2 271,8 264,0 77,5 89,7 92,2 50,9 85,2 84,2 63,3 78,2 79,4 Promedios Totales 5,2 575,8 102,1 77,8 Al igual que en el caso de las exponenciales, se observa que en general el tiempo aumenta a medida que aumenta el número de bases óptimas así como una importante reducción del tiempo al aplicar la transformación Ewbank et al (1974). En este caso, la reducción fue del 77,8% en promedio, siendo la máxima reducción del 92,2%. Los cálculos para tamaños mayores se presentan en la Tabla 12. 72 Tabla 12. Tiempo computacional para transformación Caso II, desde 3x3 hasta 6x6. Gamma. CASO II Gamma 4x4 3x3 No. De la corrida Número Nodos 1 2 3 4 5 6 7 8 9 10 3 Tiempo Ewbank (1974) (seg) 5x5 6x6 Tiempo Número Ewbank Número Nodos (1974) Nodos (seg) Tiempo Ewbank (1974) (seg) Tiempo Número Ewbank Nodos (1974) (seg) 27 186 230 237 319 270 960 1.119 4.291 5.598 12.777 16 16 136 122 147 259 515 654 690 1.045 757 5.009 - 3.833 10.675 10.528 14.533 32.209 - 7 5 49 56 60 63 66 66 68 264 272 Promedios Totales 5 97 11 933 16 2.599 26 14.356 Desviación estándar 1 92 3 1.466 7 4.055 8 10.697 5 5 5 5 5 5 5 7 7 8 8 10 11 11 11 15 16 9 9 11 11 13 13 21 23 27 22 27 30 37 - Igualmente, se observa un crecimiento general del tiempo con el aumento del número de nodos, así como con un aumento del tamaño del problema (ver Figura 20). Proyección del tiempo computacional de la herramienta según el tamaño del problema. Caso II: Coeficientes de b ~ Gamma iid. 6,00 16.000 14.000 12.000 10.000 8.000 6.000 4.000 2.000 0 5,00 Log(t) Tiempo (seg.) Tiempo computacional de la herramienta según el tamaño del problema. Caso II: Coeficientes de b ~ Gamma iid. 4,00 Datos 3,00 Pronostico 2,00 Lineal (Datos) 1,00 0,00 2 2 3 4 5 6 Tam año del problem a m =n (núm ero) 7 3 4 5 6 7 8 Tam año del problem a m =n (número) 9 y = 0,6959x + 0,0006 R2 = 0,9799 Figura 20. Gráfico del tiempo de cómputo de la herramienta según el tamaño del problema para coeficientes distribuidos gamma. En la Tabla 13 se muestra el pronóstico del tiempo para mayores tamaños del problema. 73 Tabla 13. Pronóstico del tiempo computacional según el tamaño del problema para coeficientes distribuidos gamma. n=m 6 7 8 Log(t) 4,18 4,88 5,57 Pronóstico t (seg) t (horas) 15.184 4,2 75.388 20,9 374.283 104,0 4.2.3 CASO I- Distribuciones Uniformes iid. De manera análoga, se presentan a continuación los resultados para los casos en que los coeficientes del vector b tienen distribución uniforme. Tabla 14. Resultados Caso II, m=n=3. Uniformes Independientes. No. De la corrida 1 2 3 4 5 6 7 8 9 Número Tiempo Tiempo Reducción con de bases Herramienta Transformación transformación (%) óptimas Bereanu (seg) Ewbank (1974) (seg) 5 26,2 15,8 39,5 5 168,7 17,0 89,9 5 238,0 14,8 93,8 5 313,5 10,2 96,8 5 364,5 24,7 93,2 5 443,3 16,9 96,2 6 123,7 24,4 80,3 6 145,6 10,0 93,1 6 203,7 31,6 84,5 Promedios Totales 5,3 225,248 18,378 85,3 Tabla 15. Tiempo computacional para transformación Caso II, desde 3x3 hasta 6x6. Uniformes. CASO II Uniforme 4x4 3x3 No. De la corrida 1 2 3 4 5 6 7 8 9 10 5x5 6x6 Tiempo Tiempo Tiempo Tiempo Número Ewbank Número Ewbank Número Ewbank Número Ewbank Nodos (1974) Nodos (1974) Nodos (1974) Nodos (1974) (seg.) (seg.) (seg.) (seg.) 6 16 17 15 10 25 17 15 24 10 32 Promedios Totales 5 18 12 27 25 387 43 1.386 Desviación estándar 0 7 3 21 7 344 15 1.500 5 5 5 5 5 5 5 6 6 15 15 5 6 11 50 30 13 52 35 13 59 7 7 10 11 12 14 14 14 14 24 35 21 65 159 192 221 737 456 382 1.141 492 66 112 120 131 533 868 556 1.785 2.225 2.870 4.657 19 19 19 23 29 29 31 35 25 28 38 41 42 46 53 62 74 Para tener una idea general del crecimiento en tiempo, se presenta la Figura 21, que muestran el tiempo de cómputo de la solución en función del tamaño del problema. Tiempo computacional de la herramienta según el tamaño del problema. Caso II: Coeficientes de b ~ Uniform e iid Proyección Tiempo computacional de la herramienta según el tamaño del problema. Caso II: Coeficientes de b ~ Uniforme iid 1.600 6 5 1.200 4 1.000 Log (t) Tiempo promedio (seg.) 1.400 800 600 Datos 3 Pronostico Lineal (Datos) 2 400 1 200 0 0 2 3 4 5 6 0 2 Tamaño del problema m=n (número) 4 6 8 Tam año del problem a m =n (núm ero) 10 y = 0,6805x - 0,9564 R2 = 0,9362 Figura 21, Gráfico del tiempo de cómputo de la herramienta según el tamaño del problema para coeficientes distribuidos uniforme Con estas gráficas se realizó el pronóstico del tiempo para tamaños mayores, el cual se presenta en la Tabla 16. Tabla 16. Pronóstico del tiempo computacional según el tamaño del problema para coeficientes distribuidos uniforme. Pronóstico t (seg) 6.368 30.479 145.881 Log(t) 3,80 4,48 5,16 n=m 7 8 9 t (horas) 1,8 8,5 40,5 En la Tabla 17, se muestran los resultados promedios para cada uno de los casos estudiados. Se observa que cuando los coeficientes de b se distribuyen gamma el esfuerzo computacional es mayor. Tabla 17. Resultados promedios totales en tiempo computacional según la distribución de los coeficientes y el tamaño del problema. Caso II. Resultados promedios totales según la distribución de los coeficientes 3x3 mxn Distribución 4x4 5x5 Tiempo Tiempo Número Ewbank Número Ewbank Número Nodos (1974) Nodos (1974) Nodos (seg) (seg) 6x6 7x7 8x8 9x9 Tiempo Tiempo Tiempo Tiempo Tiempo Ewbank Número Ewbank Número Ewbank Número Ewbank Número Ewbank (1974) Nodos (1974) Nodos (1974) Nodos (1974) Nodos (1974) (seg) (seg) (seg) (seg) (seg) Exponencial 5 16 12 87 21 291 48 936 81 1.532 176 5.002 273 9.452 Gamma 5 97 11 933 16 2.599 32 21.369 - - - - - - Uniforme 5 16 12 27 25 387 43 1.386 - - - - - - 75 4.3 Medición de la convergencia de un método de aproximación dado a través de la forma cerrada 4.3.1 Caso II. Coeficientes distribuidos Gamma Considere el siguiente problema lineal estocástico Caso II: max Z = 34 x1 + 29 x2 + 42 x3 xi s.a. 4 x1 + 6 x2 + 19 x3 ≤ b1 (4.2) x1 + 20 x2 + 9 x3 ≤ b2 5 x1 + 4 x2 + 3x3 ≤ b3 donde b1 , b2 , b3 ~ Gamma(1, 2) iid. Se desea hallar la función de distribución del óptimo de la función objetivo a través dos métodos: Simulación (5000 réplicas) y la Forma Cerrada, para luego comparar ambas soluciones. Con los datos obtenidos de la simulación se ajustó empíricamente una curva Gamma de parámetros (α = 2.81, λ = 3.70) . Para mayor información acerca del ajuste, véase el Apéndice D. Este mismo problema fue resuelto en forma cerrada a través de la herramienta desarrollada y se obtuvo la función de probabilidad de la ecuación (4.3). (4.3) Fteórica (φ ) = 1+ - 9 ‰- 31 fê42 H- 233373199248 - 8630134800 f + 14711388622 f2 + 1815735741 f3 L 13854509674012 ‰- 5 fê17 H168361933752980 + 70611079972316 f + 6043254611341 f2 + 118182098230 f3L 198446664805892 En la Figura 22, se muestran las gráficas de la distribución del óptimo del problema (4.2) obtenidas a través de la solución teórica y la simulación. En la Figura 23, se muestran ambas gráficas superpuestas. 76 CDF Teorica 1 CDF Simulacion 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 φ 5 10 15 20 25 φ 30 5 10 15 20 25 30 Figura 22. Gráficos de la función de distribución del óptimo del problema (4.2). Solución teórica y ajustada (simulación) PDF HSimulacion CDF y Teorica L 0.8 Teórica 0.6 0.4 Simulación 0.2 φ 5 10 15 20 Figura 23. Gráficas superpuestas de la función de distribución obtenida por la solución teórica y la simulación Luego, se obtienen los valores de los criterios utilizados para comparar ambas distribuciones, los cuales son presentados en la Tabla 18. Tabla 18. Criterios para la comparación de la solución teórica a la aproximada para el problema (4.2) Criterio D = sup FZ *teórica ( x) − FZ *ajustada ( x) Valor Eteorica ( Z *) 10,013 Eajustada ( Z *) 10,141 Dif % = Eajustada ( Z *) − Eteórica ( Z *) Eajustada ( Z *) .100% 0,025 1,3% 77 4.3.2 Caso II. Coeficientes distribuidos Uniforme A continuación, se realiza el mismo análisis que el anterior cuando se tiene el siguiente problema max Z = C1 x1 + C2 x2 + C3 x3 xi s.a. 50 x1 + 15 x2 + 29 x3 ≤ 53 (4.4) 50 x1 + 14 x2 + 4 x3 ≤ 63 21x1 + 49 x2 + 13x3 ≤ 41 donde C1 , C2 , C3 ~ Uniforme(0,8) iid. Con los datos obtenidos de la simulación se ajustó empíricamente una curva Beta de parámetros (α = 0.94, λ = 1.09) , la cual resultó posición numero uno según el criterio de la prueba Anderson-Darling. La solución teórica de este problema, se presenta en la siguiente ecuación: (4.5) Fteórica (φ ) = Ø ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ∞ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ± f ¥ 9928 1 613 - 66853184+12171728 f- 375769 f2 31712000 435 f2 1186777 1666862 - 125 + 991 + 359552 613 f 7928 - 28125 f2 178158016 - 2207873734650624000- 610797804107106624 f+328026901600578480 f2 - 15229052228956825 f3 14880908180463212544 35711423744000- 31675242026304 f+9352488870480 f2 - 36481011525 f3 898309773539328 13559216461 f3 15760514637312 424 29 < f < 9928 fã 424 29 3336 305 § f < 424 613 29 212 25 <f< 328 49 < f § 212 0<f § 3336 305 25 328 49 78 Figura 24. Gráficos de la función de distribución del óptimo del problema (4.4). Solución teórica y ajustada (simulación) CDF Teorica CDF Simulacion 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 φ 5 10 15 φ 20 5 10 15 Figura 25. Gráficas superpuestas de la función de distribución obtenida por la solución teórica y la simulación CDF Simulacion 1 y Teorica Teórica 0.8 0.6 Simulación 0.4 0.2 φ 5 10 15 20 Tabla 19. Criterios para la comparación de la solución teórica a la aproximada para el problema (4.4) Criterio D = sup FZ *teórica ( x) − FZ *ajustada ( x) 0,2072 Eteorica ( Z *) 9,037 Eajustada ( Z *) 9,773 Dif % = Eajustada ( Z *) − Eteórica ( Z *) Eajustada ( Z *) .100% Valor 7,53% Sin pretender ser exhaustivos en el análisis, se podría decir a simple vista que la simulación es una muy buena aproximación a la solución teórica en el caso del problema (4.2). En este caso, el tomador de decisiones deberá analizar si una variación del 1,3% en la esperanza de la distribución es económicamente importante. Sin embargo, en el caso 20 79 del problema (4.4), la diferencia entre ambas distribuciones es más notable. El supremo de las diferencia fue de 0,21 (mayor que para el primer caso) y la diferencia entre las esperanzas también fue más grande. 4.4 Análisis de los resultados A través de la herramienta se obtuvieron los mismos resultados que los expuestos en los ejemplos de la literatura, tanto para el algoritmo Bereanu como para la transformación en los Casos I y II. Adicionalmente, en cada problema resuelto con la herramienta se verificó que la función obtenida cumpliera con las condiciones de una distribución de probabilidad. Sin embargo, los ejemplos encontrados en la literatura resueltos en forma cerrada fueron pocos y ninguno de ellos considera los casos en que los coeficientes aleatorios se distribuyen uniforme y gamma. Esto constituyó una gran limitación para realizar la validación de la herramienta de una manera más exhaustiva. Un elemento a favor, es que, por lo menos, no se encontraron evidencias de que los resultados fueran erróneos. En la década de los 50, 60, 70 y 80, cuando este problema tuvo su auge, era casi impensable que una herramienta computacional pudiera hallar de forma cerrada la solución del problema. La razón es que la solución requiere de un programa que sea capaz integrar simbólicamente sobre las regiones que se generan a partir de la resolución de sistemas de inecuaciones que, de hecho, serán más y más complicadas a medida que se aumenta el número de parámetros aleatorios del problema. Se debe resaltar que el tiempo computacional que toma la herramienta para resolver el problema depende de los números considerados en los elementos la matriz tecnológica, del vector de recursos o el vector de costos, no sólo en orden de magnitud, sino en el rango en que se encuentren los números, ya que esto determinará el número de vértices factibles de la región. Por ello, el número máximo de variables estará sujeto al valor de todos los parámetros mencionados. En el caso de las simulaciones, la curva seleccionada para ajustar los datos empíricamente, depende en alguna medida del criterio del decisor o usuario. Esto implica 80 que los resultados del análisis presentado en los ejemplos podrían variar si se selecciona otra curva de ajuste. Al tener dos formas para solucionar el problema de distribución de PLE, el primal y el dual equivalente, siendo idénticas estas dos soluciones, cabe perfectamente la pregunta de porqué se deben diseñar diferentes métodos para la solución del Caso I y Caso II, si la solución de uno implica la solución del otro. La respuesta es la misma que para el caso de Programación Lineal determinística, es decir, en ciertos casos, la relación entre el primal y el dual puede ser muy útil a la hora de reducir el esfuerzo computacional para la resolución del problema. En el caso estocástico y con la herramienta desarrollada, aparece la pregunta de cuál método será mejor para la resolución del problema de distribución. Quizás esta respuesta dependerá del número de variables en relación al número de restricciones del PL, al número de coeficientes aleatorios involucrados o a la función de distribución de los mismos. Para dar una primera aproximación a estas respuestas, se presenta el siguiente capítulo donde se realiza un estudio empírico del tiempo computacional asociado a la resolución del problema. 81 Capítulo 5 Estudio empírico de los resultados de la herramienta en tiempo computacional Hasta los momentos se han llevado a cabo todos los objetivos que fueron planteados al inicio del proyecto: se desarrolló una herramienta computacional para encontrar la forma cerrada de la distribución del óptimo para el Caso I y Caso II, se implementaron las transformaciones de Ewbank et al. (1974) para la resolución de ambos casos, se mostraron resultados en tiempo computacional para las distribuciones estudiadas y para diferentes tamaños del problema, y por último, se mostró brevemente cómo esta herramienta puede ser utilizada para evaluar la convergencia de otros métodos de simulación o aproximación para la solución del problema de distribución. Sin embargo, a lo largo de la investigación surgieron ciertas interrogantes que no fueron planteadas en los objetivos del proyecto y resultó interesante incluir un capítulo adicional para dar una primera respuesta a estas inquietudes presentadas. Este estudio no pretende en ningún momento ser un análisis exhaustivo, sino mostrar un primer acercamiento de los posibles análisis que se pueden llevar a cabo con la herramienta desarrollada. Las interrogantes presentadas fueron las siguientes: 1) ¿Las transformaciones de Ewbank et al (1974), son significativamente efectivas en la disminución del tiempo computacional de la herramienta desarrollada? 2) Si se tiene, por ejemplo, un problema Caso I, ¿es mejor resolverlo por el algoritmo del primal o a través del dual equivalente (algoritmo del Caso II)? 3) ¿El cambio de los parámetros de una distribución dada, influye en el tiempo computacional de la herramienta? Para responder las preguntas anteriores, se plantea la siguiente metodología de comparación. 82 5.1 Metodología La metodología diseñada para abordar las preguntas de la parte anterior consiste, básicamente, en resolver diversos problemas de programación lineal estocástica de tres coeficientes aleatorios, variando tres factores principales: 1. Método de resolución del problema: Primal o Dual. 2. Tipo de Algoritmo: Bereanu o Transformación Ewbank et al (1974). 3. Parámetros de la distribución: Exponencial: λ , Gamma: λ y α . En la Tabla 20, se muestran los factores tomados en cuenta y sus posibles valores. Tabla 20. Factores tomados en cuenta para el análisis de la herramienta desarrollada D E Factor Número de variables problema Numero de restricciones Distribución de los coeficientes estocásticos. Modo de resolución Algoritmo F Parámetros de las distribuciones A B C Posibles Valores 3ó6 3ó6 Exp / Gamma Caso I / Caso II Bereanu / Transformación Exp: λ ∈ [0, 2] ó λ ∈ [400,500] ; Gamma: α enteros ∈ [1,11] La idea es realizar varios experimentos cambiando un factor a la vez y medir el tiempo computacional de la herramienta. La Tabla 21 muestra el estado de los factores, el elemento a determinar (pregunta a responder) y el número de réplicas utilizado en cada uno de los siete (7) experimentos diseñados. Tabla 21. Diseño de experimentos para la comparación de los resultados de la herramienta No. 1 2 3 4 Elemento a determinar Eficacia de transformación en la reducción del tiempo Eficiencia del Caso I y Caso II en la resolución de problemas (m = n) A B C D 3 3 Exp Caso II 3 3 Gamma Caso II 3 3 Exp 3 3 Gamma No. Réplicas E F Bereanu / Trans. Bereanu / Trans λ =1 λ =1 α =2 200 Caso I /Caso II Trans. λ =1 200 Caso I /Caso II Trans β =1 α =2 200 81 83 Continuación de la Tabla 21. Elemento a No. A determinar Eficiencia del 5 6 Caso I y Caso II en la resolución de 6 6 problemas B C D E F No. Réplicas 3 Exp Caso I /Caso II Trans. λ =1 200 3 Gamma Caso I /Caso II Trans β =1 α =2 123 3 Exp Caso II Trans. (2m = n) 7 Influencia de los parámetros en el tiempo del algoritmo 3 λ ∈ [0, 2] ó λ ∈ [400,500] 200 En cada experimento se mide el tiempo de cómputo para las n réplicas de cada factor diferente y se determina si las medias de ambas poblaciones son estadísticamente diferentes a través una prueba de hipótesis para datos pareados. A continuación se explica más detalladamente los experimentos enunciados en la Tabla 21. 5.1.1 Eficacia de transformación en la reducción del tiempo En el Capítulo 4, se mostraron los resultados en tiempo computacional de la herramienta para las tres distribuciones fijadas y diferentes tamaños del problema. Estos resultados sugerían que la transformación Ewbank et al (1974) era bastante efectiva en la reducción del tiempo computacional de la herramienta. Sin embargo, estos resultados fueron obtenidos para un número pequeño de muestras (n=10). Con el fin de obtener mayor evidencia estadística, se llevaron a cabo los experimentos 1 y 2, explicados en la Tabla 21, a través de los cuales se desea saber si la transformación Ewbank et al (1974) reduce significativamente el tiempo de la herramienta. Como se puede observar en esa tabla, todos los factores están fijos y sólo se cambia el algoritmo de resolución (Bereanu y transformación). Se generaron 200 problemas estocásticos diferentes (Caso II) y cada uno fue resuelto por ambos algoritmos. Estos experimentos estudian la eficacia de la transformación específicamente para tamaño del problema 3x3, cuando los coeficientes estocásticos del vector de recursos se distribuyen exponencial y gamma. En este caso la hipótesis nula será que no existe diferencia entre las medias del tiempo, es decir, Ho : µ Bereanu = µTransformación y H A : µ Bereanu ≠ µTransformación . 84 En el caso de que las diferencias del tiempo de cómputo de ambos algoritmos sean estadísticamente diferentes, se desea conocer, en promedio, de cuanto será esta reducción. 5.1.2 Eficiencia del Caso I y Caso II en la resolución de problemas Luego de desarrollar una herramienta capaz de resolver cualquier problema con su equivalente dual, se plantea la interrogante de cuál será el mejor método de solución para cada problema dependiendo del caso. Es decir, si se tiene un problema cuyo vector de costos es estocástico, cabe la pregunta de si es preferible resolverlo a través del método Caso I o a través del método Caso II (mediante el problema dual equivalente). Otra pregunta que surge es si el método más adecuado de resolución depende del tamaño del número de variables y restricciones. Es por ello que para estudiar la eficacia del Caso I y Caso II en la resolución del problema, se toman en cuenta dos posibles situaciones: 1) cuando el número de variables es igual al número de restricciones m = n , 2) cuando el número de restricciones es el doble que el número de variables m = 2n . En ambos casos, el número de coeficientes aleatorios es igual a tres (3). Ho : µCasoI = µCasoII y H A : µCasoI ≠ µCasoII . 5.1.3 Influencia de los parámetros en el tiempo de la herramienta Otra pregunta de interés es si el cambio de los parámetros de las distribuciones afecta el tiempo del algoritmo. En el caso de distribuciones exponenciales, se resolvió el mismo problema estocástico 200 veces con valores de λ distintos para un rango de λ ∈ (0, 2] y otro rango de λ ∈ [400,500] . Las dos poblaciones fueron comparadas para observar si existe diferencia significativa entre ellas. Estos rangos son totalmente arbitrarios y se colocaron con el fin de estudiar el comportamiento ante variaciones extremas del parámetro. Para el caso de la distribución gamma no se realizaron pruebas de hipótesis. En cambio, se resolvió el mismo problema estocástico, cuando los coeficientes del vector de recursos tienen una distribución gamma estándar, para diferentes valores enteros del 85 parámetro α , que variaron de α = 1 hasta α = 11 . Recordemos que la función de densidad de la gamma estándar es p X ( x) = xα −1e − x , lo que implica que un número mayor Γ(α ) de α , hará más compleja las integrales involucradas en el cálculo de la función de distribución. 5.2 Resultados A continuación se presentan los resultados obtenidos a través de los experimentos explicados en la parte anterior. 5.2.1 Eficacia de la transformación Ewbank et al (1974) en la reducción del tiempo computacional Como se explicó en la parte anterior, se desea saber si existe diferencia significativa en el tiempo computacional de la herramienta a través del algoritmo Bereanu y el tiempo con la transformación. Para un número de réplicas n = 200 , se obtuvieron los resultados de las pruebas de hipótesis los cuales son presentados en la Tabla 22. Tabla 22. Resultados de la prueba de hipótesis para experimentos 1 y 2 No de experimento ¿Se rechaza Ho al 95%? p-valor 1 2 Sí Sí 1,69 E-37 2,43 E-12 El tiempo promedio del algoritmo Bereanu es significativamente diferente al tiempo promedio con la transformación para distribuciones gamma .En la Tabla 23, se muestran algunos estadísticos que describen el comportamiento del tiempo computacional de la herramienta mediante la resolución por el algoritmo Bereanu y el algoritmo Transformación, en el caso de distribuciones exponenciales y gamma de tamaño 3x3. 86 Tabla 23. Resultados del tiempo computacional para experimentos 1 y 2 No. Distribución Estadístico µ σ 1 Exponencial min max Mediana µ σ 2 Gamma min max Mediana Tiempo Bereanu (seg) 143 110 6 459 122 514 460 18 2180 376 Tiempo Transforma ción (seg) 18 12 0,9 46 14 89 70 5 271 66 En la Tabla 23, se observa una gran diferencia entre los tiempos promedios de cada algoritmo y de la misma manera se ve un contraste notable entre los otros estadísticos del tiempo computacional para ambos algoritmos. Luego de tener suficiente evidencia para decir que la transformación Ewbank et al (1974) efectivamente influye sobre el tiempo de la herramienta, estamos interesados en saber numéricamente cómo se comporta esta reducción. Para ello, se calculó la diferencia porcentual del tiempo con ambos algoritmos para cada réplica y se obtuvieron los resultados de la Tabla 24. En esta tabla se muestra el histograma y el valor de los estadísticos básicos de las reducciones porcentuales luego de la transformación. Tabla 24. Resultados de la reducción del tiempo computacional luego de la transformación Ewbank et al. (1974) para distribuciones exponenciales. No. Distribución 1 Exponencial Estadístico Reducción del tiempo Histograma de la diferencia porcentual del tiempo Algoritmo Bereanu y tiempo transformación µ 84,7 % σ 7, 6 % 60 min 58,1 % 40 max 97,1 % 20 Mediana 86,4 % 40 50 60 70 80 90 100 87 Tabla 25. Resultados de la reducción del tiempo computacional luego de la transformación Ewbank et al. (1974) para distribuciones gamma µ 77,4 % σ 12,8 % 30 25 20 2 Gamma min 16,0 % max 94,41 % 15 10 5 Mediana 79,66 % 20 40 60 80 100 A través de la Tabla 24 y Tabla 25, se puede apreciar que la transformación Ewbank reduce significativamente el tiempo de cómputo de la herramienta. Para el caso de exponenciales 3x3, reduce en promedio 84% y para el caso de gamma 3x3 reduce en promedio 76,6%. Adicionalmente, los histogramas revelan que en general el porcentaje de reducción se concentra en valores altos, entre 80 y 90 para la exponencial y 5.2.2 Eficiencia del Caso I y Caso II en la resolución del problema En la presente sección se muestran los resultados de los experimentos del 3 al 6, según la numeración de la Tabla 21. En este caso se desea investigar el método más adecuado de resolución (Caso I o Caso II) de acuerdo a la relación entre el número de variables y el número de restricciones del problema lineal estocástico. 5.2.2.1 Tamaño m=3, n=3 (m=n) Para un tamaño 3x3, se resolvieron 200 problemas a través del algoritmo transformación, tanto para el caso I como para el caso II. Los resultados de las pruebas de hipótesis se presentan el la Tabla 26. Estos resultados corresponden a los experimentos 3 y 4. Tabla 26. Resultados de la prueba de hipótesis para experimentos 3 y 4 No de experimento ¿Se rechaza Ho al 95%? ¿Se rechaza Ho al 90%? p-valor 3 4 No Sí Sí Sí 0,0605 0,0013 88 En el experimento 3, a pesar que no se rechaza para un nivel del 95%, nótese que para un nivel del 90% sí hay evidencias para rechazar la hipótesis nula, lo que representaría que los tiempos promedios de ambos algoritmos (Caso I y Caso II) son significativamente diferentes, con un 90% de confianza. El tiempo promedio del método CASO I es significativamente diferente al tiempo promedio con método CASO II para distribuciones gamma, cuando m=n, con un nivel de significancia del 95% En la Tabla 27, se muestran los estadísticos del tiempo computacional para ambos métodos de resolución, en los casos de coeficientes con distribución exponencial y gamma. Tabla 27. Resultados del tiempo computacional para experimentos 3 y 4 Distribución Estadístico µ σ 3 Exponencial min max Mediana µ σ 4 Gamma min max Mediana Tiempo con Caso II (seg) 16,5 12 1,0 48,8 14,1 94,1 76,2 5,3 308,9 70,9 Tiempo con Caso I (seg) 18,8 12 2,2 46,8 17,1 122,0 94,2 7,6 364,6 95,5 En la Tabla 27, se observa una diferencia más marcada entre las medias de ambos métodos para el caso de distribuciones gamma. Igualmente, se desea saber numéricamente cuánto más eficiente es el Caso II sobre el I, para los experimentos estudiados. Para ello, se presenta la Tabla 28, que contiene los estadísticos y el histograma de las diferencias entre el tiempo Caso II y Caso I. 89 Tabla 28. Resultados de la reducción del tiempo computacional Caso I en comparación con el Caso II (m=n) para distribuciones exponenciales y gamma. No. Distribución 3 4 Exponencial Gamma Estadístico Reducción del tiempo µ 21,5 % Histograma de la diferencia tiempo Caso I y tiempo Caso II 40 σ 18,0 % 30 min -12,9 % 20 max 58,6 % 10 Mediana 15,5 % µ 23,6 % 25 σ 7,9 % 20 min 5,8 % 0 20 40 60 15 10 max 43,7 % 5 Mediana 24,5 % 10 20 30 40 Según la Tabla 28, el Caso II es, en promedio, 21.5% más eficiente que el Caso I para la resolución del problema con distribuciones exponenciales, cuando el número de variables es igual al número de restricciones (m=n=3). De la misma manera, el Caso II es, en promedio, 22% más eficiente que el Caso I para distribuciones gamma. En el experimento 3, en ciertos casos resultó que el Caso I tuvo menor tiempo que el Caso II, por ello el mínimo valor de la reducción llega a ser un número negativo. 5.2.2.2 Tamaño m=3, n=6 (2m=n) De manera análoga, en esta parte se presentan los resultados obtenidos para el caso en que el número de restricciones es el doble que el número de variables. Los resultados de las pruebas de hipótesis se presentan en la Tabla 29. 90 Tabla 29. Resultados de la prueba de hipótesis para experimentos 5 y 6 No de experimento ¿Se rechaza Ho al 95%? ¿Se rechaza Ho al 90%? p-valor 5 6 No Sí No Sí 0,741 0,0109 Los resultados de la Tabla 29 indican que no hay evidencias suficientes para decir que el tiempo promedio del algoritmo CASO I es significativamente diferente al tiempo promedio con el CASO II cuando (n=2m) cuando los coeficientes se distribuyen exponencial. Esta afirmación cambia para el caso de coeficientes gamma, donde sí existe evidencia significativa entre el promedio de ambos métodos. En la Tabla 30, se muestran los estadísticos básicos para los experimentos 5 y 6. Luego, para tener una mejor idea de la eficiencia del Caso I y II para coeficientes gamma, en la Tabla 31 se muestran los estadísticos de la diferencia en tiempo entre ambos métodos. Tabla 30. Resultados del tiempo computacional para experimentos 5 y 6 Distribución Estadístico µ σ 5 Exponencial min max Mediana µ σ 6 Gamma min max Mediana Tiempo con Caso II (seg) 37,2 25,1 1,2 124,5 31,1 205,0 156,5 2,1 844,5 172,7 Tiempo con Caso I (seg) 37,9 23,2 2,5 118,3 33,6 264,1 202,0 7,8 1120,7 211,6 Tabla 31. Resultados de la reducción del tiempo computacional Caso I en comparación con el Caso II (m=n) para distribuciones exponenciales y gamma. No. Distribución 6 Gamma Estadístico Reducción del tiempo Histograma de la diferencia tiempo Caso I y tiempo Caso II µ 22,6% 40 σ 7,4% 30 min 4,7% 20 max 49,4% 10 Mediana 22,6% 10 20 30 40 50 91 Finalmente, con los resultados obtenidos, se presenta la siguiente recomendación a la hora de resolver un problema con las mismas condiciones que las estudiadas anteriormente: Tabla 32. Método de resolución recomendado según el tamaño del problema Distribución Exponencial Gamma 3x3 ( m = n) Caso II Caso II 6x3 (2m = n) Indiferente Caso II 5.3 Análisis de los resultados En los experimentos 3, 4 y 6, hay evidencias estadísticas para decir que el tiempo de la herramienta Caso I es significativamente diferente del tiempo para el Caso II. Observando el valor de las Medias, se nota que los tiempos para el Caso II son ligeramente menor que los del Caso I. El algoritmo del Caso II itera sobre todas las posibles combinaciones de ( m + n ) en m, y en cada una requiere el cálculo de la inversa de la matriz B, para hallar el criterio de optimalidad. En cambio, la transformación del Caso I no requiere el cálculo de la inversa porque el paquete “Vertex Enummeration” permite encontrar las bases factibles del problema lineal. En este caso (tamaño mxn = 3 x3 ), el número posible de combinaciones básicas es C36 = 20 . Lo que quiere decir que, en el Caso II, el algoritmo deberá calcular la inversa de 20 matrices 3x3 para hallar aquellas bases que satisfacen el criterio de optimalidad, a diferencia del Caso I, donde el número promedio de bases factibles es 5 y en el cual no se requiere el cálculo de la inversa. Si a pesar de las ineficiencias del Caso II, éste resulta un poco más rápido que el I para resolver el problema, esto sugiere que de alguna manera la transformación para el Caso II produce una mejor simplificación de las regiones de integración, lo que se refleja en una mayor ventaja sobre el Caso I. Esto explicaría porqué en un problema de mayor tamaño resulta indiferente resolver el problema por el Caso I ó II (para el caso de distribuciones exponenciales). La hipótesis planteada es la siguiente: 92 Considere el caso del experimento 5, donde mxn = 6 x3 . El número posible de combinaciones básicas es C39 = 84 . Esto quiere decir que el aumento en el esfuerzo computacional por el cálculo de la inversa de 84 matrices para el Caso II, hace que los tiempos de ambos métodos se igualen. Con esto, se esperaría que para tamaños mayores (donde el número de combinaciones va creciendo de manera exponencial), el Caso I resulte más eficiente en la resolución del problema. 5.3.1 Influencia de los parámetros en el tiempo del algoritmo Los resultados del experimento 7, relacionados con la influencia del parámetro λ en el tiempo de la herramienta, se muestran en la Tabla 33. Tabla 33. Resultados de la prueba de hipótesis para experimento 9 No de experimento ¿Se rechaza Ho al 95%? p-valor 9 Sí 0,9 E-4 Con estos resultados hay evidencias para decir que el cambio del parámetro λ en la distribución exponencial, afecta el tiempo de cómputo del algoritmo. Para medir el efecto de cambiar el parámetro α en la distribución gamma, no se realizaron pruebas de hipótesis. A simple vista, se observa que el tiempo crece a medida que se aumenta el valor del parámetro, así como se muestra en la Tabla 34. Tabla 34. Resultados del tiempo computacional para experimento 10 Valor del parámetro 1 2 3 4 5 6 7 8 9 10 11 α Tiempo de la herramienta (seg) 19 72 116 304 592 1.127 1.976 2.259 3.333 5.255 7.915 93 Capítulo 6 Conclusiones y Recomendaciones En el presente proyecto se desarrolló una herramienta computacional que incluye algoritmos de Bereanu (1963) y Ewbank et al (1974) para encontrar la forma cerrada de la distribución del óptimo de la función objetivo, cuando se tiene un Problema de Programación Lineal en el cual el vector de costos o el vector de recursos son vectores aleatorios con distribución de probabilidad conjunta conocida. A pesar de que en esta investigación se realizó la contabilización del tiempo, es importante destacar que estos resultados deben ser tomados sólo como referencia de la complejidad del problema, pues el tiempo de la herramienta está estrechamente relacionado a la eficiencia del código de programación utilizado. Por ello se resalta que el objetivo de la herramienta desarrollada no es encontrar la mayor eficiencia computacional, sino mostrar que efectivamente se puede hallar la solución en forma cerrada del problema de Distribución de PLE, cuando se tienen más de dos parámetros aleatorios. Gracias al avance de la tecnología y al desarrollo la presente tesis de grado, es la primera vez (a conocimiento del autor) que se obtienen resultados de forma cerrada para un problema con más de dos parámetros aleatorios. Dentro de la bibliografía consultada, no se encontró ningún trabajo que incluyera la cantidad de parámetros aleatorios abarcados en este proyecto y haya obtenido la solución en forma cerrada. Aunque el máximo número de variables tratadas en este proyecto fue de nueve (9) para el caso de las distribuciones exponenciales y seis (6) para el caso de gammas y uniformes, este número puede aumentar si se implementa la herramienta en procesadores más veloces. La implementación de la transformación Ewbank et al (1974) resultó ser muy efectiva en la disminución del tiempo computacional para el caso de problemas de tamaño m = n = 3 , ya que para el caso de exponenciales, el promedio de reducción del tiempo luego de la aplicación de la transformación fue del 84%, y para el caso de distribuciones gamma, la reducción fue del 76%. Con esto se destaca que si no se hubiese 94 implementado la transformación, muy probablemente no se hubiese podido llegar hasta el máximo número de variables anteriormente descrito. A pesar de que esta transformación fue introducida hace más de 30 años, no existe ningún trabajo (en la bibliografía consultada) que compare de manera empírica la efectividad de la transformación en disminuir la complejidad del problema. Este proyecto es uno de los primeros intentos en este área y, de hecho, se muestran ejemplos de que la transformación puede llegar a ser muy efectiva en la disminución del tiempo computacional. Adicionalmente, uno de los inconvenientes en la aplicación de esta transformación era la dificultad de utilizar distribuciones uniformes. Con esta herramienta desarrollada, se pudo implementar la transformación para distribuciones uniformes de una manera satisfactoria. Estos resultados son muy alentadores pues sugieren que la transformación podría resultar igual de efectiva en otros casos no considerados en este proyecto, ni estudiados anteriormente. A través del estudio empírico se obtuvo que cuando se tiene un problema 3x3, con distribuciones gamma o exponencial, es más conveniente la resolución a través del Caso II. Por otra parte, cuando se tiene un problema con 3 coeficientes aleatorios de 6 restricciones y 3 variables, resulta indiferente resolverlo por cualquier método. Esto pareciera indicar que la transformación aplicada al Caso II es más eficiente que la transformación del Caso I en la simplificación de las regiones de integración, pero la manera como se implementa el algoritmo de la modalidad del Caso II, hace que quizás este método no será el más adecuado para tamaños mayores del problema. Para dimensiones mayores se espera que el caso más conveniente de resolución sea el Caso I. Una de las hipótesis que se plantea luego de observar los resultados es que, si de alguna manera se desarrollara un paquete análogo al “VertexEnummeration”, pero en este caso calculara los vértices que cumplan el criterio de optimalidad, podría ser que la Transformación Caso II fuera la más conveniente para resolver cualquier tamaño del problema. Por ello, es recomendable extender el estudio y dar una conclusión más precisa acerca del comportamiento de las modalidades según el número de variables y restricciones involucradas. 95 Una de las grandes ventajas de la herramienta desarrollada es la facilidad para implementarse en procesadores en paralelo, ya que la solución de cada una de las bases factibles es independiente de las demás y la solución final es simplemente la suma de todas ellas. Este procedimiento podría ser estudiado si se tiene la necesidad de obtener la solución para un número mayor de variables, en un tiempo menor. Esta misma necesidad también puede llevar al uso de procesadores más poderosos que permitan obtener la solución en menor tiempo. Mediante dos ejemplos sencillos en los cuales se comparó la solución del problema de distribución en forma cerrada con una solución aproximada, se mostró que la “medida” de la diferencia entre la solución teórica y la aproximada puede variar según las condiciones del problema. Por ejemplo, el supremo de la diferencias entre la solución teórica y la aproximada fue de 0,02 para el caso de coeficientes gamma, mientras que para el caso de coeficientes uniformes (mediante el mismo método) el supremo resultó 0,21, es decir, notablemente mayor. Por esta razón, no se debe asumir que un método es de “buena calidad” sin antes hacer un estudio del error involucrado, tomando en cuenta las condiciones particulares del problema. Aquí, una vez más se destaca la importancia de contar con una herramienta, como la desarrollada en el presente proyecto, que permita medir el error incurrido al resolver el problema con un método de aproximación. A pesar de que no se desarrollaron metodologías para evaluar la calidad de la solución, brindar la herramienta de comparación es un primer paso en este análisis. Hasta los momentos se han identificado las nuevas posibilidades para la solución del problema de distribución en forma cerrada. A continuación, se exponen las principales limitaciones que se visualizaron a lo largo del proyecto. En primer lugar, la limitación más evidente es que el tiempo computacional de la herramienta crece de manera exponencial a medida que se va aumentando el tamaño del problema. A pesar de que se puedan utilizar computadoras más veloces y se pueda implementar la herramienta en procesadores en paralelo, la solución en forma cerrada seguirá siendo un problema de alta complejidad. 96 Adicionalmente, hay muchos parámetros que influyen sobre el tiempo computacional de la herramienta (el orden de magnitud de los coeficientes de la matriz tecnológica del problema, la distribución y el valor de los respectivos parámetros para modelar los coeficientes aleatorios, el número de bases factibles, entre otros), lo que hace que sea un poco difícil estimar, de manera directa, el tiempo esperado de resolución para un problema determinado. En tal caso, haría falta estudiar el impacto de todos estos factores en el tiempo de la herramienta y tener una mejor idea de su posible comportamiento para otros casos no estudiados en este trabajo. Dirección para futuras investigaciones La herramienta desarrollada en este proyecto no contempla los casos en los cuales ambos vectores, c y b, son simultáneamente vectores aleatorios. Esta condición ofrece un área de futura investigación y una posible extensión de este trabajo. Otra posibilidad es extender el estudio empírico y evaluar de manera más precisa el impacto que tienen los parámetros de la distribución en la tiempo de la herramienta, así como el estudio de la eficiencia del Caso I y Caso II para tamaños mayores del problema. De la misma forma, sería interesante la utilización de otras distribuciones de probabilidad como, por ejemplo, Weibull, Beta, entre otras, así como el análisis para variables aleatorias dependientes. Un gran aporte para incrementar las posibilidades de resolución en forma cerrada, que involucra a expertos en el área de la computación, sería la evaluación y mejora de la eficiencia del código en requerimientos de tiempo y espacio de almacenamiento. También resulta conveniente el desarrollo de una metodología para determinar la calidad de cualquier método de aproximación a través de la forma cerrada. Asimismo, para cualquier método de aproximación, se podría estudiar la rapidez de convergencia de la solución aproximada a la solución teórica y medir el número de réplicas necesarias para obtener cierta calidad deseada. Finalmente, la dirección de futuros proyectos, quizás más aplicables en el área de Ingeniería de Producción, es el estudio del impacto que tiene el error de la aproximación de la función de distribución en la toma de decisiones. 97 Bibliografía 1. Avis, D. y K. Fukuda (1992). A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra. Discrete and Computational Geometry, 8: 295-313. 2. Azaron, A. y M. Modarres (2005). Distribution function of the shortest path in networks of queues. OR Spectrum, 27: 123-144. 3. Balinski, M.L. (1961). An algorithm for finding all vertices of convex polyhedral sets. Journal of the Society for Industrial and Applied Mathematics. 9 (1): 72-88. 4. Bayraksan, G. (2005). Monte Carlo Sampling-Based Methods in Stochastic Programming. Tesis Doctoral. Universidad de Texas en Austin. 5. Beer, C.N. (1972). Polyhedral subspaces and the selection of optimal bases in probabilistic linear programming. Tesis Doctoral. Universidad de Oklahoma. 6. Bereanu, B. (1963). On stochastic linear programming. I. Distribution problems: A single random variable. Revue Roumaine de mathematiques pures et appliques, 8: 683697. 7. Bereanu, B. (1966). On stochastic linear programming. The Laplace transform of the distribution of the optimun and applications. Journal of Mathematical Analysis and Applications, 15: 280-294. 8. Bereanu, B. (1974). Some numerical methods in Stochastic Linear Programming under risk and uncertainty. En: Stochastic programming. Proc. Internat. Conf., Univ.Oxford, Oxford, 1980: 169-206, Editorial: Academic Press, New York. Editado por M. A. H. Dempster. 9. Bereanu, B. (1975). On the use of computers in planning under conditions of uncertainty. Computing, 15 (1): 11-32. 10. Bracken, J. y R. M. Soland (1966). Statistical decision analysis of stochastic linear programming problems. Naval Research Logistics Quartely, 13: 205-225. 98 11. Dantzig, G. B. (1955). Linear programming under uncertainty. Management Science, 1: 197-206. 12. Dantzig, G. B. and A. R. Ferguson (1956). The allocation of Aircraft to Routes- An example of Linear Programming under uncertain demand. Management Science, 3, (1): 45-73. 13. Dempster, M. A. H. y A. Papagaki-Papoulias (1974). Computational experience with an approximate method for the distribution problem.En: Stochastic programming, Proc. Int. Conf., Oxford 1974. Publisher: Academic Press, London: 223-243. 14. Dyson, R. G. (1978). Minimax solutions to stochastic programs. An aid to planning under uncertainty. The Journal of the Operational Research Society, 29 (7): 691-696. 15. Ewbank, J. (1972). A method for the solution of the distribution problem of stochastic linear programming. In Doctoral dissertation. Norman: University of Oklahoma. 16. Ewbank, J., Foote, B. L., & Kumin, H. (1974). A method for the solution of the distribution problem of stochastic linear programming. SIAM J. Appl. Math., 26 (2): 225-238. 17. García, A. (1998). Programación estocástica por metas. Teoría y aplicaciones económicas. Tesis Doctoral. Universidad Complutense de Madrid. 18. Hanson, M. A. (1960). Errors and stochastic variations in linera programming. The Australian Journal of Statistics, 2: 41-46. 19. Hobbs, B. F. y J. Yuandong (1999). Stochastic programming-based bounding of expected production costs for multiarea power systems. Operations Research, 27 (6). 20. Johnson, N. L. y S. Kotz (1993). Distributions in Statistics. Continous Multivariate Distributions. Editorial Wiley. 21. Leung, S. y Y. Wu (2005). A two-stage stochastic programming with recourse model for cross-border distribution with fleet management. Production Planning & Control, 16 (1): 60-70. 99 22. Matheiss, T.H. y D. Rubin (1980). A survey and comparisson of methods for finding all vertices of convex polyhedral sets. Mathematics of Operation Research, 5 (2): 167-185. 23. Prékopa, A. (1966). On the probability distribution of the optimum of a random linear program. J. SIAM Control, 4 (1): 211-222. 24. Prékopa, A. (1995). Stochastic Programming. Kluwer academic Publishers. 25. Sarper, H. (1993). Monte-carlo simulation for analysis of the optimum value distribution in stochastic mathematical programs. Mathematics and Computers in Simulation, 35 (6), 469-480. 26. Sengupta, J. K. Stochastic Programming: A selective survey of recent economic applications.In Stochastic programming, Proc. int. Conf., Oxford 1974: 525-536. 27. Sengupta, J. K., Tintner, G., & Millham, C. (1963). On some theorems of stochastic linear programming with applications. Management Science, 10 (1). 28. Sengupta, J. K., Tintner, G., & Morrison, B. (1963). Stochastic programming with applications to economic models. Economica, 30: 262-276. 29. Spircu, L. (1977). Distribution of optimum in stochastic linear programming. Economic computation and economic cybernetics studies and research, 4: 81-92. 30. Taha, H. (1976). Operations Research. An Introduction (2nd ed.). USA: Mac Millan Publishing Co. 31. Tintner, G. (1955). Stochastic linear programming with applications to agricultural economics. En: Proc. Second Sympos. in Linear Programming, 1, Washington, DC: 197-228. 32. Zinn, C. D. (1972). An algorithm for the solution of the distribution problem of probabilistic linear programming. Tesis Doctoral. Universidad de Oklahoma. 100 Referencias no citadas 33. Bereanu, B. (1966). On stochastic linear programming. II. Distribution problems: Non stochastic technological matrix. Revue Roumaine de mathematiques pures et appliques, 11: 713-725. 34. Bereanu, B. (1967). On stochastic linear programming distribution problems stochastic technology matrix. Zeitschrift Fur Wahrscheinlichkeitstheorie und Verwandte Gebiete, 8 (2), 148-152. 35. Bereanu, B. (1975). Stable stochastic linear programs and applications. Mathematische Operationsforschung und Statistik, 6 (4): 593-607. 36. Bereanu, B. (1976). On some distribution-free, optimal solutions/bases, in stochastic linear programming. Revue Roumaine de mathematiques pures et appliques, 21 (6): 643-657 37. Birge, J. R., & Louveaux, F. (1997). Introduction to stochastic programming: Springer Series in Operations Research. New York, USA: Springer. 38. Carge, C. C., & Tind, J. (1997). A cutting plane approach to mixed 0-1 stochastic integer programs. European Journal of Operations Research. 39. Corea, G. A. (1993). Shortest paths in stochastic networks with ARC lengths having discrete distributions. Networks, 23:175-183. 40. Dempster, M. A. H. and Papagaki-Papoulias A.(1974). Introduction to Stochastic Programming. In Stochastic programming, Proc. int. Conf., Oxford 1974. Publisher: Academic Press, London: 3-59. 41. Dupacova, J. (2002). Applications of stochastic programming: Achievements and questions. European Journal of Operations Research, 140. 42. Ellner, P.M. & Stark, R.M. (1980). On the distribution of the optimal value for a class of stochastic geometric programs. Naval Research Logistics Quarterly, 27 (4): 549-571. 101 43. Foote, B. L. (1974). A discussion of the properties of a basic simplex algorithm for generating the decision regions of bereanu. In Stochastic programming, Proc. int. Conf., Oxford 1974.Publisher: Academic Press, London: 207-223. 44. Foote, B. L. (1974). A discussion of the properties of a basic Simplex Algoritm for generating the decision regions of Bereanu. En Stochastic programming. Proc. Internat. Conf., Univ.Oxford, Oxford, 1980: 201-222, Editorial: Academic Press, New York. Editado por M. A. H. Dempster. 45. Huang, C., C, Wehrung, D. A., & Ziemba, W. T. (1976). A homogeneous distribution problem with applications to finance. Management Science, 23 (3): 297-305. 46. Itami, H. (1974). Expected objective value of a stochastic program and the degree of uncertainty of parameters. Management Science, 21: 291-301. 47. Kall, P., & Mayer, J. (2005). Stochastic linear programming: models, theory, and computation. New York, USA: Springer Science. 48. Prékopa. (1990). Dual Method for the Solution of a One-Stage Stochastic Programming Problem with Random RHS Obeying a Discrete Probability Distribution. Zeitschrift fhur Operations Research. Vol 34. Issue 6 49. Schniederjans, M. J. (1991). A stochastic linear programming model to improve automobile dealership operations. Computers Operations Research, 18 (8), 669-678 50. Stancu-Minasian, I. M. &Wets, M. J. (1976). A research bibliography in stochastic programming, 1955-1975. Operations Research, 24 (6). 51. Stancu-Minasian, I. M. Stochastic programming with multiple objective functions / I.M. Stancu-Minasian ; translated from the Romanian by Victor Giurgiutiu. Bucuresti, Romania : Editura Academiei ; Dordrecht ; Boston : D. Reidel ; Hingham, Ma., U.S.A. : Distributors for the U.S.A. and Canada, Kluwer Academic, 1984. 2nd ed. 52. Stolc, L. (1991). Stochastic linear programming method for right-hand sides random vector. International Journal of Systems Science, 22 (7). 102 53. Tammer, K. (1976). On the solution of the distribution problem of stochastic programming. In Progress in operations research, Vols. I, II (Proc. Sixth Hungarian Conf., Eger, 1974). Publisher : North-Holland, Amsterdam: 907-920. 54. Thongkum, A. (1992). Analysis of the optimum value distribution in stochastic programming with emphasis on project selection problems: an experimental approach. Tesis Doctoral. University of Southern Colorado. 55. Wagner, H. M. (1995). Global sensitivity analysis. Operations Research, 43 (6), 948. 56. Wei Shen Hsia. (1977). Probability density function of a stochastic linear programming problem. Naval Research Logistics Quartely, 14. 57. Wets, R. J. B. (1974). The distribution problem and its relation to other problems in stochastic programming, In Stochastic programming. Proc. Internat. Conf., Univ.Oxford, Oxford, 1980: 245-262, Publisher: Academic Press, New York. Edited by M. A. H. Dempster. 58. Williams, A. C. (1965). On stochastic linear programming. Journal of the society for Industrial and Applied Mathematics, 13 (4). 59. Zimmermann, H. J., & Pollatschek, M. A. (1973). Distribution function of the optimum of 0-1 linear program with randomly distributed right-hand side. Angewandte Informatik. (Applied Informatics), 10, 423. 60. Zimmermann, H. J., & Pollatschek, M. A. (1975). The probability distribution function of the optimum of a 0-1 linear program with randomly distributed coefficients of the objective function. Operations Research, 23 (1), 137. 61. Zimmermann, H. J., & Pollatschek, M.A. (1975). On stochastic integer programming. Z. Operat. Res., Ser. A, 19, 37. 103 Apéndice A. Código de la herramienta en Mathematica 5.2 ® 104 105 106 107 108 109 110 111 112 113 Apéndice B. Ejemplos numéricos Ejemplos numéricos Tabla 35. Ejemplos numéricos Caso I. Uniformes (0, 8) iid. No. 1 A ij 50 15 29 yz jj z jj 50 14 4 zzz j z k 21 49 13 { b 853, 63, 41< No. Bases óptimas 6 CDF Ø 1 ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ - 66853184+12171728 f- 375769 f2 ≤ ≤ ≤ ≤ 31712000 ≤ ≤ ≤ ≤ ≤ ≤ 435 f2 1186777 ≤ ≤ + ≤ ≤ ≤ 1666862 359552 ≤ ≤ ≤ ≤ ≤ ≤ 125 613 f 28125 f2 + ∞ ≤ 991 7928 178158016 ≤ ≤ ≤ ≤ ≤ ≤ 2207873734650624000 - 610797804107106624 f+328026901600578480 f2 - 15229052228956825 f3 ≤ ≤ ≤ ≤ 14880908180463212544 ≤ ≤ ≤ ≤ ≤ ≤ 35711423744000 31675242026304 f+ 9352488870480 f2 -36481011525 f3 ≤ ≤ ≤ ≤ ≤ 898309773539328 ≤ ≤ ≤ ≤ ≤ 3 ≤ 13559216461 f ≤ ± 15760514637312 1 0.8 0.6 Gráfico CDF 0.4 0.2 5 10 15 20 f ¥ 9928 613 424 29 < f < 9928 fã 424 29 3336 305 § f < 424 613 29 212 25 <f< 328 49 < f § 212 0<f § 3336 305 25 328 49 114 Distribución bi Exp ( λ = 1) iid Tabla 36. Ejemplos numéricos Caso II: b estocástico No. Bases C factibles A i 25 j j j 1 j j j j 38 j j j j 36 j j j j 10 j j j j j j 26 k 29 12 43 22 21 57 69 18 70 40 24 8 31 32 36 29 21 69 2 53 20 70 62 48 33 5 22 54 39 47 26 25 60 44 8 48 55 y z z 23 z z z z 16 z z z z 44 z z z z 6 z z z z 64 z z z 58 { Tamaño: 7x7 Exp ( λ = 1) iid 21 i j j j 3 j j j j 30 j j j j 15 j j j j j 20 j j j 35 j j j j j 50 j j j 62 j j k 28 46 52 42 67 51 19 8 42 42 58 8 42 11 50 56 54 35 51 64 38 13 17 2 65 23 68 10 38 18 29 65 25 70 24 67 67 29 41 36 70 41 41 16 23 5 Tamaño 9x9 Gamma (α = 2, β = 1) 8 i j j j j 12 j k 10 7 12 y z z 3 20 z z z 8 2 { Tamaño 3x3 16 7 14 49 17 13 16 42 61 21 13 60 6 62 2 29 5 4 54 y z z 56 z z z z 13 z z z z 29 z z z z 43 z z z z 27 z z z z 64 z z z z 64 z z z 63 { 32 y i j z j j z 55 z j j z z j z j z 51 j j z z j z j 40 j z z j z j z j j 76 z z j z j z j z j j 42 z z k 77 { 68 y i j z j j z 57 z j j z z j z j 63 j z z j z j z j j 58 z z j z j j z 32 z j z j z j z j z 64 j z j z j j z 62 z j j z z j z j 71 j z z j z k 35 { 21 y i j z j z j z j j 42 z z 39 k { CDF 279606329816137 −33 φê5 831261638483 −43 φê7 + + 3706048191339648 11723417536896 176819726157223 −165 φê32 33104263047 −241 φê51 1006308772933 −22 φê5 + + + 881225572296069 1076131111048 2785360529952 994493743074095905184 −263 φê76 8966378504460313 −38 φê11 − 3548421284862197205 31812378118560 1− 139 1341254452151 −123 φê19 997664683672039 −150 φê29 + − 71025126754230 7315626895815168 7645003870664 −151 φê32 108261361807 −66 φê17 − + 26418068059185 6179070720 75008285751368455 −235 φê62 118652752499988954431 −202 φê71 − 3503976745070214 24969878994535073280 1+ 229 38 −34 φê39 H− 5529736953 − 1278443595 φ + 52877968 φ2 + 25768160 φ3L − 385319832183 −3 φê7 H15629133492 + 18707049900 φ + 2805472483 φ2 + 102428436 φ3L 34375369644 1+ 5 115 Apéndice C. Resultados de la simulación 1) Coeficientes de b~Gamma iid 116 2) Coeficientes de b~Uniformes iid