Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Investigación Operativa Simulación Facultad de Ingeniería Universidad Nacional de Jujuy, Jujuy, AR Profesor: Ing. Carlos A. Martin E-mail: ing_carlos_martin@hotmail.com Unidad XIII: Simulación • Introducción. Terminología básica. El proceso de simulación. • Números aleatorios y simulación de Monte Carlo. • Ejemplo de una simulación de evento discreto. • Simulaciones con variables aleatorias continuas: Método de transformación Inversa. Método de Aceptación o Rechazo. • Análisis estadístico en las simulaciones. • Lenguajes de simulación. Ing. Carlos Martin Objetivos de aprendizaje Al terminar de estudiar este capítulo, el alumno será capaz de: • Enfrentar una amplia gama de problemas usando simulación. • Entender los siete pasos para realizar una simulación. • Explicar las ventajas y desventajas de la simulación. • Desarrollar intervalos de números aleatorios y utilizarlos para generar resultados. • Comprender los diferentes software de simulación por computadora disponibles. Ing. Carlos Martin Recordemos: En la Unidad I: Introducción a la Investigación Operativa, vimos: • Modelos Icónicos, Analógicos y Simbólicos. • Procesos de Modelización. • Modelos Matemáticos: Definición, clasificación y elementos principales. • Pasos generales y técnicas en la construcción de modelos matemáticos. Ing. Carlos Martin La SIMULACIÓN es una técnica muy poderosa y ampliamente usada en las ciencias administrativas, para analizar y estudiar sistemas complejos. En los temas anteriores nos ocupamos de la formulación de modelos que se pudieran resolver en forma analítica. En casi todos esos modelos nuestra meta fue determinar soluciones óptimas. Sin embargo, debido a la complejidad, las relaciones estocásticas, etc., no todos los problemas del mundo real se pueden representar en forma de modelos como los vistos anteriormente. Los intentos por usar modelos analíticos para sistemas como éstos, en general necesitan de tantas hipótesis de simplificación que es probable que las soluciones no sean buenas, o bien, sean inadecuadas para su realización. En esos casos, con frecuencia la única opción de modelado y análisis de que dispone quien toma decisiones es la simulación. Ing. Carlos Martin Se puede definir a la simulación como la técnica que imita el funcionamiento de un sistema del mundo real cuando evoluciona en el tiempo. Un modelo de simulación comúnmente, toma la forma de un conjunto de hipótesis acerca del funcionamiento del sistema, expresado como relaciones matemáticas o lógicas entre los objetos de interés del sistema. En contraste con las soluciones matemáticas exactas disponibles en la mayoría de los modelos analíticos, el proceso de simulación incluye la ejecución del modelo a través del tiempo, en general en una computadora, para generar muestras representativas de las mediciones del desempeño o funcionamiento. En este aspecto, se puede considerar a la simulación como un experimento de muestreo acerca del sistema real, cuyos resultados son puntos de muestra. Ing. Carlos Martin La simulación tiene sus ventajas y sus desventajas. La ventaja principal es que la simulación es relativamente directa. En general, los métodos de simulación son más fáciles de aplicar que los analíticos. En tanto que los métodos analíticos necesitan de muchas simplificaciones, los modelos de simulación tienen pocas restricciones como éstas y, por lo tanto, permiten una flexibilidad mucho mayor en la representación del sistema real. Una vez formado un modelo se puede usar en forma repetida para analizar diversas políticas, parámetros o diseños. Se debe hacer notar que la simulación no es una técnica de optimización. Se usa con frecuencia para analizar preguntas como: "¿Qué sucede si ". Es posible optimizar con la simulación, pero, en general, es un proceso lento También, la simulación puede ser costosa. Sin embargo, con la creación de lenguajes especiales para simulación, costos decrecientes de cómputo y avances en metodologías de simulación, el problema del costo se hace cada vez menos importante. Ing. Carlos Martin Terminología básica Un sistema es un conjunto de entidades que actúan e interactúan para la realización de un fin lógico E] estado de un sistema es el conjunto de variables necesarias para describir la condición del sistema en un momento determinado. Un sistema discreto es aquel en el cual las variables de estado cambian sólo en puntos discretos o contables en el tiempo. Un banco es un ejemplo]o de sistema discreto, ya que las variables de estado cambian sólo cuando llega un cliente, o cuando un cliente termina sus tramites y se va. Estos cambios tienen lugar en puntos discretos en el tiempo. Un sistema continuo es aquel en el que las variables de estado cambian en forma continua a través del tiempo. Un proceso químico es un ejemplo de un proceso continuo. En este caso, el estado del sistema varía continuamente a través del tiempo. Ing. Carlos Martin Modelos de simulación estáticos y dinámicos Un modelo estático de simulación es una representación de un sistema en determinado punto en el tiempo. Llamaremos simulación de Monte Carlo a una simulación estática La Simulación puede ser determinista o estocástica. Un modelo determinista de simulación es aquel que no contiene variables aleatorias; un modelo estocástico de simulación contiene una o más variables aleatorias. Los modelos discretos y continuos de simulación son semejantes a los sistemas discretos y continuos. Ing. Carlos Martin Antes de tratar los detalles de la simulación misma, debemos definir al estado del sistema y comprender los conceptos de los eventos y la hora en el reloj con una simulación. Podemos usar las siguientes variables para definir el estado del sistema: (1) el número de clientes en el sistema; (2) el estado del servidor; es decir, si está ocupado o desocupado, y (3) la hora de la llegada siguiente. Ing. Carlos Martin Estrechamente relacionado con el estado del sistema está el concepto de evento. Un evento se define como una situación que hace que el estado del sistema cambie en forma instantánea. En el modelo de cola de espera con un solo empleado hay dos eventos posibles que pueden cambiar el estado del sistema: una llegada al sistema y una salida de él al completar el servicio. En la simulación, estos eventos se programan para llevarse a cabo en determinados puntos en el tiempo. Toda la información acerca de ellos se mantiene en una lista llamada lista de eventos. Dentro de esta lista mantenemos registro del tipo de eventos programados y, más importante, el tiempo al cual estos eventos están programados para llevarse a cabo. Se mantiene el tiempo en una simulación mediante una variable, llamada hora o tiempo del reloj. Ing. Carlos Martin El modelo que hemos escogido como ejemplo inicial es un sistema M/M/1: cola de espera con un solo servidor. A este sistema de colas de espera se le puede representar como se muestra en la Fig. 1. A este sistema llegan los clientes que proceden de determinada población y son atendidos de inmediato si el servidor está desocupado, o se forman (hacen cola) para esperar si el servidor está ocupado. Ing. Carlos Martin Comenzaremos esta simulación con un sistema vacío y supondremos en forma arbitraria que nuestro primer evento, una llegada, se efectúa en la hora 0. Esta llegada encuentra desocupado al empleado y es atendido de inmediato. Las llegadas en otros puntos del tiempo pueden encontrar al empleado desocupado u ocupado. Si está desocupado, el cliente es atendido. Si está ocupado, el cliente se forma en la cola de espera. Estas acciones se pueden resumir en la Fig. 2. Ing. Carlos Martin los tiempos entre llegadas como los tiempos de servicio se generan para los primeros clientes a partir de las distribuciones de probabilidad como las dadas en las Tablas 1 y 2. Ing. Carlos MartinA continuación, programamos el tiempo de partida del primer cliente. Esto se hace al generar un tiempo de servicio a partir de la distribución de tiempos de servicio, que se describe más adelante, y establecer el tiempo de partida como: Tiempo de salida = hora actual + tiempo de servicio generado (1) También, programaremos la siguiente llegada al sistema generando al azar un tiempo entre llegadas a partir de la distribución de tiempos entre llegadas y establecer el tiempo de llegada como. Tiempo de llegada = hora actual + tiempo entre llegadas generado (2) Si hemos generado un tiempo de servicio de 2 minutos, entonces el tiempo de salida para el primer cliente será cuando el reloj marque 2. Igualmente, si hemos generado un tiempo entre llegadas de 1 minuto, la siguiente llegada se programará para cuando el reloj marque 1. Ambos eventos y sus tiempos programados se mantienen en la lista de eventos. Ing. Carlos Martin Una vez que hemos completado todas las acciones necesarias para la primera llegada, se inspecciona la lista de eventos para determinar el siguiente evento programado y su hora. Si el siguiente evento debe ser una llegada, pasamos la hora a la hora programada de llegada y buscamos en las acciones anteriores una llegada. Si el evento siguiente es una salida, movemos la hora del reloj a la hora de salida y procesamos una salida. Para una salida comprobamos si la longitud de la cola es mayor que cero. Si lo es, quitamos al primer cliente de la cola e iniciamos el servicio a éste al establecer una hora de salida mediante la ecuación (1). Si nadie espera, se establece el estado del sistema en desocupado. En la Fig. se resumen estas acciones de salida. Ing. Carlos Martin Este método de simulación se llama mecanismo de avance de hora hasta el siguiente evento, a causa del modo en que se actualiza la hora. Adelantamos el reloj de simulación a la hora del evento más inminente, esto es, el primer evento en la lista. Como las variables de estado sólo cambian en las horas de eventos, se omiten los periodos de inactividad entre los eventos al pasar de un evento a otro. Al hacerlo, efectuamos las acciones propias de cada evento, incluyendo cualquier programación de eventos futuros. Continuamos de esta manera hasta que se satisfaga determinada condición de paro pre especificada. Ing. Carlos Martin Sin embargo, el procedimiento necesita que en cualquier punto de la simulación tengamos programada una llegada y una salida para el futuro . Así, una llegada futura siempre se programa al procesar una nueva llegada al sistema. Por otro lado, un tiempo de salida, sólo se puede programar cuando un cliente es atendido. Así, si el sistema está desocupado no se pueden programar salidas. En esos casos, la práctica normal es programar una salida virtual al hacer que el tiempo de salida sea un número muy grande, digamos 9999 o mayor, si es probable que el reloj rebase las 9999. De este modo nuestros dos eventos consistirán en una llegada real y una salida virtual. El salto al siguiente evento en el mecanismo del siguiente evento puede ser grande o pequeño; esto es, los saltos son de tamaño variable. Ing. Carlos Martin Comparamos este método de avance de hora hasta el siguiente evento con el método de avance de hora por incrementos fijos. En este caso adelantamos el reloj de simulación en incrementos de t unidades de tiempo, donde t es alguna unidad de tiempo adecuada, en general la unidad de tiempo. Después de cada actualización del reloj comprobamos si hay algún evento programado para esa hora. Si es así, llevamos a cabo las acciones adecuadas para el evento. Si no hay nada programado, o si hemos completado todas las acciones necesarias para la hora actual, adelantamos el reloj de simulación t unidades y repetimos el proceso . Al igual que con el método del siguiente evento, continuamos de este modo hasta llegar a la condición prescrita de paro. El mecanismo de avance por incrementos fijos con frecuencia es más sencillo de entender debido a sus etapas fijas de tiempo. Sin embargo, para la mayor parte de los modelos, el mecanismo de evento siguiente tiende a ser más eficaz desde el punto de vista de cómputo. Ing. Carlos Martin Investigación Operativa Simulación Monte Carlo Facultad de Ingeniería Universidad Nacional de Jujuy, Jujuy, AR Cuando un sistema contiene elementos que exhiben azar en su comportamiento, se puede aplicar el método Monte Carlo de simulación. La idea básica en la simulación Monte Carlo es generar valores de las variables que forman el modelo que se estudia. En los sistemas reales hay muchas variables que tienen naturaleza probabilística y que podemos querer simular. Unos cuantos ejemplos de estas variables son: 1. La demanda de un inventario diaria o semanal 2. El tiempo de entrega para las órdenes del inventario 3. Los tiempos entre descomposturas de las máquinas 4. Los tiempos entre llegadas a las instalaciones de servicio 5. Los tiempos de servicio 6. Los tiempos para terminar las actividades de un proyecto 7. El número de empleados ausentes en el trabajo cada día Ing. Carlos Martin Algunas de estas variables, como la demanda diaria y el número de empleados ausentes, son discretas y deben tener valores enteros. Por ejemplo, la demanda diaria puede ser 0, 1, 2, 3, etcétera; pero no puede ser 4,7362 u otro valor no entero. Otras variables, como las relacionadas con el tiempo, son continuas y no se necesita que sean enteras porque el tiempo puede tomar cualquier valor. Al seleccionar un método para generar valores de una variable aleatoria, esta característica debe tomarse en cuenta. La base de la simulación Monte Carlo es la experimentación sobre los elementos posibles (o probabilísticos) mediante el muestreo aleatorio. Ing. Carlos Martin La técnica se compone de cinco pasos sencillos: 1. Establecer las distribuciones de probabilidad para las variables importantes de entrada 2. Elaborar una distribución de probabilidad acumulada para cada variable del paso 1 3. Establecer un intervalo de números aleatorios para cada variable 4. Generar números aleatorios 5. Simular una serie de pruebas Ing. Carlos Martin Se examinarán cada uno de estos pasos y se ilustrarán con el siguiente ejemplo: Una empresa vende todo tipo de neumáticos, pero una llanta radial es responsable de una gran parte de las ventas generales de la empresa. Al reconocer que los costos de inventario pueden ser significativos con este producto, la empresa quiere determinar una política para administrar dicho inventario. Para ver cómo estaría la demanda durante un periodo, desea simular la demanda diaria para cierto número de días. Ing. Carlos Martin Paso 1: Establecer distribuciones de probabilidad. Distribución de tiempos entre eventos Una forma común de establecer una distribución de probabilidad es examinar los eventos históricos. La probabilidad o frecuencia relativa para cada resultado posible de una variable se encuentra dividiendo la frecuencia observada entre el número total de observaciones. La demanda diaria para las llantas radiales en la empresa durante 200 días se muestra en la tabla. Ing. Carlos Martin Paso 1: Establecer distribuciones de probabilidad. Ing. Carlos Martin Paso 1: Establecer distribuciones de probabilidad. Podemos convertir estos datos en una distribución de probabilidad, si suponemos que las tasas de demanda del pasado se mantendrán en el futuro, dividiendo cada frecuencia de demanda entre la demanda total, 200. Deberíamos observar que no es necesario que la distribución de probabilidad esté basada tan solo en observaciones históricas. A menudo, las estimaciones de la administración basadas en el juicio y la experiencia se usan para crear una distribución. Algunas veces, una muestra de ventas, las descomposturas de una máquina o las tasas de servicio se usan para crear probabilidadespara tales variables. Las distribuciones en sí pueden ser empíricas, como en la tabla, o basarse en lo que se conoce como patrón normal, binomial, de Poisson o exponencial. Ing. Carlos Martin Paso 2: Elaborar una distribución de probabilidad acumulada para cada variable. La conversión de una distribución de probabilidad regular, en una distribución acumulada es una tarea sencilla. Una probabilidad acumulada es la probabilidad de que una variable sea menor o igual que un valor específico. Una distribución acumulada lista todos los valores posibles y las probabilidades. La probabilidad acumulada se utiliza en el paso 3 para ayudar a asignar números aleatorios. Ing. Carlos Martin Paso 2: Elaborar una distribución de probabilidad acumulada para cada variable. Ing. Carlos Martin Paso 2: Elaborar una distribución de probabilidad acumulada para cada variable. Ing. Carlos Martin Paso 2: Elaborar una distribución de probabilidad acumulada para cada variable. En general, si se utiliza la distribución de probabilidad acumulada que se calculó y graficó en el paso 2, se puede establecer el intervalo de números aleatorios para cada nivel de demanda de una manera muy sencilla. Note en la tabla que el intervalo seleccionado para representar cada demanda diaria posible tiene una relación estrecha con la probabilidad acumulada. El límite superior de cada intervalo es siempre igual al porcentaje de la probabilidad acumulada. Ing. Carlos Martin Paso 2: Elaborar una distribución de probabilidad acumulada para cada variable. De manera similar, vemos en la figura y la tabla, que la longitud de cada intervalo corresponde a la probabilidad de cada una de las posibilidades de la demanda diaria. Por lo tanto, al asignar números aleatorios a la demanda diaria de 3 llantas radiales, el intervalo de números aleatorios (36 a 65) corresponde exactamente a la probabilidad (o proporción) de ese resultado. Una demanda diaria de tres llantas radiales ocurre 30% de las veces. Cualesquiera de los 30 números aleatorios mayores que 35 y hasta 65 inclusive se asignan a ese evento. Ing. Carlos Martin Paso 2: Elaborar una distribución de probabilidad acumulada para cada variable. Ing. Carlos Martin Paso 3: Establecer intervalos de números aleatorios. Después de establecer una distribución de probabilidad acumulada para cada variable incluida en la simulación, queremos asignar un conjunto de números para representar cada valor o resultado posible. Estos se conocen como intervalos de números aleatorios. Si existe 5% de posibilidades de que la demanda de un producto sea de 0 unidades por día, queremos que 5% de los números aleatorios disponibles correspondan a una demanda de 0 unidades. Ing. Carlos Martin Paso 3: Establecer intervalos de números aleatorios. Si en la simulación se tiene un total de 100 números de dos dígitos, podemos asignar la demanda de 0 unidades a los primeros cinco números aleatorios: 01, 02, 03, 04 y 05. Entonces, una demanda simulada de 0 unidades se crea cada vez que se obtiene uno de los número 01 a 05. Si también existe 10% de posibilidades de que esa demanda del mismo producto sea 1 unidad por día, podemos hacer que los siguientes 10 números aleatorios (06, 07, 08, 09, 10, 11, 12, 13, 14 y 15) representen esa demanda, y así sucesivamente para otros niveles de demanda. Ing. Carlos Martin Paso 3: Establecer intervalos de números aleatorios. Ing. Carlos Martin Paso 4: Generar números aleatorios Los números aleatorios se pueden generar de varias maneras. Si el problema es muy grande y el proceso que se estudia incluye miles de pruebas de simulación, se dispone de programas de software para generar los números aleatorios. Si la simulación se hace a mano, como en este caso, los números se pueden seleccionar dando vuelta a una ruleta que tenga 100 ranuras, tomando a ciegas fichas numeradas en una urna o con cualquier método que permita hacer una selección aleatoria. Lo que más se usa es elegir los números de una tabla de dígitos aleatorios como la tabla 14.4, que se generó con un programa por computadora. Tiene la característica de que cada dígito o número ahí tiene la misma posibilidad de ocurrir. Como todo es aleatorio, podemos seleccionar números de cualquier punto en la tabla para utilizarlo en los procedimientos de simulación en el paso 5. Ing. Carlos Martin Paso 4: Generar números aleatorios. Podemos simular los resultados de un experimento simplemente seleccionando números aleatorios de la tabla 14.4. Comenzamos en cualquier lado de la tabla y observando el intervalo donde cae cada número en la tabla 14.4 o en la figura. Por ejemplo, si el número aleatorio elegido es 81, y el intervalo de 66 a 85 representa una demanda diaria de cuatro llantas, seleccionamos una demanda de cuatro llantas. Ing. Carlos Martin Ing. Carlos Martin Paso 5. Simular una serie de pruebas Ahora ilustramos el concepto simulando otros 10 días de demanda de llantas radiales (véase la tabla 14.5). Elegimos los números aleatorios necesarios en la tabla 14.4, comenzando en la esquina superior izquierda y continuando hacia abajo en la primera columna. Es interesante observar que la demanda promedio de 3.9 llantas en esta simulación de 10 días difiere significativamente de la demanda diaria esperada, que podemos calcular a partir de los datos de la tabla 14.2 Ing. Carlos Martin Paso 5. Simular una serie de pruebas Ing. Carlos Martin Paso 5. Simular una serie de pruebas Ing. Carlos Martin Conclusiones Sería riesgoso sacar conclusiones apresuradas con tan solo una simulación corta. No obstante, esta simulación a mano demuestra los principios importantes que intervienen; ayuda a entender el proceso de simulación Monte Carlo que se usa en los modelos de simulación computarizados. La simulación contiene solamente una variable. El verdadero poder de simulación se ve cuando se trata de varias variables aleatorias y la situación es más compleja. Como es de esperarse, la computadora es una herramienta muy útil para llevar a cabo el tedioso trabajo cuando se emprenden simulaciones más grandes. Existe software como QM, PROMODEL para Windows y Excel para simulación. Ing. Carlos Martin Investigación Operativa Simulación de un problema de colas Facultad de Ingeniería Universidad Nacional de Jujuy, Jujuy, AR Puerto de Nueva Orleans Las barcazas con carga completa llegan en la noche a Nueva Orleans, después de sus largos viajes por el río Mississippi desde las ciudades industriales del medio oeste. El número de barcazas que atracan en una noche cualquiera va de 0 a 5. Las probabilidades de 0, 1, 2, 3, 4 o 5 llegadas se muestran en la tabla 14.9. En la misma tabla se establecieron las probabilidades acumuladas y los intervalos de números aleatorios correspondientes para cada valor posible. Ing. Carlos Martin Ing. Carlos Martin Un estudio realizado por el superintendente del muelle revela que debido a la naturaleza de sus cargas, el número de barcazas descargadas también tiende a variar de un día a otro. Él brinda información con la cual se puede crear una distribución de probabilidad para la variable tasa de descarga diaria (véase la tabla 14.10). Al igual que se hizo para la variable llegadas, establecemos un intervalo de números aleatorios para las tasas de servicio o descarga. Ing. Carlos Martin Ing. Carlos Martin Las barcazas se descargan según la política de primero en entrar, primero en salir. Una barcaza que no se descarga el día que llega debe esperar al siguiente día. Amarrar una barcaza al muelle es una proposición costosa y el superintendente no puede ignorar las llamadas telefónicas con enojo de los dueños de la línea de barcazas recordándole que “¡el tiempo es dinero!” Decide entonces que antes de ir con el controlador del Puerto de Nueva Orleans para pedirle brigadas de descarga adicionales, deberíarealizar un estudio de simulación de las llegadas, la descarga y los retrasos. Ing. Carlos Martin Una simulación de 100 días sería ideal, pero con la finalidad de ilustrar, el superintendente comienza con un análisis más corto de 15 días. Los números aleatorios se obtienen de la fila superior de la tabla 14.4 para generar las tasas de llegadas diarias. Se obtienen números aleatorios de la segunda fila de esa tabla para crear las tasas de descargas diarias. La tabla 14.11 muestra la simulación del puerto día por día. Ing. Carlos Martin Ing. Carlos Martin Ing. Carlos Martin Ing. Carlos Martin Conclusiones • Cuando se analizan estos datos en el contexto de costos de retraso, costos de mano de obra ociosa y el costo de contratar brigadas de descarga adicionales, es posible que el superintendente del muelle y el controlador del puerto tomen una mejor decisión en cuanto al personal. • Incluso tal vez elijan simular el proceso de nuevo, suponiendo otras tasas de descarga que correspondan a tamaños más grandes de brigadas. • Aunque la simulación es una herramienta que no garantiza una solución óptima para problemas como este, ayuda a recrear un proceso y a identificar buenas alternativas de decisión. Ing. Carlos Martin Investigación Operativa Simulación de un sistema de colas con un solo canal: una caja registradora Facultad de Ingeniería Universidad Nacional de Jujuy, Jujuy, AR Ejemplo de simulación Monte Carlo A continuación mostraremos la mecánica de la simulación del sistema de cola de espera con un solo empleado (por ejemplo una caja registradora) mediante un ejemplo numérico. Los tiempos entre llegadas como los tiempos de servicio ya se han generado para los clientes a partir de las distribuciones de probabilidad. Ing. Carlos Martin El tiempo de llegada entre clientes esta distribuido uniformemente entre 1 y 10 min. El tiempo de atención de cada cliente esta distribuido uniformemente entre 1 y 6 min. Calcular: Tiempo promedio entre llegadas Tiempo promedio en que un cliente permanece en el sistema. Porcentaje de tiempo desocupado del cajero. Ing. Carlos Martin Ing. Carlos Martin Ing. Carlos Martin Tiempo promedio entre llegadas: 𝑻𝒊𝒆𝒎𝒑𝒐 𝒕𝒐𝒕𝒂𝒍 𝒆𝒏𝒕𝒓𝒆 𝒍𝒍𝒆𝒈𝒂𝒅𝒂𝒔 𝑻𝒐𝒕𝒂𝒍 𝒅𝒆 𝒄𝒍𝒊𝒆𝒏𝒕𝒆𝒔 𝒆𝒏 𝒆𝒍 𝒔𝒊𝒔𝒕𝒆𝒎𝒂 = 𝟏𝟎𝟖 𝟐𝟎 = 5,4 minutos Porcentaje de tiempo desocupado del cajero: 𝑻𝒊𝒆𝒎𝒑𝒐 𝒕𝒐𝒕𝒂𝒍 𝒅𝒆𝒍 𝒄𝒂𝒋𝒆𝒓𝒐 𝒊𝒏𝒂𝒄𝒕𝒊𝒗𝒐 𝑻𝒊𝒆𝒎𝒑𝒐 𝒕𝒐𝒕𝒂𝒍 𝒅𝒆 𝒐𝒑𝒆𝒓𝒂𝒄𝒊ó𝒏 𝒅𝒆𝒍 𝒔𝒊𝒔𝒕𝒆𝒎𝒂 = 𝟒𝟒 𝟏𝟏𝟐 = 0,39 = 39 % Tiempo promedio en que un cliente permanece en el sistema: 𝑻𝒊𝒆𝒎𝒑𝒐 𝒕𝒐𝒕𝒂𝒍 𝒅𝒆 𝒄𝒍𝒊𝒆𝒏𝒕𝒆𝒔 𝒆𝒏 𝒆𝒍 𝒔𝒊𝒔𝒕𝒆𝒎𝒂 𝑻𝒐𝒕𝒂𝒍 𝒅𝒆 𝒄𝒍𝒊𝒆𝒏𝒕𝒆𝒔 𝒆𝒏 𝒆𝒍 𝒔𝒊𝒔𝒕𝒆𝒎𝒂 = 𝟕𝟐 𝟐𝟎 = 3,6 minutos Investigación Operativa Simulaciones con variables aleatorias continuas Facultad de Ingeniería Universidad Nacional de Jujuy, Jujuy, AR Los ejemplos de simulación que se han presentado sólo usan distribuciones de probabilidades discretas para las variables aleatorias. Sin embargo, en muchas simulaciones es más realista y práctico usar variables aleatorias continuas. Presentamos y describimos algunos procedimientos para generar cantidades aleatorias a partir de distribuciones continuas. El principio básico es muy semejante al caso discreto. Como en el método discreto, generamos primero un número aleatorio U(0,1) y luego lo transformamos en una cantidad aleatoria de acuerdo con la distribución especificada. Sin embargo, el proceso para llevar a cabo la transformación es bastante distinto del caso discreto. Ing. Carlos Martin Hay muchos métodos diferentes para generar cantidades aleatorias continuas. La selección de un algoritmo determinado dependerá de la distribución de la cual deseamos generar, teniendo en cuenta factores tales como la exactitud de las variables aleatorias, las eficacias de cómputo y de almacenamiento, y la complejidad del algoritmo. Los dos algoritmos que más se usan son: El método de transformación inversa y El de aceptación o rechazo. Entre esos dos, es posible generar variables aleatorias a partir de casi cualquiera de las distribuciones que más se usan. Ing. Carlos Martin Método de transformación inversa El método de transformación inversa es relativamente fácil de describir y ejecutar. Consiste en los tres pasos siguientes: Paso 1: Dada una función de densidad de probabilidad f(x) para una variable aleatoria x, obtener la función de distribución acumulada F(x) como: F(x) =−∝ +∝ 𝒇 𝒕 dt Paso 2 Generar un número aleatorio r. Paso 3 Hacer que F(x) = r y despejar x. La variable x es entonces un número aleatorio procedente de la distribución cuya función de densidad de probabilidad es f(x). A continuación describiremos la mecánica del algoritmo mediante un ejemplo. Ing. Carlos Martin La distribución exponencial La función de· distribución de probabilidad para esta distribución exponencial está representada por Con el método de transformación inversa, genere observaciones a partir de una distribución exponencial. En el paso 1, determinamos la función de distribución acumulada de probabilidad. Esta función está dada por: Enseguida generamos un número aleatorio r y hacemos que F(x) =·r para despejar x. Esto nos da: Reagrupamos en la siguiente forma: Ing. Carlos Martin y sacando logaritmo natural en ambos lados tenemos que: - x = ln (1 – r) Por último, despejando a x obtenemos la solución: x = - 𝟏 ln (1 – r) Para simplificar nuestros cálculos, podemos reemplazar (1 - r) por r. Como r es número aleatorio, (1 - r) también será aleatorio. Esto quiere decir que no hemos cambiado nada, a excepción de la manera de escribir el número aleatorio U(0, 1). Así, nuestro generador de proceso para la distribución exponencial será ahora: x = - 𝟏 ln (r) Por ejemplo, r = 𝟏 𝒆 produce x = 𝟏 y r = 1 produce x = 0. Ing. Carlos Martin Método de Aceptación o Rechazo Ing. Carlos Martin Hay varias distribuciones importantes, incluyendo la de Erlang que se usa en modelos de cola, de espera y la función beta, que se usa en PERT, cuyas funciones de distribución acumulada no existen en forma cerrada. Para esas distribuciones debemos recurrir a otros métodos de generación de variables aleatorias, uno de los cuales es el de aceptación o rechazo. Este método se usa en general para distribuciones cuyos dominios estén definidos en intervalos finitos. Método de Aceptación o Rechazo Ing. Carlos Martin Así, dada una distribución cuya función de distribución de probabilidad, f(x) esté definida en el intervalo a x b, el algoritmo consiste en los pasos siguientes: Paso 1 Seleccionar una M constante tal que M sea el valor máximo de f(x) en el intervalo [a,b]. Paso 2 Generar dos números aleatorios, r1 y r2 Paso 3 Calcular x* = a + b (b-a) r1. Con ello se asegura que cada miembro de [a,b] tenga la misma probabilidad de ser seleccionado como x*. Paso 4 Evaluar la función f(x) en el punto x*. Sea este valor f(x*). Paso 5 Si: r2 𝒇(𝒙∗) 𝑴 tomar x* como valor aleatorio a partir de la distribución cuya función de distribución de probabilidad es f(x). En cualquier otro caso, rechazar x* y regresar al Paso 2. Investigación Operativa Determinación del tipo de distribución de un conjunto de datos Facultad de Ingeniería Universidad Nacional de Jujuy, Jujuy, AR Estos son los datos del número de automóviles que entran a una gasolinera cada hora. Ing. Carlos Martin 14 7 13 16 16 13 14 17 15 16 13 15 10 15 16 14 12 17 14 12 13 20 8 17 19 11 12 17 9 18 20 10 18 15 13 16 24 18 16 18 12 14 20 15 10 13 21 23 15 18 Determinar la distribución de probabilidad con nivel de significancia del 5% 7 8 9 10 10 10 11 12 12 12 12 13 13 13 13 13 13 14 14 14 14 14 15 15 15 15 15 15 16 16 16 16 16 16 17 17 17 17 18 18 18 18 18 19 20 20 20 21 23 24 Ing. Carlos Martin Ordenados Histograma • Para n=50datos, consideremos m=11 intervalos • • La media muestral es 15,04 y la varianza es 13,14 • Permiten establecer la siguiente hipótesis: • Ho: Poisson (λ=15) Automóviles/hora • H1: Otra distribución. Ing. Carlos Martin Cálculos de los p (x) Ing. Carlos Martin Cálculos para el test chi-cuadrada Intervalo Oi P(x) Ei=50*p(x) C 0-7 1 0,0180 0;9001 0,0111 8-9 2 0,0519 2,5926 0,1354 10-11 4 0,1149 5,7449 0,5300 12-13 10 0,1785 8,9233 0,1299 14-15 11 0,2049 10,2436 0,0559 16-17 10 0,1808 9,0385 0,1023 18-19 6 0,1264 6,3180 0,0160 20-21 4 0,0717 3,5837 0,0483 22-23 1 0,0336 1,6821 0,2766 24-25 1 0,0133 0,6640 0,1700 26 0 0,0062 0,3092 0,3092 Ing. Carlos Martin Ing. Carlos Martin Lenguajes de simulación • Uno de los aspectos más importantes de un estudio de simulación es la programación de computadoras. • A menudo es difícil y arduo escribir el programa modelo complejo de simulación. • Por eso se han creado algunos lenguajes simulación en computadora para fines específicos, con el fin de simplificar la programación. • Algunos de los más conocidos y mas asequibles son GPSS, GASP IV , SLAM, PROMODEL, entre otros. • GPSS (sistema de simulación de propósito general) fue diseñado para la simulación relativamente fácil de sistemas de cola. Sin embargo, a causa de su estructura, no es tan flexible como GASP IV, en especial para el tipo de simulaciones sin colas. Es un sistema de programación diseñado para la simulación de sistemas discretos. • GASP IV - Programa de simulación de actividad general IV es un lenguaje de simulación de propósito general y todavía en la actualidad está en uso con variaciones. Se usa como un modelo básico para la mayoría de los lenguajes que existen hoy. GASP IV es un lenguaje de simulación escrito en FORTRAN-77 que proporciona cerca de 30 subrutinas y estructura para apoyar la escritura de eventos discretos, continuos y mixtos, así como modelos de simulación continua. • SLAM (Lenguaje de simulación para modelado alternativo) nos permite construir modelos de simulación como modelos de red, modelos de evento discreto, modelos continuos o cualquier combinación de los anteriores. • PROMODEL es un simulador con animación para computadoras personales. Permite simular cualquier tipo de sistemas de manufactura, logística, manejo de materiales, etc. Puede simular bandas de transporte, grúas viajeras, ensamble, corte, talleres, logística, etc. Ing. Carlos Martin Ventajas de la simulación La simulación es una herramienta de amplia aceptación por parte de los gerentes por varias razones: • Es relativamente directa y flexible, y se puede utilizar para comparar muchos escenarios diferentes. • Los avances recientes en software hacen que sea muy sencillo desarrollar algunos modelos de simulación. • Sirve para analizar situaciones reales grandes y complejas, que los modelos convencionales de análisis cuantitativo no pueden resolver. Por ejemplo, no es posible construir un modelo matemático de un sistema gubernamental de una ciudad que incorpore factores económicos, sociales, ambientales y políticos importantes. La simulación se ha empleado con éxito para modelar sistemas urbanos, hospitales, sistemas educativos, economías nacionales y estatales, e incluso sistemas de alimentación mundial. • La simulación permite preguntas del tipo ¿qué sucedería si? A los gerentes les gustaría saber de antemano qué opciones son atractivas. Con una computadora, el gerente puede intentar varias decisiones políticas en unos cuantos minutos. Ing. Carlos Martin Ventajas de la simulación • Las simulaciones no interfieren con el sistema real. Por ejemplo, quizá sería demasiado perturbador experimentar nuevas políticas o ideas en un hospital, escuela o planta de manufactura. Con simulación, los experimentos se hacen en el modelo no el sistema real. • La simulación nos permite estudiar el efecto interactivo de los componentes o variables individuales para determinar cuáles son importantes. • El “tiempo de compresión” es posible con simulación. El efecto de ordenar, publicar o aplicar otras políticas durante muchos meses o años se puede obtener con la simulación por computadora en un tiempo muy corto. • La simulación acepta la inclusión de complicaciones del mundo real que la mayoría de los modelos de análisis cuantitativo no acepta. Por ejemplo, algunos modelos de líneas de espera requieren una distribución exponencial o de Poisson; en tanto que algunos modelos de inventarios y de redes requieren una distribución normal. Pero la simulación puede usar cualquier distribución de probabilidad que defina el usuario; no necesitan una distribución en particular. Ing. Carlos Martin Desventajas de la simulación Las principales desventajas de la simulación son: • Los buenos modelos de simulación para situaciones complejas suelen ser muy costosos. Con frecuencia el desarrollo del modelo es un proceso tardado y complicado. Por ejemplo, un modelo de planeación corporativa tomaría meses o años para desarrollarse. • La simulación no genera soluciones óptimas para los problemas como lo hacen otras técnicas de análisis cuantitativo, por ejemplo, la cantidad óptima a ordenar (lote económico), programación lineal o PERT. Es un enfoque de ensayo y error que puede generar diferentes soluciones de una corrida a otra. • El gerente debe generar todas las condiciones y restricciones para la solución que desea examinar. El modelo de simulación no produce respuestas por sí mismo. • Cada modelo de simulación es único. Sus soluciones e inferencias no suelen transferirse a otros problemas Ing. Carlos Martin Bibliografía Ing. Carlos Martin Prawda Witenberg J. “Métodos y Modelos de Investigación de Operaciones – Vol. 1 Modelos Determinísticos”. Editorial Limusa. ©1999 Taha Hamdy A. “Investigación de Operaciones”. Editorial Alfa Omega. ©1998 Winston Wayne L.. “Investigación de Operaciones. Editorial. Grupo Editorial Iberoamericana. ©2005 Hillier Frederick S. “Introducción a la Investigación de Operaciones. Editorial. Mc Graw Hill. ©2001 Eppen G.D. “Investigacion de Operaciones En la Ciencia Administrativa. Editorial Prentice. ©2000 Mathur-Solow – Investigación de Operaciones – Ed. Prentice Hall 1996. MARIN, Isidoro. “Investigación Operativa”. UBA. Centro de Estudiantes Universidad Nacional de Buenos Aires. © 1970 LEVIN, Richard I.. “Enfoques Cuantitativos a la Administración”. CECSA Anderson, David R. “Métodos Cuantitativos para los Negocios”. 11a. ed. Cengage Learning Bronson, Richard. “Investigación de Operaciones”. Editorial Mc Graw Hill. MUNIER, Nolberto. “Manual de PERT – CPM”. Editorial ASTREA. Preguntas Ing. Carlos Martin Investigación Operativa Muchas Gracias Profesor: Ing. Carlos A. Martin E-mail: ing_carlos_martin@hotmail.com Facultad de Ingeniería Universidad Nacional de Jujuy, Jujuy, AR
Compartir