Logo Studenta

Simulación en Ingeniería: Introducción y Métodos

¡Este material tiene más páginas!

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

Continuar navegando