You are on page 1of 46

?

Simulación

La simulación es una técnica de gestión de la ciencia muy potente y ampliamente utilizado para el análisis y estudio de los sistemas

complejos. En los capítulos anteriores, estábamos preocupados con la formulación de modelos que podrían ser resuelta analíticamente.

En casi todos esos modelos, nuestro objetivo fue determinar las soluciones óptimas. Sin embargo, debido a la complejidad, las relaciones

estocásticos, y así sucesivamente, no todos los problemas del mundo real pueden ser adecuadamente representados en los modelos de

formularios de los capítulos anteriores. Los intentos de utilizar modelos analíticos de tales sistemas por lo general requieren tantos

supuestos simplificadores que las soluciones puedan ser inferiores o inadecuados para su implementación. A menudo, en estos casos, la

única forma alternativa de modelado y análisis disponibles para la toma de decisiones es la simulación.

Simulación puede ser definido como una técnica que imita el funcionamiento de un sistema en el mundo real a medida que
evoluciona con el tiempo. Esto se realiza normalmente mediante el desarrollo de un modelo de simulación. UN modelo de simulación por

lo general toma la forma de un conjunto de supuestos sobre el funcionamiento del sistema, expresada como relaciones matemáticas o

lógicas entre los objetos de interés en el sistema. En contraste con las soluciones matemáticas exactas disponibles con la mayoría de los

modelos analíticos, el proceso de simulación implica ejecutar o correr el modelo a través del tiempo, por lo general en un ordenador, para

generar muestras representativas de las medidas de rendimiento. A este respecto, la simulación puede ser visto como un experimento de

muestreo en el sistema real, con los resultados de ser puntos de muestra. Por ejemplo, para obtener la mejor estimación de la media de

la medida del rendimiento, tenemos una media de los resultados de la muestra. Claramente, los puntos de muestreo más que

generamos, mejor será nuestra estimación será. Sin embargo, otros factores, tales como las condiciones de partida de la simulación, la

duración del período que se está simulando, y la exactitud del modelo en sí, todos tienen un rodamiento de lo bien que será nuestra

estimación final. Se discuten estos temas más adelante en el capítulo.

Al igual que con la mayoría de otras técnicas, la simulación tiene sus ventajas y desventajas. La principal ventaja de la simulación es

que la teoría de la simulación es relativamente sencillo. En general, los métodos de simulación son más fáciles de aplicar que los

métodos analíticos. Mientras que los modelos analíticos pueden requerir que hacer muchas suposiciones de simplificación, los modelos

de simulación tienen pocas tales restricciones, lo que permite mucha mayor flexibilidad en la representación del sistema real. Una vez

que se construye un modelo, que puede ser utilizado en varias ocasiones para analizar diferentes políticas, parámetros o diseños. Por

ejemplo, si un negocio rm fi tiene un modelo de simulación de su sistema de inventario, diversas políticas de inventario pueden ser

probado en el modelo en lugar de tomar la oportunidad de experimentar en el sistema del mundo real. Sin embargo, hay que subrayar

que la simulación no es una técnica de optimización. Se utiliza con mayor frecuencia para analizar “qué pasaría si” tipo de preguntas.

Optimización con simulación es posible, pero por lo general es un proceso lento. Simulación también puede ser costoso. Sin embargo,

con el desarrollo de lenguajes de propósito especial de simulación, la disminución de coste computacional, y los avances en las

metodologías de simulación, el problema del costo es cada vez menos importante.

En este capítulo, nos centramos nuestra atención en los modelos de simulación y la técnica de simulación. Se presenta varios

ejemplos de modelos de simulación y explorar conceptos tales como números aleatorios, los mecanismos de flujo de tiempo, muestreo

Monte Carlo, lenguajes de simulación, y los problemas estadísticos de la simulación.


21.1 Terminología básica

Comenzamos nuestra discusión presentando algunos de los términos utilizados en la simulación. En la mayoría de los
estudios de simulación, estamos preocupados con la simulación de un cierto sistema. Por lo tanto, con el fin de modelar un
sistema, hay que entender el concepto del sistema. Entre las muchas maneras diferentes de de fi nir un sistema, la definición
de más apropiado para problemas de simulación es el propuesto por Schmidt y Taylor (1970).

DEFINICIÓN ■ UN sistema es una colección de entidades que actúan e interactúan hacia la


realización de un fin lógico. ■

En la práctica, sin embargo, esta definición general tiende a ser más flexible. La descripción exacta del sistema por lo
general depende de los objetivos del estudio de simulación. Por ejemplo, lo que puede ser un sistema para un estudio
particular puede ser sólo un subconjunto del conjunto del sistema para otro.

Sistemas generalmente tienden a ser sus dinámicas-cambios de estado en el tiempo. Para describir este estado, se utiliza el
concepto de estado de un sistema.

DEFINICIÓN ■ los estado de un sistema es el conjunto de variables necesarias para describir el estado del sistema en
un momento dado. ■

Como un ejemplo de un sistema, consideremos un banco. En este caso, el sistema consta de los servidores y los
clientes que esperan en línea o ser servido. A medida que los clientes llegan o salen, el estado del sistema cambia. Para
describir estos cambios en el estado, se requiere un conjunto de variables de llamada Variables de estado. Por ejemplo, el
número de servidores ocupados, el número de clientes en el banco, el tiempo de llegada del siguiente cliente, y la hora de
salida de los clientes en el servicio junto a describir cada posible cambio en el estado del banco. Por lo tanto, estas
variables podrían ser utilizados como las variables de estado de este sistema. En un sistema, un objeto de interés se
denomina entidad, y cualquier propiedad de una entidad se denominan atributos. Por ejemplo, los clientes del banco
pueden ser descritos como las entidades, y las características de los clientes (tales como la ocupación de un cliente)
pueden definirse como los atributos.

Los sistemas pueden ser clasificados como discreta o continua.

DEFINICIÓN ■ UN sistema discreto es una en la que las variables de estado cambian sólo en los puntos discretos o contables en el
tiempo. ■

Un banco es un ejemplo de un sistema discreto, ya que las variables de estado cambian sólo cuando un cliente llega o
cuando un cliente acabados fi que se sirve y se va. Estos cambios se producen en puntos discretos en el tiempo.

DEFINICIÓN ■ UN sistema continuo es aquella en la que las variables de estado cambian continuamente con el tiempo. ■

Un proceso químico es un ejemplo de un sistema continuo. En este caso, el estado del sistema está cambiando
continuamente con el tiempo. Tales sistemas son generalmente modelaron usando ecuaciones diferenciales. No hablamos de
cualquiera de los sistemas continuos en este capítulo.

1146 CAPÍTULO 2 1 Simulación


Hay dos tipos de modelos de simulación: estático y dinámico.

DEFINICIÓN ■ UN modelo de simulación estática es una representación de un sistema en un punto particular en el tiempo. ■

Nos referimos generalmente a una simulación estática como una Simulación del Monte Carlo.

DEFINICIÓN ■ UN simulación dinámica es una representación de un sistema a medida que evoluciona con el tiempo. ■

Dentro de estas dos clasificaciones, una simulación puede ser determinística o estocástica. UN modelo de simulación
determinista es uno que no contiene variables aleatorias; un modelo de simulación estocástica contiene uno o más variables
aleatorias. modelos de simulación discretas y continuas son similares a los sistemas discretos y continuos. En este capítulo, nos
concentramos principalmente en modelos estocásticos discretos. Dichos modelos se denominan evento discreto modelos de
simulación. simulación de eventos discretos se refiere a la modelización de un sistema estocástico a medida que evoluciona con el
tiempo por una representación en la que las variables de estado cambian sólo en puntos discretos en el tiempo.

21.2 Un ejemplo de un Discrete-Event Simulation

Antes de proceder a los detalles de los modelos de simulación, que será útil para trabajar a través de un sencillo ejemplo de
simulación para ilustrar algunos de los conceptos básicos de la simulación de eventos discretos. El modelo que hemos elegido
como nuestro ejemplo inicial es un sistema de colas de un solo servidor. Los clientes llegan a este sistema de alguna población y, o
bien entrar en servicio inmediatamente si el servidor está inactivo o unirse a una línea de espera (cola) si el servidor está ocupado.
Ejemplos de este tipo de sistema son una tienda de una sola persona peluquero, una pequeña tienda de comestibles con una sola
caja registradora, y un único mostrador de boletos en una terminal aérea.

El mismo modelo se estudió en el capítulo 20 en relación con la teoría de colas. En ese capítulo, se utilizó un modelo
analítico para determinar las diversas características de funcionamiento del sistema. Sin embargo, tuvimos que hacer varios
supuestos restrictivos para utilizar teoría de colas. En particular, cuando estudiamos una M / M / 1 sistema, hemos tenido que
asumir que ambos tiempos entre llegadas y tiempos de servicio se distribuyeron de manera exponencial. En muchas
situaciones, estos supuestos pueden no ser apropiados. Por ejemplo, las llegadas a un mostrador de la aerolínea en general
tienden a ocurrir en racimos, debido a factores tales como las llegadas de autobuses de enlace y de conexión los vuelos que.
Para un sistema de este tipo, una distribución empírica de los tiempos de llegada debe ser utilizado, lo que implica que el
modelo analítico de la teoría de colas ya no es factible. Con la simulación, cualquier distribución de tiempos entre llegadas y
tiempos de servicio se puede usar, dando así mucho más fl flexibilidad al proceso de solución.

Para simular un sistema de colas, que primero tenemos que describirlo. Para este sistema de un solo servidor, suponemos que
las llegadas se han extraído de una población en llamar infinito. Tiene capacidad ilimitada sala de espera, y los clientes se sirve en
el orden de su llegada-que es, en un primer vienen, primero servido base (FCFS). Suponemos además que las llegadas se
producen uno a la vez de una manera aleatoria, con la distribución de los tiempos entre llegadas como se especifica en la Tabla 1.
Todas las llegadas son finalmente sirven, con la distribución de los tiempos de servicio se muestra en la Tabla 2. Los tiempos de
servicio también se supone que se inpredecible. Después de servicio, todos los clientes regresan a la población que llama. Este
sistema de colas se puede representar como se muestra en la Figura 1.

Antes de tratar los detalles de la misma simulación, debemos de definir el estado de este sistema y entender los
conceptos de eventos y la hora del reloj dentro de una simulación. Para esto

2 1. 2 Un ejemplo de un Discrete-Event Simulation 1147


MESA 1 MESA 2

Tiempo entre llegadas Distribución Tiempo de Servicio de Distribución

Entre llegadas Tiempo de


Tiempo (minutos) Probabilidad servicio (minutos) Probabilidad

1 . 20 1 . 35

2 . 30 2 . 40

3 . 35 3 . 25

4 . 15

ejemplo, usamos 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 el servidor está ocupado o libre; y (3) el tiempo de la próxima
llegada.
En estrecha relación con el estado del sistema es el concepto de un evento. Un evento se define como una
situación que hace que el estado del sistema para cambiar instantáneamente. En el modelo de cola de un solo
servidor, sólo hay dos posibles eventos que pueden cambiar el estado del sistema: una llegada en el sistema y una
salida del sistema a la finalización del servicio. En la simulación, se programarán estos eventos a llevarse a cabo en
determinados momentos. Toda la información acerca de ellos se mantiene en una lista llamada lista de eventos.

Dentro de esta lista, hacemos un seguimiento de los tipos de eventos programados y, más importante, el tiempo en el que se
programan estos eventos a llevarse a cabo. Tiempo en una simulación se mantiene mediante una variable llamada Hora del reloj. El
concepto de tiempo de reloj será más clara a medida que trabajamos a través del ejemplo.

Comenzamos esta simulación con un sistema de vacío y arbitrariamente suponemos que nuestro primer evento, una llegada, se

lleva a cabo a la hora del reloj 0. Esta llegada fi NDS la inactividad del servidor y entra en servicio inmediatamente. Las llegadas a otros

puntos en el tiempo pueden hallar el servidor, ya sea en reposo o está ocupado. Si el servidor está inactivo, el cliente entra en servicio.

Si el servidor está ocupado, el cliente se une a la línea de espera. Estas acciones se pueden resumir como se muestra en la Figura 2.

A continuación, programar la hora de salida del primer cliente. Esto se realiza mediante la generación aleatoria de un tiempo de

servicio de la distribución del tiempo de servicio (que se describe más adelante en el capítulo) y el establecimiento de la hora de salida

como

Hora de salida hora del reloj ahora tiempo de servicio generada (1)

Servidor Salidas

FIGURA 1
llamando a la Llegadas
Hacer cola de servidor único
población
Sistema Cola

una llegada

Ocioso Estado de Ocupado

servidor

FIGURA 2
El cliente ingresa el servicio Al cliente se une a la cola
Diagrama de flujo para una llegada

1148 CAPÍTULO 2 1 Simulación


Una partida

NO Cola SÍ
vacía
?

FIGURA 3

Diagrama de flujo para una Retire al cliente de la cola y Establecer estado del sistema

comenzar el servicio a ralentí


Salida

Además, ahora programar la próxima llegada en el sistema por la generación aleatoria de un tiempo entre llegadas de la distribución

del tiempo entre llegadas y el establecimiento de la hora de llegada como

Hora de llegada hora del reloj ahora generada tiempo entre llegadas (2)

Si, por ejemplo, hemos generado un tiempo de servicio de 2 minutos, a continuación, la hora de salida para el primer cliente
será fijado en hora del reloj 2. Del mismo modo, si hemos generado un tiempo entre llegadas de 1 minuto, se programará la
próxima llegada para la hora del reloj 1.
Tanto estos eventos y sus horarios programados se mantienen en la lista de eventos. Una vez que hemos completado
todas las acciones necesarias para la primera llegada, escaneamos la lista de eventos para determinar el siguiente evento
programado y su tiempo. Si el próximo evento se determina que es una llegada, nos movemos la hora del reloj a la hora
prevista de llegada y el paso en la secuencia precedente de acciones para una llegada. Si el próximo evento es un punto de
partida, nos movemos la hora del reloj a la hora de la salida y procesar una salida. Para una salida, comprobamos si la longitud
de la línea de espera es mayor que cero. Si es así, eliminamos el primer cliente de la cola y comenzará a prestar servicio en
este cliente mediante el establecimiento de una hora de salida utilizando la ecuación (1). Si no hay nadie esperando, nos
fijamos el estado del sistema en marcha lenta. Estas acciones de salida se resumen en la Figura 3.

Este enfoque de la simulación se llama próximo evento mecanismo de tiempo de antelación, por la forma en la hora del
reloj se actualiza. Se avanza el reloj de simulación para el momento del-evento es, el primer evento más inminente en la lista
de eventos. Dado que las variables de estado cambian sólo en los momentos de eventos, nos saltamos durante los períodos
de inactividad entre los eventos saltando de un evento a otro. A medida que nos movemos de un evento a otro, llevamos a
cabo las acciones apropiadas para cada caso, incluyendo cualquier programación de eventos futuros. Continuamos de esta
manera hasta cierto prespeci fi cada condición de parada se satisface. Sin embargo, el procedimiento requiere que en
cualquier punto de la simulación, tenemos una entrada y una salida programada para el futuro. Por lo tanto, una llegada futuro
siempre se programa cuando se procesa una nueva llegada en el sistema. A la hora de salida, por el contrario, sólo puede ser
programado cuando un cliente se pone en servicio. Así, si el sistema está inactivo, no hay salidas pueden ser programadas. En
tales casos, la práctica habitual es programar una salida simulada mediante el establecimiento de la hora de salida igual a un
número muy grande, digamos, 9.999 (o más grande si la hora del reloj es probable que supere 9999). De esta manera,
nuestros dos eventos consistirá en una llegada real y una salida ficticia.

El salto a la siguiente evento en el mecanismo de próxima evento puede ser una grande o pequeño; es decir, los saltos
en este método son variables en tamaño. Contrastamos este planteamiento con el fi ja-incremento método de tiempo de
avance. Con este método, se avanza el reloj de simulación en incrementos de
t unidades de tiempo, donde t es alguna unidad de tiempo apropiado, por lo general 1
unidad de tiempo. Después de cada actualización del reloj, comprobamos para determinar si cualquier caso está previsto que tenga
lugar en el momento actual en el reloj. Si se programa un evento, llevamos a cabo las acciones adecuadas para el evento. Si está
programada ninguna, o si hemos completado todo el

2 1. 2 Un ejemplo de un Discrete-Event Simulation 1149


acciones necesarias para la hora actual, que se actualice el reloj de simulación t unidades y repetir el proceso. Al igual que con el
enfoque de próxima caso, seguimos de esta manera hasta que se alcanza el prespeci fi cada condición de parada. El-incremento
fijo mecanismo de tiempo de antelación fi es a menudo más fácil de comprender, debido a sus pasos fi jos en el tiempo. Para la
mayoría de los modelos, sin embargo, el mecanismo de próxima caso tiende a ser más e fi ciente computacionalmente. En
consecuencia, sólo usamos el enfoque de próxima evento en el desarrollo de los modelos para el resto del capítulo.

Ahora ilustraremos la mecánica de la simulación de un solo servidor sistema de colas, utilizando un ejemplo
numérico. En particular, queremos mostrar cómo el modelo de simulación se representa en el ordenador como la
simulación avanza a través del tiempo. El proceso entero de simulación para el modelo de cola de servidor único es
presentado en el fl owchart en la Figura 4. Todos los bloques en este fl owchart están numerados para facilitar la
referencia. Para simplificar, se supone que tanto los tiempos entre llegadas ( ESO s) y los tiempos de servicio ( S T s) ya se
han generado para el primer par de clientes de las distribuciones de probabilidad de las Tablas 1 y

2. Estos tiempos se muestran en la Tabla 3, de la que podemos ver que el tiempo entre la primera y la segunda llegada es de 2

unidades de tiempo, el tiempo entre la segunda y la tercera de llegada es también 2 unidades de tiempo, y así sucesivamente. Del

mismo modo, el tiempo de servicio para el primer cliente es de 3 unidades de tiempo, S T para el segundo cliente es también 3 unidades

de tiempo, y así sucesivamente.

Para demostrar el modelo de simulación, que necesitamos para definir varias variables:

TM hora del reloj de la simulación

A hora programada para la próxima llegada

DT hora programada para la próxima salida

SS estado del servidor (1 ocupado, 0 ocioso)

WL longitud de la línea de espera

MX longitud (en unidades de tiempo) de una ejecución de la simulación

Después de haber tomado el cuidado de estos preliminares, ahora comenzamos la simulación inicializando todas las variables (bloque

1 en la Figura 4). Desde la primera llegada se supone que tendrá lugar en el momento

0, establecemos A 0. También asumimos que el sistema está vacía en el momento 0, por lo que establecemos SS 0,

WL 0, y DT 9999. (Tenga en cuenta que DT debe ser mayor que MX). Esto implica que nuestra lista de eventos que ahora
consta de dos eventos programados: una llegada a tiempo 0 y una salida falsa en el momento 9,999. Esto completa el
proceso de inicialización y nos da la representación por ordenador de la simulación se muestra en la Tabla 4.

Ahora estamos listos para nuestra primera acción fi en la simulación: buscando a través de la lista de eventos para
determinar el primer evento (bloque 2). Desde nuestra simulación consiste en sólo dos eventos, simplemente determinar el
siguiente evento mediante la comparación de A y DT. ( En otras simulaciones, podríamos tener más de dos eventos, por lo que
tendríamos que tener un sistema e fi ciente de buscar en la lista de eventos.) La llegada se indica mediante AT DT, una salida por
DT AT.
En este punto, A 0 es menos de DT 9,999, lo que indica que una llegada tendrá lugar el próximo. Tenemos etiqueta de este evento
1 y actualizar la hora del reloj, TM, a la hora de celebración 1 (bloque
3). Es decir, nos propusimos TM 0.

La llegada en el tiempo 0 NDS fi el sistema de vacío, indicada por el hecho de que SS 0 (bloque
4). En consecuencia, el cliente entra en servicio inmediatamente. Para esta parte de la simulación, nos propusimos primera FI SS

1 para indicar que el servidor es ahora ocupado (bloque 6). A continuación generamos una

tiempo de servicio (bloque 7) y ajuste la hora de salida para este cliente (bloque 8). De la Tabla
3, vemos que S T para el cliente 1 es 3. Desde TM 0 en este punto, nos propusimos DT 3 para el primer cliente. En otras palabras, el
cliente 1 partirá desde el sistema a la hora del reloj 3. Por último, para completar todas las acciones de procesamiento de una llegada,
programamos la próxima llegada en el sistema mediante la generación de un tiempo entre llegadas, ESO ( bloquear 9), y el
establecimiento de la hora de esta llegada, utilizando la ecuación En TM TI ( bloque 10). Ya que ESO 2, establecemos A 2. Es decir, la
segunda llegada tendrá lugar a la hora del reloj 2. Al final del evento 1, nuestra representación por ordenador de la simulación será
como se muestra en la Tabla 4.

1150 CAPÍTULO 2 1 Simulación


FIGURA 4

Diagrama de flujo para el modelo de simulación para el sistema de colas de servidor único

1
Inicializar variables de estado

Procesar una Procesar una


llegada Es salida
AT <DT
?
3 11
Conjunto TM = AT Conjunto TM = DT

4 12
Servidor inactividad

ocupado Es del servidor Es


WL = 0 WL > 0
SS = 0 WL > 0
? ?

5 6 13 15

Actualizar WL = WL + 1 Conjunto SS = 1 SS = 0 Actualizar WL = WL - 1

7 14 dieciséis

Generar S T DT = 9999 Generar S T

8 17

Conjunto DT = TM + ST Conjunto DT = TM + ST

Generar ESO Continuar

10

Conjunto AT = TM + TI

Continuar

19
18

NO Es SÍ Imprimir los resultados


TM ≥ MX
y pare
?

En esta etapa de la simulación, se procede a bloquear 18 para determinar si la hora del reloj, TM, ha superado el fi ed
longitud de tiempo específico de la simulación, MX. Si es así, que imprimir los resultados (bloque 19) y detener la ejecución
del modelo de simulación. Si no lo tiene, que continuará con la simulación. A esto le llamamos el proceso de terminación.
Ejecutamos este proceso al final de cada evento. Sin embargo, para este ejemplo, se supone que MX es un gran número.
En consecuencia, a partir de ahora, no vamos a hablar sobre el proceso de terminación.

2 1. 2 Un ejemplo de un Discrete-Event Simulation 1151


MESA 3

Generada Interarrival y Horario de Servicios

Cliente entre llegadas Servicio


Número Hora ( ESO ) Hora ( S T )

1 - 3
2 2 3
3 2 2
4 3 1
5 4 1
6 2 2
7 1 1
8 3 2
9 3 -

MESA 4

Representación del ordenador de la simulación

Variables del sistema Lista de eventos


Final de Tipo de Cliente
Evento Evento Número TM SS WL A DT

0 inicialización - 0 0 0 0 9999
1 Llegada 1 0 1 0 2 3
2 Llegada 2 2 1 1 4 3
3 Salida 1 3 1 0 4 6
4 Llegada 3 4 1 1 7 6
5 Salida 2 6 1 0 7 8
6 Llegada 4 7 1 1 11 8
7 Salida 3 8 1 0 11 9
8 Salida 4 9 0 0 11 9999
9 Llegada 5 11 1 0 13 12
10 Salida 5 12 0 0 13 9999
11 Llegada 6 13 1 0 14 15
12 Llegada 7 14 1 1 17 15
13 Salida 6 15 1 0 17 dieciséis

14 Salida 7 dieciséis 0 0 17 9999


15 Llegada 8 17 1 0 20 19

En este punto, el ciclo que vuelve al bloque 2 para determinar el próximo evento. Ya que A 2 y
DT 3, el próximo evento, el evento 2, habrá una llegada en el momento 2. Habiendo determinado el próximo evento, que ahora avanza
la simulación a la hora de esta llegada mediante la actualización TM a 2.
La llegada en el momento 2 NDS fi el servidor ocupado, por lo que puso a este cliente en la línea de espera mediante la
actualización WL de 0 a 1 (bloque 5). Dado que el presente caso es una llegada, ahora programar la próxima llegada en el
sistema. Dado que ESO 2 para la llegada 3, la próxima llegada tiene lugar a la hora del reloj 4. Esto completa todas las acciones
necesarias para el evento 2. nuevo bucle de nuevo al bloque 2 para determinar el próximo evento. A partir de la representación
por ordenador del sistema en la Tabla 4, vemos que en este punto (final del evento 2), DT 3 es menor que A 4. Esto implica que
el próximo evento, caso 3, será una salida a la hora del reloj 3. Hemos adelantado el reloj a la hora de esta partida; es decir, que
actualizamos TM a 3 (11 bloque).

1152 CAPÍTULO 2 1 Simulación


UN 1 UN 2 UN 3 UN 4 UN 5 UN 6 UN 7 UN 8 UN 9

FIGURA 5

Tiempo Continuo 3 6 8 9 12 15 16 19

Representación de 0 2 4 7 11 13 14 17 20
Hora
De servidor único
re 1 re 2 re 3 re 4 re 5 re 6 re 7 re 8
Simulación

En el tiempo 3, procesamos la primera salida del sistema. Con la salida, el servidor ahora queda libre. Comprobamos
el estado de la línea de espera para ver si hay clientes esperando el servicio (bloque 12). Ya que WL 1, tenemos un cliente
esperando. Eliminamos este cliente desde la línea de espera, ajuste WL 0 (bloque 15), y llevar este cliente en servicio
mediante la generación de un tiempo de servicio, S T ( bloque 16), y el establecimiento de la hora de salida utilizando la
relación DT TM ST ( bloque 17). A partir de la Tabla 3, se observa que para el cliente 2, S T 3. Desde TM 3, establecemos DT
6. Ahora hemos completado todas las acciones para el caso 3, que nos da la representación del ordenador se muestra en
la Tabla 4.

A partir de aquí, se lo dejamos al lector a trabajar a través de la lógica de la simulación para el resto de los acontecimientos
en este ejemplo. Tabla 4 muestra el estado de la simulación en el extremo de cada uno de estos eventos. Tenga en cuenta que
al final de los acontecimientos 8, 10, y 14 (todas las salidas), el sistema se vuelve inactivo. Durante la secuencia de acciones
para estos eventos, nos propusimos SS 0 (bloque 13) y DT 9999 (bloque 14). En cada caso, el sistema permanece inactivo hasta
que una llegada tiene lugar. Esta simulación se resume en el diagrama de tiempo continuo en la Figura 5. Aquí, el UN 'S
representan las llegadas y la re Es por las salidas. Tenga en cuenta que las zonas rayadas, como la que existe entre 9 y 11
veces, significan que el sistema está inactivo.

Este simple ejemplo ilustra algunos de los conceptos básicos de la simulación y la forma en que la simulación se puede
utilizar para analizar un problema en particular. Aunque este modelo no es probable que se utilicen para evaluar muchas
situaciones de importancia, que nos ha proporcionado un ejemplo especí fi co y, más importante, se ha introducido una
variedad de conceptos clave de simulación. En el resto del capítulo, se analizan algunos de estos conceptos de simulación
con más detalle. No se hizo mención en el ejemplo de la recopilación de estadísticas, pero los procedimientos puede ser
fácilmente incorporado en el modelo para determinar las medidas de rendimiento de este sistema. Por ejemplo, podríamos
ampliar la fl owchart para calcular e imprimir el tiempo medio de espera, el número medio en la línea de espera, y la
proporción de tiempo de inactividad. Se discuten cuestiones estadísticas en detalle más adelante en el capítulo.

21.3 Los números aleatorios y simulación de Monte Carlo

En nuestro ejemplo de simulación de puesta en cola, vimos que el movimiento subyacente a través del tiempo se logra en la
simulación mediante la generación de la interarrival y los tiempos de servicio de las distribuciones de probabilidad fi cados. De
hecho, todas las horas de los eventos se determinan ya sea directa o indirectamente por estos servicios generados y tiempos
entre llegadas. El procedimiento de generar estos tiempos de las distribuciones de probabilidad dada se conoce como
muestreo a partir de distribuciones de probabilidad, o la generación de valor aleatorio, o muestreo Monte Carlo. En esta
sección, se presentan y se discuten varios métodos diferentes de muestreo a partir de distribuciones discretas. inicialmente
Demostramos la técnica que utiliza una rueda de ruleta y expanda que llevando a cabo la toma de muestras utilizando
números aleatorios.

El principio de muestreo a partir de distribuciones discretas se basa en la interpretación de frecuencia de la probabilidad. Es


decir, en el largo plazo, nos gustaría que los resultados que se produzcan con las frecuencias fi especificados por las
probabilidades en la distribución. Por ejemplo, si tenemos en cuenta la distribución del tiempo de servicio en la Tabla 2, nos
gustaría, en el largo plazo, para generar

2 1. 3 Los números aleatorios y simulación de Monte Carlo 1153


Puntero

Girar

S3 S1
25% 35%
x=3 x=1

S2
40%
x=2
FIGURA 6

La segmentación de

la rueda de ruleta

un tiempo de servicio de 1 minuto 35% del tiempo, un tiempo de servicio de 2 minutos 40% del tiempo, y un tiempo de
servicio de 3 minutos y 25% del tiempo. Además de obtener las frecuencias correctas, el procedimiento de muestreo debe
ser independiente; es decir, cada vez que el servicio generada debe ser independiente de los tiempos de servicio que le
preceden y le siguen.
Para lograr estas dos propiedades utilizando una rueda de ruleta, nos primera partición de la rueda en tres segmentos, cada
uno proporcional en la zona a una probabilidad en la distribución (véase la figura
6). Por ejemplo, el primer segmento (por ejemplo, S 1) se asigna 35% del área de la rueda de ruleta. Esta área corresponde
a la probabilidad de 0,35 y el tiempo de servicio de 1 minuto. El segundo segmento, S 2, cubre 40% de la superficie y
corresponde a la probabilidad de 0,40 y el tiempo de servicio de 2 minutos. Finalmente, el tercer segmento, S 3, se asigna
el 25% restante de la zona, que corresponde a la probabilidad de 0,25 y el tiempo de servicio de 3 minutos. Si ahora
hacemos girar la rueda de la ruleta y el puntero comprendido en el segmento S 1, esto significa que hemos generado un
tiempo de servicio de 1 minuto; en el segmento S 2, 2 minutos; y en el segmento

S 3, 3 minutos. Si la ruleta es justo, como suponemos, a continuación, en el largo plazo, (1) vamos a generar los tiempos de
servicio con aproximadamente la misma frecuencia que se especifica en la distribución, y (2) los resultados de cada giro
será independiente de los resultados que preceden y le siguen.

Ahora ampliamos en esta técnica mediante el uso de números para la segmentación en lugar de áreas. Suponemos
que la rueda de la ruleta tiene 100 números en ella, que van entre 00 y 99, ambos inclusive. Suponemos además que la
segmentación es tal que cada número tiene la misma probabilidad, 0.01, de aparecer. El uso de este método de
segmentación, asignamos 35 números (por ejemplo, de 00 a 34) para el tiempo de servicio de 1 minuto. Puesto que cada
número tiene una probabilidad 0,01 de aparecer, los 35 números juntos son equivalentes a una probabilidad de 0,35. Del
mismo modo, si asignamos los números del 35 al 74 para el tiempo de servicio de 2 minutos, y los números de 75 a 99
Para el tiempo de servicio de 3 minutos, alcanzamos las probabilidades deseadas. Al igual que antes, hacemos girar la
ruleta para generar los tiempos de servicio, pero con este método, los números determinan directamente los tiempos de
servicio. En otras palabras, si generamos un número entre 00 y 34, fijamos el tiempo de servicio igual a 1 minuto; entre 35
y

74, a 2 minutos; y entre 75 y 99, a 3 minutos.


Este procedimiento de segmentación y el uso de una rueda de ruleta es equivalente a la generación de números aleatorios
número entero entre 00 y 99. Esto se deduce del hecho de que cada aleatorio

1154 CAPÍTULO 2 1 Simulación


número en una secuencia (en este caso de 00 a 99) tiene la misma probabilidad (en este caso,
. 01) de aparecer, y cada número aleatorio es independiente de los números que preceden y le siguen. Si ahora teníamos
un procedimiento para la generación de los 100 números aleatorios entre 00 y 99, entonces en vez de hacer girar una ruleta
para obtener un tiempo de servicio, se podría utilizar un número aleatorio generado. Técnicamente, un número aleatorio, R yo,
se define como una muestra aleatoria independiente dibujado de una distribución uniforme continua cuya probabilidad
función de densidad (pdf) viene dada por

X 1
f (x) de otro modo 1 0

Así, cada número aleatorio será distribuido de manera uniforme sobre el intervalo entre 0 y 1. Debido a esto, estos números
aleatorios se refieren generalmente como T ( 0, 1) números aleatorios, o simplemente como números aleatorios uniformes.

Generadores de números aleatorios

números aleatorios uniformes se pueden generar de muchas maneras diferentes. Dado que nuestro interés en números aleatorios es

para su uso dentro de las simulaciones, tenemos que ser capaces de generarlos en un ordenador. Esto se realiza mediante funciones

matemáticas llamadas generadores de números aleatorios.

La mayoría de los generadores de números aleatorios usan alguna forma de una relación de congruencia. Ejemplos de tales
generadores incluyen el generador lineal de congruencia, el generador multiplicativo, y el generador de mezclado. El generador de
congruencia lineal es con mucho el más ampliamente utilizado. De hecho, la mayoría de las funciones integradas de números
aleatorios en los sistemas informáticos utilizan este generador. Con este método, se producen una secuencia de números enteros X 1, X
2, X 3, . . . entre 0 y metro 1 de acuerdo con la siguiente relación recursiva:

X yo 1 ( hacha yo do) módulo metro ( yo 0, 1, 2,. . .)

El valor inicial de X 0 se llama la semilla, un es el multiplicador constante, do es el incremento, y metro es el


módulo. Estas cuatro variables se llaman los parámetros del generador. Usando esta relación, el valor de X yo 1 es
igual al resto de la división de hacha yo do por
metro. Se genera entonces el número aleatorio entre 0 y 1 usando la ecuación

R yo ( yo 1, 2, 3,. . .)
mx yo

Por ejemplo, si X 0 35, un 13, do 65, y metro 100, el algoritmo funciona de la siguiente manera:

iteración 0 Conjunto X 0 35, un 13, do 65, y metro 100.

la iteración 1 Calcular

X1 ( hacha 0 do) módulo metro

X1 [13 (35) 65] modulo 100


X1 20

Entregar

XM
1
R1

R1
10
20

R1 0.20 0

2 1. 3 Los números aleatorios y simulación de Monte Carlo 1155


iteración 2 Calcular

X2 ( hacha 1 do) módulo metro

X2 [13 (20) 65] modulo 100


X2 25

Entregar

XM
2
R2

R2
15
20

R2 0.25

iteración 3 Calcular

X3 ( hacha 2 do) módulo metro

y así.

Cada número aleatorio generado mediante este método será un número decimal entre 0 y 1. Nótese que
aunque es posible generar un 0, un número aleatorio no puede ser igual
1. Los números aleatorios generados usando métodos se llaman congruentes números pseudoaleatorios. Ellos no son
verdaderos números aleatorios en el sentido técnico, porque son determinados por completo una vez que la relación de
recurrencia es de fi nido y los parámetros del generador se especi fi can. Sin embargo, seleccionando cuidadosamente los
valores de un, do, metro, y X 0, los números pseudoaleatorios se pueden hacer para satisfacer todas las propiedades estadísticas
de los números aleatorios verdaderos. Además de las propiedades estadísticas, generadores de números aleatorios deben
tener varias otras características importantes si se van a utilizar e fi ciente en simulaciones por ordenador. (1) La rutina debe
ser rápido; (2) la rutina no debería requerir una gran cantidad de almacenamiento del núcleo; (3) los números aleatorios
deben ser replicable; y (4) la rutina debe tener un fi cientemente largo ciclo, es decir, que debe ser capaz de generar una
secuencia larga sin repetición de los números aleatorios.

Hay un punto importante que vale la pena mencionar en esta etapa: La mayoría de los lenguajes de programación han incorporado

funciones de biblioteca que proporcionan números aleatorios (o pseudoaleatorios) directamente. Por lo tanto, la mayoría de los

usuarios sólo tienen que conocen la función de biblioteca para un sistema particular. En algunos sistemas, un usuario puede tener que
especificar un valor para la semilla, X 0, pero es poco probable que un usuario tendría que desarrollar o diseñar un generador de números

aleatorios. Sin embargo, para obtener más información sobre los números al azar y los generadores de números aleatorios, el lector

interesado puede consultar Bancos y Carson (1984), Knuth (1998), o la Ley y Kelton (1991).

Generación de números aleatorios equipo

Ahora tomamos el método de Monte Carlo el muestreo de un paso más allá y desarrollar un procedimiento utilizando
números aleatorios generados en un ordenador. La idea es transformar el T ( 0,
1) números aleatorios en números entero aleatorio entre 00 y 99 y luego a usan estos números aleatorios enteros para
lograr la segmentación por números. La transformación es un procedimiento relativamente sencillo. Si los (0, 1)
números aleatorios se multiplican por 100, que se distribuirán uniformemente en el intervalo de 0 a 100. A
continuación, si se deja caer la parte fraccionaria del número, el resultado será números enteros de 00 a 99, todos
igualmente probable. Por ejemplo, si hubiéramos generado el número aleatorio 0.72365, multiplicándolo por 100 da

1156 CAPÍTULO 2 1 Simulación


MESA 5

Los números de dos dígitos entero aleatorio

69 56 30 32 66 79 55 24 80 35 10 98
92 92 88 82 13 04 86 31 13 23 44 93
13 42 51 dieciséis 17 29 62 08 59 41 47 72
25 96 58 14 68 15 18 99 13 05 03 83
34 78 50 89 98 93 70 11 49 01 9 35
64 43 71 48 36 78 53 67 37 57 25 17
84 59 68 45 12 53 68 38 18 60 02 82
31 28 52 89 27 35 34 74 96 93 45 63
21 17 71 55 32 74 20 68 44 34 53 68
91 84 39 25 20 83 60 62 99 61 32 98
55 86 18 93 51 77 68 37 69 02 85 60
43 dieciséis 20 42 82 17 41 50 54 21 25 43
40 98 71 03 68 05 37 02 86 17 38 99
42 37 72 33 72 43 51 60 17 94 51 39
18 06 28 75 69 80 33 69 12 25 53 36
13 20 42 92 57 08 24 06 41 12 89 95
58 18 98 89 08 60 89 93 58 13 29 34
63 68 69 62 07 49 95 48 20 03 71 90
92 54 29 31 80 28 48 45 92 71 31 33
84 11 57 64 93 69 86 22 23 84 38 60
33 24 76
sesenta y cinco 87 95 98 47 00 71 31 97
53 08 80 85 73 13 25 35 22 82 26 43
02 19 61 38 00 21 42 79 31 70 00 17
22 81 43 44 78 88 30 31 15 63 09 99
38 25 32 92 11 55 18 52 47 30 43 87
04 61 82 18 82 75 12 19 44 87 77 93
06 54 51 64 81 98 63 47 57 52 74 56
51 51 00 41 78 84 42 79 06 82 58 53
99 93 87 86 83 79 dieciséis 33 53 34 40 32
29 12 64 73 38 08 49 32 53 33 91 90
31 78 93 25 37 51 68 40 34 47 83 76
81 69 27 35 71 12 69 78 96 93 35 96
26 73 28 81 38 09 55 10 27 29 52 46
92 29 08 15 73 26 33 05 89 08 26 99
00 86 32 46 80 22 97 19 99 95 53 20
39 25 07 41 74 71 01 64 23 69 74 95
38 86 41 38 71 91 75 54 73
sesenta y cinco 47 86
41 74 68 21 74 89 43 19 98 74 09 50
63 53 45 07 47 15 58 75 88 51 88 99
00 54 86 59 77 09 54 55 99 15 67 63
01 38 88 03 71 88 72 39 76 45 11 07
38 05 53 31 18 11 26 61
sesenta y cinco 77 19 03
34 43 19 12 35 02 09 86 69 90 53 50
23 41 56 34 77 30 50 02 34 68 49 dieciséis

57 24 80 69 51 81 83 05 19 45 30 20
93 86 08 08 99 62 75 97 29 51 68 96
dieciséis 10 38 33 32 25 34 66 72 17 51 97
75 28 35 14 01 00 98 51 74 10 79 30
53 38 32
sesenta y cinco 78 77 64 11 31 06 73 47
91 90 95 95 66 80 10 90 51 24 81 06

2 1. 3 Los números aleatorios y simulación de Monte Carlo 1157


MESA 6

Función acumulativa distribución y el número

aleatorio rangos para Interarrival tiempos

Tiempo entre llegadas Acumulativo Aleatorio


(minutos) Probabilidad Probabilidad Los rangos de números

1 . 20 . 20 00-19
2 . 30 . 50 20-49
3 . 35 . 85 50-84
4 . 15 1.00 85-99

Nos 72.365. Truncando la parte decimal del número nos llevarse el número entero de números aleatorios 72. En el equipo,
que lograr esta transformación por la primera generación de una T ( 0, 1) de números aleatorios. A continuación, lo
multiplicamos por 100. Por último, almacenamos el producto utilizando una variable de número entero; esta etapa nal fi
truncará la parte decimal del número. Este procedimiento nos dará números entero aleatorio entre 00 y 99. La Tabla 5
enumera algunos números pseudoaleatorios enteros obtuvieron utilizando este procedimiento. (Estos números aleatorios se
pueden usar en varios ejemplos más adelante en el capítulo).

Ahora formalizamos este procedimiento y lo usamos para generar variables aleatorias al azar para una variable aleatoria discreta.

El procedimiento consta de dos pasos: (1) desarrollamos la distribución de probabilidad acumulativa (CDF) para la variable aleatoria

dada, y (2) que usamos la cdf para asignar los números aleatorios enteros directamente a los diversos valores de la variable aleatoria.

Para ilustrar este procedimiento, se utiliza la distribución de los tiempos entre llegadas a partir del ejemplo de cola de la Sección 21.2

(véase la Tabla 1). Si desarrollamos la cdf para esta distribución, obtenemos las probabilidades que se muestran en la Tabla 6. La fi

tiempo entre llegadas primera de 1 minuto se produce con una probabilidad de 0,20. Por lo tanto, tenemos que asignar 20 números al

azar a este resultado. Si asignamos las 20 hora de 00 a 19, utilizamos el rango de números aleatorios decimal de 0 a ,19999. Tenga en

cuenta que el extremo superior de este rango se encuentra justo debajo de la probabilidad acumulada de 0,20. Para el tiempo entre

llegadas de 2 minutos, asignamos 30 números aleatorios. Si asignamos los números enteros de 20 a 49, nos damos cuenta de que

este cubre el rango de números aleatorios decimal 0,20-0,49999. Al igual que antes, el extremo superior de este rango se encuentra

justo debajo de la probabilidad acumulada de 0,50, pero el extremo inferior coincide con la probabilidad acumulada previo de 0,20. Si

ahora asignar los números aleatorios enteros de 50 a 84 al tiempo entre llegadas de 3 minutos, se observa que estos números se

obtienen de la gama de números aleatorios decimal de 0,50 (la misma que la probabilidad acumulativa asociada con un tiempo entre

llegadas de 2 minutos ) a 0,84999, que es una fracción menor que asignamos 30 números aleatorios. Si asignamos los números

enteros de 20 a 49, nos damos cuenta de que este cubre el rango de números aleatorios decimal 0,20-0,49999. Al igual que antes, el

extremo superior de este rango se encuentra justo debajo de la probabilidad acumulada de 0,50, pero el extremo inferior coincide con

la probabilidad acumulada previo de 0,20. Si ahora asignar los números aleatorios enteros de 50 a 84 al tiempo entre llegadas de 3

minutos, se observa que estos números se obtienen de la gama de números aleatorios decimal de 0,50 (la misma que la probabilidad acumulativa asociada con un ti

. 85. Por último, los mismos análisis se aplican al tiempo entre llegadas de 4 minutos. En otras palabras, la distribución de
probabilidad acumulada nos permite asignar el número entero número aleatorio varía directamente. Una vez que estos rangos
han sido especificados fi para una distribución dada, todo lo que tiene que hacer para obtener el valor de una variable aleatoria
es generar un número entero aleatorio y hacerlo coincidir contra las asignaciones de números aleatorios. Por ejemplo, si el
número aleatorio había resultado ser 35, esto se traduciría en un tiempo entre llegadas de 2 minutos. Del mismo modo, el
número aleatorio 67 se traduciría en un tiempo entre llegadas de 3 minutos, y así sucesivamente. Ahora demuestran estos
conceptos en un ejemplo de una simulación de Monte Carlo.

21.4 Un ejemplo de simulación de Monte Carlo

En esta sección, se utiliza una simulación de Monte Carlo para simular un problema de noticias del proveedor (véase el Capítulo 16).

1158 CAPÍTULO 2 1 Simulación


EX AM PLE 1 Panadería de Pierre

de Pierre panadería hornea y vende pan francés. Cada mañana, la panadería satisface la demanda del día usando el pan
recién horneado. Pierre puede hornear el pan sólo en lotes de una docena de panes cada uno. Cada barra de pan cuesta 25
¢ a hacer. Por simplicidad, se supone que la demanda diaria total para el pan también se produce en múltiplos de 12. datos
anteriores han mostrado que esta demanda varía de 36 a 96 panes por día. Un pan se vende por 40 ¢, y cualquier pan de
sobra al final del día se vende a una cocina de caridad por un precio de rescate de 10 ¢ / pan. Si la demanda supera a la
oferta, se supone que hay un costo perdido fi nes de 15 ¢ / pan (debido a la pérdida de buena voluntad, pérdida de clientes a
los competidores, y así sucesivamente). Los registros de panadería muestran que la demanda diaria se pueden clasificar en
tres tipos: alto, medio y bajo. Estas demandas se producen con una probabilidad de 0,30, 0,45 y 0,25, respectivamente. La
distribución de la demanda por categorías se da en la Tabla 7. Pierre le gustaría para determinar el número óptimo de panes
para hornear cada día para maximizar per fi t (ingresos

Los ingresos de salvamento

precio del pan costo de la pérdida de utilidades).

Solución Para resolver este problema mediante la simulación, se requiere un número de diferentes políticas para eva-

comió. Aquí, definimos una política como el número de panes para hornear cada día. Cada política determinada se evalúa a

continuación, durante un período de tiempo fijada para determinar su margen de pro fi cio. La política que da la más alta fi pro t es

seleccionada como la mejor política.

En el proceso de simulación, primero desarrollamos un procedimiento para la generación de la demanda para el día:

Paso 1 Determinar el tipo de demanda, es decir, si la demanda para el día es alta, media o baja. Para ello, el cálculo de la

función de distribución para esta distribución y configurar las asignaciones de números aleatorios (ver Tabla 8). Entonces, para
determinar el tipo de demanda, todo lo que tenemos que hacer es generar un número aleatorio de dos dígitos y compararlo con
las asignaciones de números aleatorios en esta tabla.

Paso 2 Generar la demanda real para el día de la distribución de la demanda correspondiente. El cdf y las asignaciones de

números aleatorios para la distribución de cada uno de los tres tipos de demanda se presentan en la Tabla 9. A continuación,
para generar una demanda, simplemente generar un número aleatorio entero y hacerlo coincidir contra las asignaciones de
números aleatorios apropiados. Por ejemplo, si nuestro tipo de demanda era “promedio” en el paso 1, el número aleatorio 80
se traduciría en una demanda de 72. De manera similar, si el tipo de la demanda era “alta” en el paso 1, el número aleatorio 9
se traduciría en una la demanda de 48.

El proceso de simulación para este problema es relativamente simple. Para cada día, generamos una demanda para el día. A
continuación, evaluamos los distintos costos de una política determinada. Supongamos, por ejemplo, que la política es para cocer
60 panes cada día. Si la demanda de un particular,

MESA 7

La demanda de distribución por la demanda Categorías

Probabilidad demanda
Distribución

Demanda Alto Promedio Bajo

36 . 05 . 10 . 15

48 . 10 . 20 . 25

60 . 25 . 30 . 35

72 . 30 . 25 . 15

84 . 20 . 10 . 05

96 . 10 . 05 . 05

2 1. 4 Un ejemplo de simulación de Monte Carlo 1159


MESA 8

Distribución del tipo de demanda

Tipo de Acumulativo Número aleatorio


Demanda Probabilidad Distribución rangos

Alto . 30 . 30 00-29
Promedio . 45 . 75 30-74
Bajo . 25 1.00 75-99

MESA 9

Distribución por tipo de demanda

Distribución
acumulativa Rangos de números aleatorios

Demanda Alto Promedio Bajo Alto Promedio Bajo

36 . 05 . 10 . 15 00-04 00-09 00-14


48 . 15 . 30 . 40 05-14 10-29 15-39
60 . 40 . 60 . 75 15-39 30-59 40-74
72 . 70 . 85 . 90 40-69 60-84 75-89
84 . 90 . 95 . 95 70-89 85-94 90-94
96 1.00 1.00 1.00 90-99 95-99 95-99

día resulta ser 72, tenemos 60 (0.40) $ 24.00 en los ingresos, 60 (0,25) $ 15.00 en pro
costos de producción, y 12 (0,15) $ 1,80 de pérdida de pro-costos fi t (debido al déficit de 12
panes). Esto nos da una fi cios netos de 24,00 t 15.00 1,80 $ 7,20 para ese día.
Utilizando este procedimiento, se calcula un margen de t per fi por cada día en la simulación. Para evaluar una política,
se corre la simulación para un número fijo de días para la política determinada. Al final de la simulación, tenemos una media
de los fi nes pro márgenes más el número de días para obtener el t margen per fi esperado por día para la política. Tenga en
cuenta que el procedimiento de esta simulación es diferente de la simulación de colas, en la que la presente simulación no
evoluciona con el tiempo de la misma manera. Aquí, cada día es una simulación independiente. Estas simulaciones se
refieren comúnmente como simulaciones de Monte Carlo.

Para ilustrar este procedimiento, se presentan en la Tabla 10 una simulación manual para el primeros 15 días de una política
en la que hornear 60 panes por día. A partir de esta tabla, la demanda tanto de día 1 y el día 2 resulta ser 60 panes. (Los números
aleatorios utilizados en este ejemplo se obtuvieron a partir de la Tabla 5) Esta demanda genera un ingreso de $ 24.00 para cada
uno de estos días. Desde los 60 panes cuestan $ 15.00 hasta hornear, nuestra fi nes de margen para cada uno de los primeros 2
días es de $ 9,00. El día 3, la demanda es de 72, que nos da un déficit de 12 panes. Como se muestra en la tabla, el margen fi cio
pro para el día 3 es $ 7,20 (24.00 15.00 1,80). El día 4, se genera una demanda de 48. Dado que nuestra política es para cocer 60
panes, tendremos 12 panes sobrantes. Los 48 panes vendidos nos dan unos ingresos de sólo $ 19.20. Sin embargo, los 12 panes
izquierda sobre proporcionan un adicional de $ 1,20 en los ingresos de rescate, produciendo un bene fi cio de $ 5,40 (19.20

1.20 15,00) para el día 4.


Si ahora completamos la simulación manual para el período de 15 días, el total de bene fi cio obtenido durante
este tiempo viene a $ 97.20. Esto nos da una diaria per fi t cifra media de
97 1.20
5
$ 6,48. Sin embargo, esto no puede ser aceptado como el fi fi nes margen final de esta política. Los resultados de la
simulación en este corto un periodo es probable que sean dependientes de la secuencia de números aleatorios generados altamente,
por lo que no pueden ser aceptadas como estadísticamente válido. La simulación tendría que ser llevado a cabo durante un largo
periodo de tiempo antes de que el margen de t fi cios podría aceptarse como verdaderamente representativo. Estas cuestiones
estadísticas se analizan más adelante. Mientras tanto, hemos evaluado varias políticas diferentes para este problema usando

1160 CAPÍTULO 2 1 Simulación


MESA 10

Tabla de simulación para hornear 60 panes por día

Nº aleatoria Tipo de Nº aleatoria Perdido Salvar


Día Tipo de Demanda Demanda La demanda de Demanda Ingresos Pro fi t Ingresos Pro fi t

1 69 Promedio 56 60 $ 24.00 - - $ 9.00

2 30 Promedio 32 60 $ 24.00 - - $ 9.00

3 66 Promedio 79 72 $ 24.00 $ 1.80 - $ 7,20

4 55 Promedio 24 48 $ 19.20 - $ 1.20 $ 5,40

5 80 Bajo 35 48 $ 19.20 - $ 1.20 $ 5,40

6 10 Alto 98 96 $ 24.00 $ 5,40 - $ 3.60

7 92 Bajo 88 72 $ 24.00 $ 1.80 - $ 7,20

8 82 Bajo 17 48 $ 19.20 - $ 1.20 $ 5,40

9 04 Alto 86 84 $ 24.00 $ 3.60 - $ 5,40

10 31 Promedio 13 48 $ 19.20 - $ 1.20 $ 5,40

11 23 Alto 44 72 $ 24.00 $ 1.80 - $ 7,20

12 93 Bajo 13 36 $ 14.40 - $ 2.40 $ 1.80

13 42 Promedio 51 60 $ 24.00 - - $ 9.00

14 dieciséis Alto 17 60 $ 24.00 - - $ 9.00

15 29 Alto 62 72 $ 24.00 $ 1.80 - $ 7,20

MESA 11

Evaluación de las Políticas

Promedio diario Pro fi t


No. de Panes
Política Al horno diario Exacto Simulación

UN 36 $ 1.273 $ 1.273

segundo 48 $ 4.347 $ 4.349

do 60 $ 6.435 $ 6.436

re 72 $ 6,917 $ 6,915

mi 84 $ 6.102 El $ 6.104

F 96 $ 4.653 $ 4.642

un modelo de simulación en un ordenador. Los resultados de estas políticas se presentan en la Tabla 11. Vemos que la mejor
política para la panadería de Pierre es para cocer 72 panes cada día. Esta tabla también compara los resultados de la
simulación con la solución exacta para cada política. Podemos ver que la simulación hace un trabajo notable de converger a la
solución correcta. La proximidad de las dos soluciones no es totalmente inesperado, ya que nos encontramos con el modelo de
simulación para 10.000 días para cada política.

PROBLEMAS
Grupo A
Use los números aleatorios en la Tabla 5 para resolver los siguientes problemas. desarrollar una estimación de la hora prevista en la línea de espera. ¿Es esta una
estimación razonable? Explique.

1 Simular el servidor único sistema descrito en la Sección 21.2 para la primera 2 Realizar la simulación de la panadería de Pierre durante 25 días más (días 16 a
puesta en cola 25 salidas desde el sistema a 40) para la política de C en la Tabla 11. Comparar la respuesta con los resultados
en la tabla.

2 1. 4 Un ejemplo de simulación de Monte Carlo 1161


grupo B MESA 12

3 Considere la forma más simple de los dados. En este juego, tiramos un par de Entre llegadas

dados. Si tiramos un 7 o un 11 en el primer tiro, ganamos inmediato. Si tiramos un 2 tiempos (días) Probabilidad

o un 3 o un 12, perdemos de inmediato. Cualquier otro total (es decir, 4, 5, 6, 8, 9, o


1 . 20
10) nos da una segunda oportunidad. En esta parte del juego, mantenemos tirar los
2 . 25
dados hasta que tengamos, ya sea un 7 o el total de laminados en el primer tiro. Si
se obtiene un 7, se pierde. Si tiramos el mismo total que en el primer tiro, ganamos. 3 . 35

Suponiendo que los dados son justos, desarrollar un experimento de simulación 4 . 15


para determinar qué porcentaje de la vez que ganamos. 5 . 05

4 Tankers llegan a un puerto de aceite con la distribución de los tiempos entre llegadas
MESA 13
se muestra en la Tabla 12. El puerto tiene dos terminales, A y B. Terminal B es más
nuevo y fi ciente por lo tanto más ef que el terminal A. El tiempo que se tarda en Tipo de buque tanque Probabilidad
descargar un buque tanque depende de la El tamaño de buque tanque. Un
superpetrolero toma 4 días para descargar en el terminal A y 3 días en la terminal B. Superpetrolero . 40

Un petrolero de tamaño mediano tarda 3 días en el terminal A y 2 días en el terminal B. cisterna de tamaño mediano . 35
Los pequeños petroleros tomar 2 días en el terminal A y 1 día en el terminal B. Al llegar cisterna pequeña . 25
petroleros forman una sola línea de espera en la zona portuaria hasta un terminal esté
disponible para el servicio. Servicio se da en una base de orden de llegada. El tipo de
buques y de la frecuencia con la que visitan este puerto está dada por la distribución en
la Tabla 13. Desarrollar un modelo de simulación para este puerto. Calcular estas petroleros en el puerto, el número promedio de días en el puerto de un buque tanque, y el
estadísticas como el número medio de porcentaje de tiempo de inactividad para cada uno de los terminales. ( Insinuación: Utilice
el fl owchart en la Figura 4 y modificarlo para un sistema de colas multiservidor.)

21.5 Las simulaciones con variables aleatorias continuas

Los ejemplos de simulación presentado hasta ahora usan sólo distribuciones de probabilidad discretas para las variables
aleatorias. Sin embargo, en muchas simulaciones, es más realista y práctico de usar variables aleatorias continuas. En esta
sección, se presentan y se discuten varios procedimientos para la generación de variables aleatorias aleatorios a partir de
distribuciones continuas. El principio básico es muy similar al caso discreto. Como en el método discreto, que primero
generar una T ( 0, 1) de números aleatorios y después transformarla en una variable aleatoria de la distribución de fi cado. El
proceso para llevar a cabo la transformación, sin embargo, es bastante diferente del caso discreto.

Hay muchos métodos diferentes para la generación de variables aleatorias aleatorias continuas. La selección
de un algoritmo particular dependerá de la distribución de la que queremos generar, teniendo en cuenta factores
tales como la exactitud de las variables aleatorias, la deficiencias fi computacional y ef almacenamiento, y la
complejidad del algoritmo. Los dos algoritmos utilizados más comúnmente son el método de transformación
inversa (ITM) y el método de aceptación-rechazo (ARM). Entre estos dos métodos, es posible generar variables
aleatorias de casi todas las distribuciones de uso más frecuente. Presentamos una descripción detallada de estos
dos algoritmos, junto con varios ejemplos para cada método. Además de esto, se presentan dos métodos para
generar variables aleatorias a partir de la distribución normal.

Método de transformación inversa

El método de transformación inversa se utiliza generalmente para las distribuciones cuya función de distribución acumulativa
puede ser obtenido en forma cerrada. Los ejemplos incluyen la exponencial,

1162 CAPÍTULO 2 1 Simulación


el uniforme, la triangular, y las distribuciones de Weibull. Para distribuciones cuyos cdf no existe en forma cerrada,
puede ser posible utilizar algún método numérico, tal como una expansión en serie de potencias, en el algoritmo para
evaluar la cdf. Sin embargo, es probable que esto complicaría el procedimiento de tal manera que puede ser más e fi
ciente para usar un algoritmo diferente para generar las variables aleatorias aleatorios. El ITM es relativamente fácil de
describir y ejecutar. Se compone de los siguientes tres pasos:

Paso 1 Dada una función de densidad de probabilidad f (x) para una variable aleatoria X, obtener la función de distribución

acumulativa F (x) como

F (x) f (t) dt

Paso 2 Generar un número aleatorio r.

Paso 3 Conjunto F (x) r y resolver para X. La variable X es entonces una variable aleatoria de la
cuya distribución está dada por pdf f (x).

A continuación se describe la mecánica del algoritmo utilizando un ejemplo. Para ello, tenemos en cuenta la
distribución dada por la función

X
0 modoX 2
de otro 2
f (x)
0

Una función de este tipo se llama una función de rampa. Se puede representar gráficamente como se muestra en la
X, representa la probabilidad de la
Figura 7. El área bajo la curva, f (x)
2
ocurrencia de la variable aleatoria X. Suponemos que en este caso, X representa los tiempos de servicio de un cajero de banco.
Para obtener variables aleatorias aleatorios de esta distribución utilizando el método de transformación inversa, que primero
calculamos la cdf como

X
t dt
F (x)
0 2
2
X

Este cdf está representado formalmente por la función de

X
0 0
2
X
F (x) 0 X 2
4
1 X 2

A continuación, en el paso 2, se genera un número aleatorio r. Finalmente, en el paso 3, establecemos F (x) ry


Resolver X.
2
X
r
4

X 2r

Desde los tiempos de servicio se definen sólo para valores positivos de X, un tiempo de servicio de X
2 r no es factible. Esto nos deja con X 2 r como la solución para X. esta ecuación
que se llama una generador de valor aleatorio o una generador de proceso. Por lo tanto, para obtener un tiempo de
servicio, primera generar un número aleatorio y luego transformamos usando la ecuación anterior. Cada ejecución de la
ecuación nos dará un tiempo de servicio de la distribución dada. Por ejemplo, si un número aleatorio r
0,64 se obtiene, un tiempo de servicio de X
2 0.64 1.6 se generarán.

2 1. 5 Las simulaciones con variables aleatorias continuas 1163


f (x)

FIGURA 7

El pdf de una rampa


X
Función 0 1 2

Gráficamente, el método de transformación inversa se puede representar como se muestra en la figura


8. Vemos de este gráfico que el rango de valores para la variable aleatoria (es decir, 0
X 2) coincide con las probabilidades acumuladas, 0 F (x) 1.0. En otras palabras, para
cualquier valor de F (x) en el intervalo [0, 1], existe un valor correspondiente de la variable aleatoria, dada por X. Desde un
número aleatorio es también definido en el intervalo entre 0 y 1, esto implica que un número aleatorio puede ser
traducido directamente en un valor correspondiente de X utilizando la relación r F (x). La solución para X en términos de r que
se conoce como de tomar la inversa de F (x), denotado por x F 1 ( r) -de ahí el nombre transformación inversa.

Tenga en cuenta que si r es igual a 0, se generará un valor aleatorio igual a 0, el valor más pequeño posible de X. Del
mismo modo, si generamos un número aleatorio igual a 1, se transformará a 2, el valor más grande posible de X.

Para demostrar que el ITM genera números con la misma distribución que X, considerar el hecho de que para
dos números X 1 y X 2, la probabilidad P (x 1 X X 2) F (x 2) F (x 1).
Entonces lo que tenemos que demostrar es que la probabilidad de que el valor generado de X entre mentiras X 1 y
X 2 es también el mismo. De la figura 8, vemos que el valor generado de X será de entre X 1 y X 2 si y sólo si el
número aleatorio es elegido entre r 1 F (x 1) y
r2 F (x 2). Por lo tanto, la probabilidad de que el valor generado de X está entre X 1 y X 2 es también F (x 2) F (x 1). Esto
demuestra que el ITM en efecto, generar números con la misma distribución que X.

F (x)

r2

r1

FIGURA 8

Representación

gráfica de la

transformación inversa X

Método 0 X1 X2 2

1164 CAPÍTULO 2 1 Simulación


Como muestra este ejemplo, la principal ventaja del método de transformación inversa es su simplicidad y facilidad de
aplicación. Sin embargo, como se mencionó anteriormente, hay que ser capaz de determinar F (x) en forma cerrada para la
distribución deseada antes de que podamos utilizar el método e fi cientemente. Además, en este ejemplo, vemos que
necesitamos exactamente un número aleatorio para producir una variable aleatoria. Otros métodos, tales como el método de
aceptación-rechazo, pueden requerir varios números aleatorios para generar un único valor de X. Los tres ejemplos
siguientes ilustran la aplicación de la ITM.

EX AM PLE 2 La distribución exponencial

Como se mencionó en el capítulo 20, la distribución exponencial tiene importantes aplicaciones en la representación
matemática de sistemas de colas. El pdf de la distribución exponencial es dada por

l mi l X X 0, l 0 en otro
f (x)
0 caso

Utilice el método de transformación inversa para generar observaciones de una distribución exponencial.

Solución En el paso 1, se calcula la CDF. Esto viene dado por

01 X 0
F (x)
mi l X X 0

A continuación, se genera un número aleatorio r y establecer F (x) r para resolver X. Esto nos da

1 mi l X r

la reordenación de

mi l X 1 r

y tomando el logaritmo natural de ambos lados, tenemos

lX ln (1 r)

Por último, la solución de X da la solución

1 ln (1
X r)
l

Para simplificar nuestros cálculos, podemos sustituir (1 r) con r. Ya que r es un nú- azar
ber, (1 r) también será un número aleatorio. Esto significa que no hemos cambiado nada, salvo la forma en que
escribimos la T ( 0,1) de números aleatorios. Por lo tanto, nuestro generador de proceso para la distribución exponencial
será ahora

1 ln r
X
l
1 1, yr
Por ejemplo, r mi rendimientos X l
1 los rendimientos X0.

EX AM PLE 3 La distribución uniforme

Considere una variable aleatoria X que se distribuye de manera uniforme en el intervalo [ a, b]. El pdf de esta distribución
viene dada por la función

1
un X segundo
f (x) segundo
un

0 de otra manera

2 1. 5 Las simulaciones con variables aleatorias continuas 1165


Utilice el ITM para generar observaciones de esta variable aleatoria.

Solución El cdf de esta distribución viene dada por

0 X un

Automóvil
F (x) un X segundo
bx club británico

1 X segundo

Para utilizar el ITM para generar las observaciones de una distribución uniforme, que primero generar un número aleatorio r y a

continuación, establecer F (x) r para resolver X. Esto da

Automóvil
r
bx club británico

Resolviendo para X rendimientos

X un ( segundo Arkansas

12 rendimientos un segundo ,
como el generador de proceso para la distribución uniforme. Por ejemplo, r X
2
r 1 los rendimientos Xb, r 0 rendimientos X un, y así.

EX AM PLE 4 La distribución triangular

Considere una variable aleatoria X cuya pdf está dada por

12( X
2) 2 X 3
12( 2 X)
f (x) 3
3 X 6

0 de otro modo

Utilice el ITM para generar observaciones de la distribución. Esta distribución, llamada triangular distribución, se
representa gráficamente en la Figura 9. Tiene los puntos finales [2, 6], y su modo está en 3. Podemos ver que el 25%
del área bajo la curva se encuentra en la gama de X
de 2 a 3, y los otros 75% se encuentra en el intervalo de 3 a 6. En otras palabras, el 25% de los valores de la variable
aleatoria X se encuentran entre 2 y 3, y la otra caída 75% entre 3 y 6. La distribución triangular tiene importantes
aplicaciones en la simulación. A menudo se utiliza para representar las actividades para las que existen pocos o ningún
dato. (Para una descripción detallada de esta distribución, ver Bancos y Carson (1984) o Derecho y Kelton (1991)).

Solución El cdf de esta distribución triangular está dada por la función de

0 X 2
14( X
2) 2 2 X 3
F (x)
112( X2
12 X 24) 3 X 6

1 de otro modo

Para simplificar, redefinir F (x) (14)( X 2) 2, para 2 X 3, como F 1 ( X), y F (x)


12)( X2
(1 12 X 24), por 3 X 6, como se F 2 ( X).

Este cdf se puede representar gráficamente como se muestra en la Figura 10. Obsérvese que en X 3,
F( 3) 0.25. Esto implica que la función F 1 ( X) cubre el primer 25% de la gama de la cdf, y F 2 ( X) se aplica sobre
el 75% restante de la gama. Puesto que ahora tenemos dos funciones separadas que representan la cdf, el ITM
tiene que ser modi fi ed dar cuenta de estas dos funciones, sus rangos, y la distribución de los rangos. Por lo que
va el ITM, la distribución de los intervalos es el más importante. Esta distribución se consigue utilizando el
número aleatorio desde el paso 2. En otras palabras, si r
0.25, utilizamos la función F 1 ( X) (14)
12)( X2
( X 2) 2 en el paso 3. En caso contrario, se utiliza F 2 ( X) (1 12 X 24). Ya que r 0,25 para
25% del tiempo y r 0,25 para el otro 75%, alcanzamos la distribución deseada. En

1166 CAPÍTULO 2 1 Simulación


f (x)

12

FIGURA 9

Función de densidad para


X
una distribución triangular 0 1 2 3 4 5 6

F (x)

1.0

F 2 ( X)

0.25

F 1 ( X)
FIGURA 10

El CDF de un Triangular
X
Distribución 0 1 2 3 4 5 6

cualquiera de los casos, nos propusimos la función F 1 ( X) o F 2 ( X) igual a r y resolver para X. Es decir, se resuelve una de las siguientes

ecuaciones:

(14)( X 2) 2 r de 0 r 0.25
12)( X2
(1 12 X 24) r para 0,25 r 1.0

X será entonces la variable aleatoria de interés.


A medida que el gráfico de la figura 10 muestra, un número aleatorio entre 0 y 0.25 será transformado en un valor de
X entre 2 y 3. De manera similar, si r 0,25, se transformará
en un valor de X entre 3 y 6.

2 1. 5 Las simulaciones con variables aleatorias continuas 1167


Para resolver la ecuación primera, ( 1
4)( X
2) 2 r, multiplicamos la ecuación por 4 y luego
tomar la raíz cuadrada de ambos lados. Esto nos da

X 2 4 rx

22r

Ya que X se define sólo por valores superiores a 2, X 2 2 r no es factible, dejando

X 22r

como el generador de proceso para un número aleatorio en el rango de 0 a 0,25. Tenga en cuenta que cuando

r 0, X 2, el valor más pequeño posible para esta gama. Del mismo modo, cuando generamos r
0,25, se transforma en X 3.
12)( X2
Para resolver la segunda ecuación, ( 1 12 X 24) r, podemos utilizar uno de los dos met-
ods: (1) el empleo de la fórmula cuadrática o (2) completando el cuadrado. (Ver Bancos y Carson (1984) para más
detalles sobre el método de la fórmula cuadrática.) Aquí, utilizamos el método de completar el cuadrado. Multiplicamos la
ecuación 12 y reordenar los términos de conseguir

X2 12 X 24 12 r

Para completar el cuadrado, nos dividimos el primer X coeficiente de término por 2. Esto nos da 6. A continuación, la cuadratura de
este valor para obtener 36. Por último, añadimos esta resultante a ambos lados de la ecuación. Esto nos deja con la ecuación

X2 12 X 36 12 12 r

(X 6) 2 12 12 r

Escribiendo la ecuación de esta forma nos permite sacar la raíz cuadrada de ambos lados. Es decir,

X 6 12 1 2 rx

6233r

Al igual que antes, parte de la solución no es factible. En este caso, X es factible solamente para los valores de menos de 6. Por lo

tanto, usamos sólo la ecuación X 6 2 3 3 r como nuestro generador de proceso. Tenga en cuenta que cuando r

0,25, nuestro valor aleatorio es igual a 3. De manera similar, cuando r 1, que gene-
comió un valor aleatorio igual a 6.

Método de aceptación-rechazo

Hay varias distribuciones importantes, incluyendo la Erlang (utilizado en modelos de colas) y la beta (utilizado en
PERT), cuya distribución acumulativa funciones no existen en forma cerrada. Por estas distribuciones, hay que
recurrir a otros métodos de generación de variables aleatorias al azar, uno de los cuales es el método de
aceptación-rechazo (ARM). Este método se utiliza generalmente para las distribuciones cuyos dominios se definen en
intervalos finitos. Así, dada una distribución cuya pdf, f (x), se define en el intervalo hacha segundo, el algoritmo consta
de los siguientes pasos.

Paso 1 Seleccionar una constante METRO de tal manera que METRO es el mayor valor de f (x) en el intervalo [ a, b].

Paso 2 Generar dos números al azar, r 1 y r 2.

Paso 3 Calcular X* un Arkansas 1. ( Esto asegura que cada miembro de [ a, b] tiene una
( segundo

la misma oportunidad de ser elegido como X*.)

1168 CAPÍTULO 2 1 Simulación


Etapa 4 Evaluar la función f (x) en el punto X*. Que este sea f (x *).

Paso 5 Si

f (M
*) x
r2

entregar X* como una variable aleatoria de la distribución cuya pdf es f (x). De lo contrario, rechazar
X* y volver al paso 2.
Tenga en cuenta que el algoritmo continúa bucle de nuevo al paso 2 hasta que se acepte una variable aleatoria. Esto
puede tomar varias iteraciones. Por esta razón, el algoritmo puede ser relativamente ineficiente. La e fi ciencia, sin
embargo, depende de la forma de la distribución altamente. Hay varias maneras por las cuales el método de hacer más e
fi ciente. Uno de ellos es utilizar una función en la etapa 1 en lugar de una constante. Ver Fishman (1978) o la Ley y
Kelton (1991) para más detalles sobre el algoritmo.

Ahora nos ilustran los detalles del algoritmo utilizando una función de rampa. Considere una variable aleatoria X cuya
pdf está dada por la función

0de otroXmodo12 X
f (x)
0

En el paso 1 de la ARM, es generalmente útil para graficar la pdf. Dado que nuestro objetivo es obtener el mayor valor de f
(x) el dominio de la función, representación gráfica nos permitirá determinar el valor de METRO simplemente por
inspección. La gráfica de la pdf se muestra en la figura
11. Vemos que el valor más grande de f (x) se produce a X 1 y es igual a 2. En otras palabras, nos propusimos METRO 2 en el
paso 1. A continuación, generamos dos números al azar, r 1 y r 2. En el paso 3, transformamos el primer número aleatorio, r 1, en una X
valor, X*, utilizando la relación x * a
( segundoArkansas 1. Este paso es simplemente un procedimiento para generar aleatoriamente un valor de la variable aleatoria X. Teniendo

en cuenta que estamos usando un número aleatorio r 1 para determinar X*, cada valor en el intervalo [ a, b] tiene la misma probabilidad de

aparecer. Tenga en cuenta que si r 1 0,


X* será igual a un, el punto final izquierdo del dominio. Del mismo modo, si r 1 1, X* será igual
a segundo, el punto final derecho del dominio. Ya que un 0 y segundo 1 para esta distribución, se sigue que X*
r 1. Este valor de X* ahora se convierte en nuestro potencial valor aleatorio para el Cur-
alquilar iteración. En los pasos 4 y 5, hay que determinar si se debe aceptar o rechazar X*. Nosotros evaluamos primero la función f
f (M x *) , nosotros
(x) a X X* para obtener f (x *) y luego calcular f (
M * x) . Si r 2
aceptar X*. De lo contrario, se rechaza X*. sustituyendo x * r 1 en f (x) Nos da f (x *) 2 r 1. Ya que
METRO 2, el término f (
M * x) reduce a r 1. Teniendo en cuenta esto, nuestra regla de decisión (en el paso 5) para aceptar
X* simpli fi ca a una comparación de r 2 y r 1. Si r 2 r 1, aceptamos X* como nuestro variabilidad aleatoria
comió. De lo contrario, volvemos al paso 2 y repita el proceso hasta que se obtiene una aceptación.

f (x)

FIGURA 11

El pdf de una rampa


X
Función 0 1

2 1. 5 Las simulaciones con variables aleatorias continuas 1169


Por ejemplo, si r 1 0,7 y r 2 0.6, elegimos X 0,7, y si r 1 0,7 y r 2 0,8,
no se genera ningún valor de la variable aleatoria. Para este problema, exactamente la mitad de las variables aleatorias aleatorios

generados en el paso 3 serán rechazadas en el paso 5.

EX AM PLE 5 El Método de aceptación-rechazo

Utilice el método de aceptación-rechazo para generar variables aleatorias al azar de una distribución triangular cuyo pdf
está dada por

dieciséis X
12
2 X 6
f (x) 43 X
6
6 X 8

dieciséis X 4 X como F 2 ( X). esta dis-


Solución Para simplificar, redefinir f (x)
12 como F 1 ( X), y f (x) 3 6
tribución se representa gráficamente en la Figura 12.
Desde esta distribución se define más de dos intervalos, hay que modificar los pasos 4 y 5 del método de
aceptación-rechazo para dar cuenta de estos rangos. Los tres primeros pasos del algoritmo, sin embargo, siguen siendo
los mismos que antes. Es decir, paso 1 determina METRO, paso 2 genera r 1 y r 2, y paso 3 transformadas r 1 en un valor X* de X.

De la gráfica de la pdf en la Figura 12, es claro que METRO 1


3 . Esta distribución tiene la
puntos finales [2, 8], lo que implica que un 2 y segundo 8. Si ahora sustituimos estas End-
puntos en el paso 3, el X* los valores son generados por la ecuación X* 2 6 r 1. Entonces vemos que si r 1 está entre 0 y 2
2 3 , X* recaerá en
3, X* estará en el intervalo de 2 a 6. Si r 1
el intervalo [6, 8]. Para dar cuenta de esto, hacemos nuestra primera modi fi cación en el paso 4. Si X* se encuentra entre 2 y 6, a
continuación, en el paso 4, se utiliza la función de F 1 ( X) para evaluar f (x *). De lo contrario, usamos F 2 ( X) computar f (x *). Paso 4
ahora se puede resumir como sigue: Si 2 X* 6,

f (x *) F 1 ( X*)

dieciséisX*
f (x *)
12

r1
2

Si 6 X* 8,

f (x *) F 2 ( X*)

4 X*
f (x *)
3 6

1 r1

f (x)

13

F 1 ( X) F 2 ( X)

FIGURA 12

La pdf de

distribución triangular
X
del Ejemplo 5 0 1 2 3 4 5 6 7 8

1170 CAPÍTULO 2 1 Simulación


El siguiente paso en el algoritmo es o bien para aceptar o rechazar el valor actual de X*.
f (M x *) se satisface. Sin embargo, tras el paso 4, necesitamos
Aceptamos X* si la condición r 2
para evaluar esta condición durante los dos intervalos mediante la sustitución de la función apropiada,
f (x *), en la relación. En otras palabras, el paso 5 para esta distribución será ahora como sigue: Para 2
F1( 3 r21 . para 6
X* 6, aceptamos X* Si r 2
M * x) esto es, si r 2 X*
F2(
8, aceptamos X* Si r 2
M * x) esto es, si r 2 3 (1 r 1). Si X* es rechazada, volvemos
al paso 2 y repetir el proceso.
Al igual que antes, algunos de los X* Se rechazarán los valores. En este caso, también, la probabilidad de aceptar un valor
aleatorio es 0,5. Es decir, la mitad de todas las variables aleatorias aleatorios generados en el paso 3, a la larga, será rechazada en el
paso 5.

Ahora nos damos una intuitiva justificación de la validez de la ARM. En particular, queremos mostrar que el brazo
no generan observaciones de la variable aleatoria dada X. Para cualquier número X El brazo debe producir P (x X X
) f (x) . Ahora la probabilidad
que el brazo genera una observación entre X y X es dado por

yo ∞
(Primera probabilidad yo 1 iteraciones no producen valor y

yo 1 yo º iteración produce un valor entre X y X )

yo ∞
1 yo 1 (X)
1 Megabyte
yo 1
un) M (fb un)

(X) 1
f (x)
M (fb un)

donde hemos utilizado el hecho de que en cualquier iteración ARM, hay una probabilidad de 1 / METRO
un) que se generará un valor de la variable aleatoria (véase el problema 6), y que para
( segundo do
1,

yo ∞

do yo 1
yo 1
11 do

Los métodos directos y de convolución para la distribución normal

Debido a la importancia de la distribución normal, se ha prestado una atención considerable a la generación de


variables aleatorias aleatorias normales. Esto ha resultado en muchos algoritmos diferentes para la distribución
normal. Tanto el método de transformación inversa y el método de rechazo aceptación- son inapropiados para la
distribución normal, debido a que (1) la cdf no existe en forma cerrada y (2) la distribución no se define sobre un
intervalo finito. Aunque es posible el uso de métodos numéricos dentro de la ITM y para truncar la distribución para el
método de aceptación-rechazo, otros métodos tienden a ser mucho más e fi ciente. En esta sección, describimos dos
tales primer métodos-fi, un algoritmo basado en técnicas de convolución y, a continuación un algoritmo de
transformación directa que produce dos variables normales estándar con media 0 y varianza 1.

El algoritmo de convolución

En el algoritmo de convolución, hacemos uso directo del teorema del límite central. El teorema del límite central establece
que la suma Y de norte ran- independientes e idénticamente distribuidos

2 1. 5 Las simulaciones con variables aleatorias continuas 1171


variables de DOM (digamos, Y 1, Y 2, . . . , Y norte, cada uno con media metro y varianza finita s 2) es aproximadamente normalmente
distribuidos con media norte metro y la varianza norte s 2. Si ahora aplicamos esto a T ( 0, 1) variables aleatorias, R 1, R 2, . . . , R norte, con
media metro 0.5 y s 2
112, sigue
ese

norte

R yo 0.5 norte
yo 1
Z
norte
( 1 2 ) media

es aproximadamente normal con media 0 y varianza 1. Es de esperar que esta aproximación a trabajar mejor ya que el valor de norte
aumenta. Sin embargo, la mayoría de la literatura de simulación sugiere el uso de un valor de norte
12. El uso de 12 no sólo parece adecuada, pero, más importante,
tiene la ventaja de que simplifica ca el procedimiento de cálculo. Si ahora sustituimos
norte 12 en la ecuación anterior, el generador de proceso simplifica ES para

12

Z R yo 6
yo 1

Esta ecuación evita una raíz cuadrada y una división, los cuales son relativamente laboriosas rutinas en
un ordenador.
Si queremos generar una variable normal X con media metro y la varianza s 2, Primero se generan Z el uso de este
generador de proceso y luego transformarla mediante la relación X Sra Z. Tenga en cuenta que esta convolución es aplicable
sólo a la distribución normal y no se puede extender a otras distribuciones. Varias otras distribuciones hacer, por supuesto, se
prestan a procedimientos de convolución. Por ejemplo, podemos generar variables aleatorias al azar de una distribución
Erlang con parámetro de forma k y el parámetro de tasa k l, usando el hecho de que una variable aleatoria Erlang se puede
obtener por la suma de k IID variables aleatorias exponenciales, cada uno con parámetro k l.

El Método Directo

El método directo para la distribución normal fue desarrollado por Box y Muller (1958). Aunque no es tan e fi ciente
como algunas de las técnicas más recientes, es fácil de aplicar y ejecutar. El algoritmo genera dos T ( 0, 1) números
aleatorios, r 1 y r 2, y luego los transforma en dos variables aleatorias aleatorias normales, cada uno con media 0 y
varianza 1, utilizando las transformaciones directas

Z1 (2 ln r 1) media sen 2 pag r 2

Z2 (2 ln r 1) media 2 cos pag r 2

Al igual que en el método de convolución, es fácil de transformar estas variables normales estandarizadas en variables
normales X 1 y X 2 de la distribución con media metro y la varianza s 2, usando las ecuaciones

X 1 Sra Z 1
X 2 Sra Z 2

El método directo produce variables aleatorias aleatorias normales exactas, mientras que el método de convolución nos da
variables aleatorias aleatorias normales solamente aproximadas. Por esta razón, se utiliza con mucha más frecuencia el método
directo. Para más detalles de estos y otros algoritmos normales, véase Fishman (1978) o la Ley y Kelton (1991).

1172 CAPÍTULO 2 1 Simulación


PROBLEMAS
Grupo A grupo B
1 Considere una variable aleatoria continua con el siguiente PDF: 4 Para el problema 2, desarrollar un programa de ordenador para el generador
de proceso. Generar 100 variables aleatorias al azar y comparar la media y la
1
0 X 1 varianza de esta muestra en contra de la media teórica y la varianza de esta
f (x)
2
distribución. Ahora repetir el experimento para el siguiente número de variables
3 X
1 X 3
4
4
aleatorias aleatorios: 250; 500; 1000; y 5.000. A partir de estos experimentos, lo
Desarrollar un generador de proceso para estos tiempos de descomposición que se puede decir sobre el generador de proceso?
utilizando el método de transformación inversa y el método de
aceptación-rechazo.
5 Un operador de la máquina procesa dos tipos de puestos de trabajo, A y
2 Un encargado de la tienda de trabajo quiere desarrollar un modelo de simulación para B, durante el transcurso del día. Los análisis de los datos anteriores muestran que el 40%
ayudar a programar trabajos a través de la tienda. Se ha evaluado los tiempos de de todos los empleos son puestos de trabajo de tipo A, y el 60% son puestos de trabajo
finalización para todos los diferentes tipos de puestos de trabajo. Por un trabajo en tipo B. Tipo A trabajos tienen tiempos de finalización que pueden ser representados por
particular, a los tiempos de finalización pueden ser representados por la siguiente una distribución Erlang con parámetro de velocidad 5 y la forma parámetro 2. tiempos de
distribución triangular: terminación de puestos de trabajo de tipo B se puede representar por la siguiente
2
X 1
8
41204 X 4 distribución triangular:
f (x)
10
X
24
4 X X 1
1 X 4
Desarrollar un generador de proceso para esta distribución utilizando el método de 12
f (x)
transformación inversa. 920 X 4 X 9

3 Dada la distribución triangular continua en la figura


Si los trabajos llegan a un ritmo exponencial de 10 por hora, desarrollar un modelo de
13, desarrollar un generador de proceso utilizando el método de transformación
simulación para calcular el porcentaje de tiempo de inactividad del operador y el número
inversa.
medio de puestos de trabajo en la línea de espera de ser procesados.

6 Demostrar que en cualquier iteración del método de aceptación-rechazo, hay


1
una probabilidad Megabyte un) de que un valor de la
se genera variable aleatoria.

7 Todos odiamos para llevar pequeño cambio a la tienda. El uso de números


aleatorios, podemos eliminar la necesidad de cambio y dar a la tienda y el
FIGURA 13 cliente un trato justo.

f (x) un Supongamos que usted compra algo que cuesta $ .20. ¿Cómo podría
usar números aleatorios (integrado en el sistema de caja registradora) para
decidir si debe pagar $ 1,00 o nada? Esto elimina la necesidad de un

0.2 cambio!
segundo Si compró algo por $ 9,60 ¿cómo utilizar números aleatorios
para eliminar la necesidad de un cambio?
do A la larga, ¿por qué es este método justo tanto para la tienda y el
cliente?

X
2 8 12

21.6 Un ejemplo de una simulación estocástica

Ahora presentamos un ejemplo de una simulación utilizando algunos de los conceptos tratados en la Sección 21.5.
Consideramos el caso de Cabot, Inc., un gran pedido por correo firme en Chicago. Pedidos llegan al almacén a través de
teléfonos. En la actualidad, Cabot mantiene 10 operadores en el trabajo 24 horas al día. Los operadores toman los pedidos y se
alimentan directamente en un ordenador central, a través de terminales. Cada operador tiene un terminal. En la actualidad, la
compañía tiene un total de 11 terminales. Es decir, si todos los terminales están trabajando, habrá 1 terminal de repuesto.

2 1. 6 Un ejemplo de una simulación estocástica 1173


repuestos

Terminación
de la En línea

reparación

Fracaso

El centro de
FIGURA 14
reparación
Flujo de terminales

Un terminal que está en línea puede romper. Si eso sucede, el terminal se retira de la estación de trabajo y se
sustituye por una de repuesto, si hay uno disponible. Si no hay ninguno disponible, el operador debe esperar hasta que
haya uno disponible. Durante este tiempo, este operador no toma ninguna orden. El terminal rota se envía al taller, donde
la empresa tiene asignado un canal de reparación para la reparación de terminales. A la finalización de una reparación, ya
sea el terminal actúa como un repuesto o va directamente al servicio si un operador está a la espera de un terminal. El
flujo de terminales en el sistema se muestra en la Figura 14.

Los gestores de Cabot creen que el sistema de terminal necesita evaluación, debido a que el tiempo de inactividad de los
operadores debido a la rotura de los terminales ha sido excesiva. Ellos sienten que el problema puede ser resuelto mediante la
compra de algunos terminales adicionales para la piscina repuestos. Contadores han determinado que una nueva terminal tendrá
un costo total de $ 75 por semana en los costos tales como costes de inversión, costo de capital, mantenimiento y seguro.
También se ha estimado que el coste del tiempo de inactividad del terminal, en términos de retrasos, pérdida de pedidos, etc., es
de $ 1,000 por semana. Dada esta información, los administradores de Cabot quisieran determinar cuántos terminales
adicionales se deben comprar.

Este modelo es una versión del problema reparación de la máquina (véase la Sección 20.9). En estos modelos (si tanto el
desglose y los tiempos de reparación pueden ser representados por la distribución exponencial), es fácil de encontrar una
solución analítica para el problema con los procesos de nacimiento y muerte. Sin embargo, en el análisis de los datos históricos
para los terminales, se ha determinado que a pesar de los tiempos de degradación pueden ser representados por la distribución
exponencial, los tiempos de reparación se pueden representar adecuadamente sólo por la distribución triangular. Esto implica que
los métodos de análisis no se pueden utilizar; debemos utilizar la simulación.

Para simular este sistema, primero requerimos los parámetros de ambos las distribuciones. Para la distribución del
tiempo de avería, los datos muestran que la tasa de descomposición es exponencial e igual a 1 por semana por terminal. En
otras palabras, el tiempo entre averías para un terminal es exponencial con una media igual a 1 semana. Análisis para los
tiempos de reparación (medidos en semanas) muestra que esta distribución puede ser representado por la distribución
triangular

10 400 X 0,025 X 0,075


f (x)
50 400 X 0,075 X 0,125

que tiene una media de 0,075 semanas. Es decir, el personal de reparación puede, en promedio, 13,33 reparar terminales por semana.

Representamos la distribución del tiempo de reparación gráficamente en la Figura 15.

Para hallar el número óptimo de terminales para el sistema, hay que equilibrar el coste de los terminales adicionales
contra el aumento de los ingresos (debido a los costos por tiempo de inactividad) generados como resultado del aumento
en el número de terminales. En la simulación, aumentamos el número de terminales en el sistema, norte, de la presente
total de 11 en incrementos de 1. Para este valor fijo de norte, entonces corremos nuestro modelo de simulación para
estimar los ingresos netos. Los ingresos netos aquí se define como la diferencia entre el aumento de los ingresos debido a
los terminales adicionales y el costo de estos terminales adicionales. Mantenemos

1174 CAPÍTULO 2 1 Simulación


f (x)

20

FIGURA 15

El pdf de la reparación
X
Veces 0 0,025 0,075 0,125

en la adición de terminales hasta que la posición neta de los ingresos alcanza un pico. Por lo tanto, nuestro objetivo principal en la
simulación es determinar la ganancia neta de cada fijada número de terminales.
Para el cálculo de los ingresos netos, Primero se calcula el número medio de terminales en línea,
EL n ( o equivalentemente, el número medio de terminales de tiempo de inactividad, ED norte), para un número fijo de los terminales en el
sistema, norte. De hecho, ED norte es simplemente igual a n EL norte. Una vez que tenemos un valor para EL norte, podemos calcular los costes
de inactividad semanales esperados, dada por

1000 (10 EL norte). A continuación, el incremento en los ingresos como resultado de aumentar el número de terminales del 11 al norte es
1000 ( EL norte EL 11).
Matemáticamente, se calcula EL norte como

T metro

N (t) dt UN yo
0 yo 1
EL norte
T T

dónde

T longitud de la simulación

Nuevo Testamento)
número de terminales de línea en el momento t (0 t T)
UN yo área del rectángulo bajo Nuevo Testamento) Entre mi yo 1 y mi yo

(dónde mi yo es el momento de la yo la ventilación)

metro número de eventos que se producen en el intervalo [0, T]

Este cálculo se ilustra en la Figura 16 para norte 10. En este ejemplo, se comienza con 10 terminales en línea en el tiempo 0. entre

el tiempo 0 y el tiempo mi 1, el momento del primer evento, el tiempo total en línea para todos los terminales está dada por 10 mi 1, desde

cada terminal está en línea durante un período de mi 1 unidades de tiempo. Del mismo modo, el tiempo total en línea entre los

eventos 1 y 2 es 9 ( mi 2
mi 1), dado que la ruptura en el momento mi 1 nos deja con sólo 9 terminales de trabajo entre el tiempo mi 1 y tiempo mi 2. Si
ahora se corre sobre esta simulación T unidades de tiempo y resumir las áreas UN 1, UN 2, UN 3, . . . , podemos obtener una estimación
de EL 10 dividiendo esta suma por T. Esta estadística se denomina el tiempo promedio estadístico. Mientras la simulación se
ejecuta para un fi cientemente largo período de tiempo, nuestra estimación para EL 10 debe ser bastante cerca de la real.

En esta simulación, nos gustaría configurar el proceso de tal manera que será posible recoger las estadísticas para
calcular las áreas UN 1, UN 2, UN 3, . . . . Es decir, a medida que avanzamos de un evento a otro, nos gustaría hacer un
seguimiento de al menos el número de terminales en línea entre los hechos y el tiempo entre eventos. Para hacer esto,
primero definen el estado del sistema en el número de terminales en el taller de reparación. A partir de esta definición,
se deduce que la única vez que va a cambiar el estado del sistema es cuando hay o bien una avería o una terminación
de una reparación. Esto implica que hay dos eventos en esta simulación: Reparación y finalización de las reparaciones.

2 1. 6 Un ejemplo de una simulación estocástica 1175


Nuevo Testamento)

10

UN 1 UN 2 UN 3 UN 4 UN 5
4

FIGURA dieciséis
t
cálculo de EL 10 0 mi 1 mi 2 mi 3 mi 4 mi 5

Para configurar la simulación, nuestra primera tarea es determinar los generadores de procesos tanto para la descomposición y
los tiempos de reparación. Dado que ambos tienen distribuciones de CDF en forma cerrada, se utiliza el ITM para desarrollar los
generadores de proceso. Para la distribución exponencial, el generador proceso es simplemente

X Iniciar sesión r

En el caso de los tiempos de reparación, aplicando el ITM nos da

X 0,025 0,005 r (0 r 0.5)

X 0,125 0,005 (1 r) (0,5 r 1.0)

como los generadores de proceso.

Dentro de este experimento, se corre varias simulaciones diferentes, una para cada valor diferente de norte. Ya que norte en la
actualidad es igual a 11, comenzamos el experimento con este número y el aumento norte hasta que los ingresos netos llegar a un
pico. Para cada norte, empezamos la simulación en el estado en el que no hay terminales en el taller de reparación. En este estado,
los 10 operadores están en línea y los terminales restantes están en la piscina repuestos.

Nuestra primera acción en la simulación es programar la primera serie de eventos, los tiempos de descomposición de los
terminales actualmente en línea. Hacemos esto de la forma habitual, mediante la generación de un valor aleatorio exponencial
para cada terminal de la línea de distribución de ruptura y establecer el momento de la ruptura mediante la adición de este
tiempo generado a la hora actual, que es cero. Después de haber programado estos eventos, el próximo determinamos el
primer evento, la primera ruptura fi, buscando a través de la lista de eventos actual. Entonces nos movemos el reloj de
simulación para el momento de este evento y procesar esta avería.

Para procesar una avería, tomamos dos series separadas de las acciones: (1) Determinar si un repuesto está disponible. Si uno
está disponible, llevar el repuesto en servicio y programar el tiempo de descomposición de este terminal. Si no hay ninguno
disponible, actualizar la posición de back-orden. (2) Determinar si el personal de reparación está inactivo. Si es así, iniciar la
reparación en el terminal rota mediante la generación de una variable aleatoria de la distribución de los tiempos de servicio y
programar el tiempo de finalización de la reparación. Si el personal de reparación está ocupado, colocar el terminal roto en la cola de
reparación. Después de haber completado estas dos series de acciones, que ahora actualizar todos los contadores estadísticos.
Estas acciones se resumen en el sistema de flujo diagrama de la Figura 17. Se

1176 CAPÍTULO 2 1 Simulación


Es el

número de piezas
SÍ disminución disponibles

repuestos por 1
de repuesto> 0

NO

un desglose

el tiempo y el calendario
de la composición del
por 1
terminal de

reparación de ocupados Generar

los pedidos pendientes

personal de reparación
SÍ Conjunto de estado personal de

ralentí? Actualizar

¿Está el

NO

Generar un momento de tiempo


cola de actualización de reparación
de servicio y la finalización del
por 1
programa de

la reparación

FIGURA 17 Actualizar los

contadores
Diagrama de flujo para una
estadísticos
Descompostura

proceder a la simulación mediante la determinación del próximo evento y moviendo el reloj a la hora de este evento. Si el
próximo evento es otra avería, repetimos la serie precedente de acciones. De lo contrario, se procesa una realización de
una reparación.
Para procesar la realización de una reparación, también se comprometen dos series de acciones. (1) A la
finalización de una reparación, tenemos un terminal de trabajo adicional, por lo que se determina si el terminal va
directamente a un operador o a la piscina repuestos. Si existe una orden de nuevo, traemos el terminal directamente
en el servicio y programar el tiempo de la composición del terminal en la forma habitual. Si no hay ningún operador
está a la espera de un terminal, el terminal entra en la piscina repuestos. (2) Comprobamos la cola de reparación para
ver si alguno de los terminales están a la espera de ser reparado. Si la cola es mayor que cero, traemos el terminal de
primera de la cola en la reparación y programar el momento de la finalización de esta reparación. De lo contrario, nos
fijamos el estatuto del personal de reparación a ralentí. Por último, en la realización de estas acciones, actualizamos
todos los contadores estadísticos.

Se procede a la simulación (para un determinado norte) al pasar de un evento a otro hasta que el tiempo de terminación T.
En este momento, calculamos todas las medidas pertinentes de rendimiento de los contadores estadísticos. Nuestra medida
clave es el ingreso neto para el valor actual de
norte. Si estos ingresos es mayor que los ingresos para un sistema con norte 1 Terminales, que in-
arrugar el valor de norte por 1 y repetir la simulación con norte 1 terminales en el sistema.

2 1. 6 Un ejemplo de una simulación estocástica 1177


Es el número

de pedidos pendientes>
SÍ Disminuir los pedidos pendientes

por 1
0

NO

desglose
el tiempo y el calendario
disponible
de la composición del
repuestos por 1
terminal de

SÍ cola de reparación disminución

por 1 Generar un
0

reparación>
? Actualización

¿cola de

NO

Generar un momento de tiempo


Establecer el estado
de servicio y la finalización del
personal de reparación al ralentí
programa de

la reparación

FIGURA 18 Actualizar los

contadores
Diagrama de
estadísticos
flujo para la terminación de una reparación

De lo contrario, el ingreso neto ha alcanzado un pico. Si este es el caso, nos detendremos el experimento y aceptamos norte 1
Terminales como el número óptimo de terminales para tener en el sistema. Este experimento de simulación se resume en la
figura 19. Para este experimento, se supone que el número máximo de terminales que podemos tener es 25. (Nótese que la
variable REVO en el owchart fl es ingresos para el sistema con norte 1 terminales.)

Para este problema, nos encontramos con un experimento completo, cuyos resultados se resumen en la Tabla 14.
En esta tabla, se muestra el efecto global sobre los ingresos netos a medida que aumente el número de terminales de
11. Por ejemplo, cuando aumentamos norte 11 y 12, el número esperado de terminales en línea aumenta 9,362 a 9,641,
para un aumento neto de
0.279. Esto se traduce en un aumento de $ 279 en los ingresos por semana a un costo de $ 75, que nos da un aumento de los
ingresos netos de $ 204 por semana. Del mismo modo, si aumentamos el número de terminales del 11 al 13, tenemos un aumento
neto de $ 289 en. El incremento neto alcanza su máximo con 14 terminales en el sistema. Esto se pone de relieve aún más por el
gráfico de la Figura 20.
La simulación se indica en este ejemplo se puede utilizar para analizar otras opciones de política que la administración pueda
tener. Por ejemplo, en lugar de la compra de terminales adicionales, Cabot podría contratar a un segundo trabajador de reparación o
elegir un programa de mantenimiento preventivo para los terminales. Por otra parte, la compañía podría preferir una combinación de
estas políticas. El modelo de simulación proporciona un mecanismo flexible muy fl para la evaluación de políticas alternativas.

1178 CAPÍTULO 2 1 Simulación


FIGURA 19

Diagrama de flujo para la Simulación de terminales

COMIENZO

HACER encima nn

= 11, 25

inicializar variables

Establecer tiempos de

descomposición iniciales de los 10 terminales

Buscar a través de la lista de eventos

para el próximo evento

Es el

la finalización de procesos NO evento de una SÍ Procesar un


de una reparación avería desglose

estadística

contadores

NO ¿Es el

tiempo> T

Calcular los ingresos para el actual norte

Es

norte > 11 REVO = ingresos

No se actualiza la

son los
resultados NO ingresos >

DETENER REVO = ingresos
de impresión REVO
?

2 1. 6 Un ejemplo de una simulación estocástica 1179


MESA 14

Resultados de simulación para el Sistema Terminal

No. de Terminales ( norte)

11 12 13 14 15

EL norte 9,362 9,641 9,801 9,878 9,931


ED norte 0,638 0,359 0,199 0,122 0,069
EL norte - EL 11 - 0,279 0,439 0,516 0,569
Aumento de los ingresos - $ 279 $ 439 $ 516 $ 569

Coste de los terminales - $ 75 $ 150 $ 225 $ 300

Ingresos netos - $ 204 $ 289 $ 291 $ 269

Los ingresos

y los

costos

Ingresos
600

500

400
Los costos de terminales

300

200
Ingresos netos

100
FIGURA 20

Los ingresos y los costos de


norte
Sistema Terminal 0 11 12 13 14 15

21.7 Análisis estadístico en simulaciones

Como se mencionó anteriormente, los datos de salida de simulación siempre exhiben variabilidad aleatoria, puesto que las
variables aleatorias se introducen en el modelo de simulación. Por ejemplo, si corremos la misma simulación dos veces,
cada vez con una secuencia diferente de números aleatorios, las estadísticas generadas por las dos simulaciones es casi
seguro que tienen valores diferentes. Debido a esto, hay que utilizar métodos estadísticos para analizar la salida de las
simulaciones. Si el rendimiento del sistema se mide por un parámetro (por ejemplo, u), entonces nuestro objetivo en la
simulación será el desarrollo de una estimación u de u, y determinar la precisión del estimador

u . Medimos esta precisión por la desviación estándar (también llamado Error estándar) de
u . La medida global de la variabilidad se indica generalmente en la forma de un intervalo de confianza con fi a un nivel
dado de confianza. Por lo tanto, el propósito del análisis estadístico es estimar este intervalo de confianza con.

La determinación de los intervalos de confianza Con de simulación se complica por el hecho de que los datos de salida son
rara vez, o nunca, independiente. Es decir, se autocorrelated los datos. Por ejemplo, en una simulación de la cola, el tiempo de
espera de un cliente a menudo depende de la previa

1180 CAPÍTULO 2 1 Simulación


clientes. Del mismo modo, en una simulación de inventario, los modelos se instalan generalmente tal que el inventario inicial en
un día determinado es el inventario final del día anterior, creando de este modo una correlación. Esto significa que los métodos
clásicos de estadísticas, que asumen la independencia, no son directamente aplicables al análisis de los datos de salida de
simulación. Por lo tanto, hay que modificar los métodos estadísticos adecuados para hacer inferencias a partir de los datos de
simulación.

Además del problema de la autocorrelación, podemos tener un segundo problema, en que la especificidad de cationes
de las condiciones iniciales del sistema en el tiempo 0 pueden influir en los datos de salida. Por ejemplo, supongamos que
en la simulación de puesta en cola de la Sección 9.2, la llegada y las distribuciones de servicio son tales que el tiempo medio
de espera por cliente excede los 15 minutos. En otras palabras, el sistema está muy congestionado. Si nos vamos a
comenzar esta simulación con nadie en el sistema, los primeros pocos clientes tendría cero o muy pequeños tiempos de
espera. Estos tiempos de espera iniciales son dependientes de las condiciones de partida de alta y por lo tanto pueden no
ser representativos del comportamiento de estado estable del sistema. Este período inicial de tiempo antes de una
simulación alcanza el estado de equilibrio se llama

periodo transitorio o período de calentamiento.

Hay dos maneras de superar los problemas asociados con el período transitorio. El primer enfoque es usar un conjunto de
condiciones iniciales que son representativas del sistema en estado estacionario. Sin embargo, en muchas simulaciones, puede
ser difícil de establecer tales condiciones iniciales. Esto es particularmente cierto de hacer cola simulaciones. El enfoque
alternativo es dejar que la ejecución de la simulación durante un tiempo y desechar la parte inicial de la simulación. Con este
enfoque, estamos suponiendo que la parte inicial de la simulación del modelo se calienta hasta un estado de equilibrio. Dado
que no recogemos ninguna estadística durante la etapa de calentamiento, podemos reducir gran parte del sesgo de
inicialización. Por desgracia, no hay maneras fáciles para estimar la cantidad de datos iniciales eliminar para reducir el sesgo
de inicialización a niveles insignificantes. Puesto que cada modelo de simulación es diferente, le corresponde al analista para
determinar cuándo termina el período transitorio. Aunque se trata de un proceso dif fi cil, hay algunas pautas generales que uno
puede utilizar. Para estos y otros detalles de este tema, véase Ley y Kelton (1991).

Tipos de simulación

Con el propósito de analizar los datos de salida, por lo general, clasificamos simulaciones en uno de dos tipos: las simulaciones de
terminación y simulaciones de estado estacionario. UN simulación de terminación es uno que tiene una duración de un periodo de
tiempo T MI, dónde mi es un evento específico ed (o eventos) que se detiene la simulación. El evento mi puede ser un tiempo especi fi
cado, en cuyo caso la simulación se ejecuta durante una cantidad fija de tiempo. O, si se trata de una condición fi cado, la longitud de
la simulación será una variable aleatoria. UN simulación en estado estacionario es uno que corre a lo largo de un largo período de
tiempo; es decir, la longitud de la simulación va a “infinito”.

A menudo, el tipo de modelo determina que tipo de análisis de salida es apropiada para una simulación particular. Por
ejemplo, en la simulación de un banco, lo más probable es utilizar una simulación de terminación, ya que el banco cierra
físicamente todas las noches, que nos da un evento de terminación apropiada. Al simular un sistema informático, una
simulación en estado estacionario puede ser más apropiado, ya que la mayoría de los grandes sistemas informáticos no
se cierran, excepto en casos de averías o mantenimiento. Sin embargo, el sistema o modelo puede no ser siempre el
mejor indicador de la cual la simulación sería la más adecuada. Es bastante posible usar el método de simulación de
terminación para sistemas más adaptados a las simulaciones SteadyState, y viceversa. En esta sección, proporcionamos
una descripción detallada del análisis estadístico asociado con simulaciones de terminación. El análisis de simulaciones
de estado estacionario es mucho más complicado. Para más detalles de este último, véase Los bancos y Carson (1984) o
la Ley y Kelton (1991).

2 1. 7 Análisis estadístico en simulaciones 1181


Supongamos que hacemos norte replicaciones independientes usando un método de simulación de terminación. Si cada
una de las norte simulaciones se inicia con las mismas condiciones iniciales y se ejecuta utilizando una secuencia diferente
de números aleatorios, entonces cada simulación puede ser tratada como una replicación independiente. Por simplicidad,
suponemos que sólo hay una única medida del rendimiento, representada por la variable X. Así, X j es el estimador de la
medida del rendimiento de la j º replicación. Entonces, dadas las condiciones de las repeticiones, la secuencia X 1, X 2, . . . , X norte serán
las variables aleatorias iid. Con estas variables aleatorias iid, podemos utilizar el análisis estadístico clásico para construir un
100 (1 un)% con fi intervalo de confianza para u EX) como sigue:

2
Sn
X t ( un/ 2, norte 1)

dónde

norte
X yo
X
yo 1
n

norte 2
( X yo
n X)
S2
yo 1
1

y t ( un, norte 1) es el número tal que para una t- con la distribución norte 1 grados de libertad,

P (t norte 1 t ( un, norte 1)) un

(Véase la Tabla 13 en el Capítulo 24). Esta probabilidad también se puede calcular en Excel con la fórmula

DISTR.T.INV (2 * alfa, grados de libertad)

La media global X es simplemente el promedio de la X- valores calculados sobre la norte muestras y se pueden utilizar como
la mejor estimación de la medida del rendimiento. La cantidad S 2 es la varianza de la muestra.

Para ilustrar el enfoque de simulación de terminación, utilizamos un ejemplo de la caja de Cabot, Inc.. Para esta
ilustración, se supone que hay 11 terminales en el sistema, y ​llevamos a cabo sólo 10 carreras de terminación independientes
del modelo de simulación. El evento de terminación, MI, es un tiempo fijo. Es decir, los 10 simulaciones se ejecutan durante el
mismo período de tiempo. Los resultados de estos experimentos se muestran en la Tabla 15. El promedio general para estos
10 carreras

MESA 15

Promedios de la muestra de

número de terminales en

línea de 10 repeticiones

Número de ejecución Xj

1 9,252
2 9.273
3 9,413
4 9,198
5 9,532
6 9,355
7 9.155
8 9,558
9 9.310
10 9,269

1182 CAPÍTULO 2 1 Simulación


para el número esperado de terminales en línea resulta ser 9.331. (Compárese esto con el resultado promedio en la tabla 14
de 9.362, que se obtuvo utilizando el enfoque de estado estacionario.) Si ahora se calcula la varianza de la muestra,
encontramos S 2
0,018. Ya que t (. 025,9) 2.26, nos
obtener

9,331 2.26 0.0 80 9,331 0,096


110

como el intervalo de confianza con fi 95% para esta muestra.

También podríamos haber calculado t (. 025,9) en Excel con la fórmula

DISTR.T.INV (.05,9)

Esto produce 2.26, que es coherente con la tabla en el capítulo 24.


La longitud del intervalo de confianza será, por supuesto, dependerá de lo bien que nuestros resultados de la muestra
son. Si este intervalo de confianza con es inaceptable, podemos reducir su longitud ya sea aumentando el número de
repeticiones de terminación o la longitud de cada simulación. Por ejemplo, si aumentamos el número de carreras de 10 a 20,
mejoramos los resultados en dos frentes. En primer lugar, el promedio general (9.359) se acerca al resultado de la simulación
en estado estacionario; segundo, la confianza longitud del intervalo disminuye 0,192-0,058. Como hemos visto en este
ejemplo, el método de simulación de terminación ofrece un método relativamente fácil para el análisis de datos de salida. Sin
embargo, hay que subrayar que otros métodos de análisis de datos de simulación pueden ser más e fi ciente para un
problema dado. Para un tratamiento detallado de este tema, véase Los bancos y Carson (1984) o la Ley y Kelton (1991).

21.8 Idiomas de simulación

Uno de los aspectos más importantes de un estudio de simulación es la programación de computadoras. Escribir el código
de ordenador para un modelo de simulación complejo es a menudo un culto di fi y ardua tarea. Debido a esto, varios
lenguajes de simulación por ordenador para fines especiales se han desarrollado para simplificar la programación. En esta
sección, se describen varios de los lenguajes de simulación más conocidos y más fácilmente disponibles, incluyendo
GPSS, GASP IV y SLAM.

La mayoría de los lenguajes de simulación usan uno de dos métodos de modelización diferentes u orientaciones: la
programación de eventos de interacción o proceso. Como hemos visto, en el enfoque de la programación de eventos, se
modela el sistema mediante la identificación de sus eventos característicos y rutinas de escritura para describir los cambios de
estado que tienen lugar en el momento de cada evento. La simulación evoluciona con el tiempo mediante la actualización del
reloj a la siguiente evento programado y hacer los cambios necesarios en el sistema y las estadísticas por la ejecución de las
rutinas. En el enfoque de proceso de interacción, se modela el sistema como una serie de actividades que una entidad (o un
cliente) deben llevar a cabo a medida que pasa a través del sistema. Por ejemplo, en una simulación de colas, las actividades
de una entidad consisten en llegar, esperando en línea, obtener el servicio, y apartarse del sistema. Así, utilizando el enfoque de
proceso de interacción, vamos a modelar estas actividades en lugar de los acontecimientos. Al programar en un lenguaje de
propósito general tales como FORTRAN o BASIC, generalmente usamos el enfoque evento de programación. GPSS utiliza el
enfoque de proceso de interacción. SLAM permite que el modelador de usar cualquiera de los enfoques o incluso una mezcla
de los dos, el que sea el más apropiado para el modelo que se analiza.

De las lenguas de uso general, FORTRAN es el más comúnmente utilizado en la simulación. De hecho, varios
lenguajes de simulación, incluyendo GASP IV y SLAM, utilizan una base FORTRAN. En general, los programas de
simulación en FORTRAN se escriben como una serie de subrutinas, una para cada función principal del proceso de
simulación. Esto es particularmente cierto

2 1. 8 Idiomas de simulación 1183


de los lenguajes de simulación basado en FORTRAN. Por ejemplo, en GASP IV, hay aproximadamente 30 subrutinas y
funciones FORTRAN. Estos incluyen una rutina de tiempo de antelación, las rutinas de generación de valor aleatorio, rutinas
para gestionar la lista de futuros eventos, rutinas para recopilar estadísticas, y así sucesivamente. Para utilizar GASP IV,
debemos proporcionar un programa principal, una rutina de inicialización, y las rutinas de evento. Para el resto del programa,
usamos las rutinas GASP. Debido a estas rutinas y usarlos posteriormente, GASP IV ofrece una gran cantidad de flexibilidad
de programación. Para más detalles de esta lengua, ver Pritsker (1974).

GPSS, en contraste con el GASP, es un lenguaje de propósito especial altamente estructurado. Fue desarrollado por
IBM. GPSS no requiere escribir un programa en el sentido habitual. La lengua se compone de alrededor de 40 estados o
bloques estándar. La construcción de un modelo GPSS entonces consiste en combinar estos conjuntos de bloques en un
diagrama de flujo de forma que representa la trayectoria de una entidad realiza a medida que pasa a través del sistema.
Por ejemplo, para un sistema de un solo servidor de cola, las declaraciones son de la forma GENERAR (llegue en el
sistema), COLA (unirse a la línea de espera), salida (salir de la cola para entrar en servicio), ADVANCE (avanzar el reloj a
la cuenta para el tiempo de servicio), RELEASE (liberar el centro de servicio al final del servicio), y terminar (dejar el
sistema). El programa de simulación se compila a partir de estas declaraciones del diagrama de flujo. GPSS fue diseñado
para relativamente fácil de simulación de sistemas de colas. Sin embargo, debido a su estructura, que no es tan flexible
como GASP IV, especialmente para el tipo nonqueuing de simulaciones. Para una descripción más detallada de GPSS,
ver Schriber (1974).

SLAM fue desarrollado por Pritsker y Pegden (1979). Que nos permite desarrollar modelos de simulación como los
modelos de redes, modelos de eventos discretos, modelos continuos, o cualquier combinación de éstos. La orientación de
eventos discretos es una extensión de GASP IV. La representación de la red se puede considerar como una representación
pictórica de un sistema mediante el cual las entidades fl ujo. A este respecto, la estructura de SLAM es similar a la de
GPSS. Una vez que se ha desarrollado el modelo de red del sistema, se traduce en un conjunto de instrucciones de
programa SLAM para su ejecución en el equipo.

En el capítulo 22, vamos a mostrar cómo utilizar el potente paquete Modelo de proceso, fácil de usar que se
incluye en el CD-ROM de este libro.
La decisión de qué idioma a utilizar es uno de los más importantes que un modelador o un analista debe hacer en la
realización de un estudio de simulación. Los lenguajes de simulación ofrecen varias ventajas. La más importante de ellas es
que las lenguas para fines especiales proporcionan un marco natural para el modelado de simulación y la mayoría de las
características necesarias en la programación de un modelo de simulación. Sin embargo, esto debe equilibrarse con el
hecho de que las lenguas de uso general permiten una mayor flexibilidad de programación, y que lenguajes como FORTRAN
y BASIC son mucho más ampliamente utilizados y disponibles.

21.9 El proceso de simulación

En este capítulo, hemos tenido en cuenta varios modelos de simulación y presentó una serie de conceptos clave de simulación.
Ahora se discute el proceso para un estudio completo de simulación y presenta un enfoque sistemático de llevar a cabo una
simulación. Un estudio de simulación normalmente se compone de varias etapas distintas. Estos se presentan en la Figura 21.
Sin embargo, no todos los estudios de simulación se componen de todas estas etapas o siguen el orden indicado aquí. Por otra
parte, incluso puede haber un considerable solapamiento entre algunas de estas etapas.

La etapa inicial de cualquier estudio científico, que incluye un proyecto de simulación, requiere una explícita declaración
de los objetivos de El estudio. Esto debe incluir las preguntas a responder, la hipótesis a comprobar, y las
alternativas a tener en cuenta. Sin una clara comprensión y descripción del problema, las posibilidades de
realización y aplicación exitosa se reducen en gran medida. También en este paso, se abordan cuestiones tales
como la

1184 CAPÍTULO 2 1 Simulación


Formular el problema

desarrollar

un modelo

Informatizar el modelo

verificado NO
?

NO
validado
?

Diseño del experimento

corridas de simulación

Analizar los datos de salida

simulación NO
completa
? Recopilar datos y

FIGURA 21 SÍ Realizar

Pasos en una simulación


Documentar e implementar carreras
Estudiar

criterios de rendimiento, los parámetros del modelo, y la identi fi cación y de fi nición de las variables de estado. Es, por
supuesto, es muy probable que la formulación inicial del problema será sometido a muchas modificaciones a medida que
avanza el estudio y al aprender más acerca de la situación que se está estudiando. Sin embargo, una declaración inicial
clara de los objetivos es esencial.
La siguiente etapa es la desarrollo del modelo y la Conjunto de datos. El desarrollo del modelo es probablemente el más
fi cil DIF y parte crítica de un estudio de simulación. A continuación, tratamos de representar las características esenciales de
los sistemas objeto de estudio por relaciones matemáticas o lógicas. Hay pocas reglas fi rm para guiar un analista sobre
cómo ir sobre este proceso. En muchos sentidos, esto es tanto un arte como una ciencia. Sin embargo, la mayoría de los
expertos coinciden en que el mejor enfoque es comenzar con un modelo sencillo y que sea más detallado y complejo como
uno aprende más sobre el sistema.

Después de haber desarrollado el modelo, el próximo ponemos en una forma en la que se puede analizar en el equipo. Esto
implica generalmente el desarrollo de un programa de ordenador para el modelo. Uno

2 1. 9 El proceso de simulación 1185


de las decisiones clave aquí es la elección de la lengua. Como se señaló anteriormente, los lenguajes de programación para fines
especiales requieren menos de los idiomas de uso general, pero son menos flexibles y tienden a requerir tiempos más largos de
funcionamiento del ordenador. En cualquier caso, es probable que sea un proceso que consume tiempo la parte de programación
del estudio, ya que los programas de simulación tienden a ser largo y complejo. Una vez que el programa ha sido desarrollado y
depurado, se determina si el programa está funcionando correctamente. En otras palabras, está haciendo el programa de lo que se
supone que haga? Este proceso se denomina la verificación paso y suele ser difícil, ya que para la mayoría de las simulaciones, no
vamos a tener ningún resultado con el que comparar el contenido de la computadora.

Si estamos satisfechos con el programa, ahora nos movemos a la validación escenario. Esta es otra parte
fundamental de un estudio de simulación. En este paso, que validar el modelo para determinar si realista
representa el sistema que está siendo analizado y si los resultados del modelo será fiable. Al igual que con la
etapa de fiscalización, este es generalmente un proceso culto di fi. Cada modelo presenta un reto diferente.
Sin embargo, hay algunas pautas generales que se pueden seguir. Para más información sobre estos
procedimientos, consulte la Ley y Kelton (1991) o Shannon (1979). Si estamos satisfechas en esta etapa con
el funcionamiento del modelo, podemos usar el modelo para llevar a cabo los experimentos para responder a
las preguntas en la mano. Los datos generados por los experimentos de simulación ha de ser recogida, el
tratamiento, y se analizaron. Los resultados se analizan no sólo como la solución para el modelo, sino
también en términos de fiabilidad estadística y validez. Finalmente,

El énfasis principal en este capítulo ha estado en procedimientos de muestreo y la construcción del modelo. Como
resultado, muchos de los temas del proceso de simulación o bien no están cubiertos o tratados solamente brevemente. Sin
embargo, estos son temas importantes en la simulación, y el lector interesado en el uso de simulación deben consultar
Derecho y Kelton (1991), Shannon (1979), Bancos y Carson (1984), o Ross (1996).

RESUMEN Introducción a la Simulación

Simulación puede ser definido como una técnica que imita el funcionamiento de un sistema en el mundo real a medida que evoluciona
durante un período de tiempo. Hay dos tipos de modelos de simulación: estático y dinámico. UN modelo de simulación estática representa
un sistema en un punto particular en el tiempo. UN modelo de simulación dinámica representa un sistema a medida que evoluciona
con el tiempo. Las simulaciones pueden ser deterministas o estocásticos. UN simulación determinista no contiene variables
aleatorias, mientras que una simulación estocástica contiene uno o más variables aleatorias. Finalmente, las simulaciones pueden
ser representados por cualquiera de modelos discretos o continuos. UN simulación discreta es una en la que las variables de estado
cambian sólo en puntos discretos en el tiempo. en un simulación continua, las variables de estado cambian continuamente con el
tiempo. En este capítulo, hemos tratado sólo con los modelos estocásticos discretos. Dichos modelos se denominan modelos de
simulación de eventos discretos.

El proceso de simulación

El proceso de simulación consta de varias etapas distintas. Cada estudio puede ser algo diferente, pero en
general, se utiliza la siguiente estructura:

1 Formular el problema.

2 Recopilar datos y desarrollar un modelo.

3 Informatizar el modelo.

1186 CAPÍTULO 2 1 Simulación


4 Verificar el modelo.

5 Validar el modelo de simulación.

6 Diseño del experimento.

7 Realizar las corridas de simulación.

8 Documentar e implementar.

La generación de variables aleatorias

Las variables aleatorias se representan utilizando distribuciones de probabilidad. El procedimiento para la generación de
variables aleatorias de las distribuciones de probabilidad dada se conoce como la generación de valor aleatorio o muestreo
Monte Carlo. El principio de muestreo se basa en la interpretación de frecuencia de la probabilidad y requiere un flujo
constante de números aleatorios. Generamos números aleatorios para este procedimiento utilizando métodos congruentes. El
más comúnmente utilizado de los métodos congruential es el método de congruencia lineal. Los números aleatorios
generados a partir de un generador de congruencia lineal utilizan la siguiente relación:

X yo 1 ( hacha yo do) módulo metro ( yo 0, 1, 2,. . .)

Esto nos da el resto de la división de ( hacha yo do) por metro. Los números aleatorios son
entregado usando la relación

R yo ( yo 1, 2, 3,. . .)
mx yo

Para distribuciones discretas, muestreo Monte Carlo se consigue mediante la asignación de rangos de números aleatorios de
acuerdo con las probabilidades en la distribución. Para las distribuciones continuas, generamos variables aleatorias
aleatorios usando uno de varios algoritmos, incluyendo la método de transformación inversa y el Procedimiento de
aceptación-rechazo. El método de transformación inversa requiere un cdf en forma cerrada y consta de los siguientes
pasos.

Paso 1 Dada una función de densidad de probabilidad f (x), el desarrollo de la función de distribución acumulada como

F (x) f (t) dt

Paso 2 Generar un número aleatorio r.

Paso 3 Conjunto F (x) r y resolver para X. La variable X es entonces una variable aleatoria de la
cuya distribución está dada por pdf f (x).

El método de aceptación-rechazo requiere el pdf a ser definido en un intervalo finito. Por lo tanto, dada una función de
densidad de probabilidad f (x) durante el intervalo de un X segundo, ejecutamos
el algoritmo de aceptación-rechazo de la siguiente manera.

Paso 1 Seleccionar una constante METRO de tal manera que METRO es el mayor valor de f (x) en el intervalo [ a, b].

Paso 2 Generar dos números al azar, r 1 y r 2.

Paso 3 Calcular x * a ( segundo Arkansas 1.

Etapa 4 Evaluar la función f (x) en el punto X*. Que este sea f (x *).
f (M x *) , entregar X* como un valor aleatorio. De lo contrario, rechazar X* y volver a
Paso 5 Si r 2

paso 2.

Resumen 1187
Entre estos dos métodos, es posible generar variables aleatorias al azar de la casi totalidad de las distribuciones de uso
común. La única excepción es la distribución normal. Para la distribución normal, generamos variables aleatorias aleatorios
directamente mediante la transformación de los números aleatorios r 1 y r 2 en variables normales estandarizadas, Z 1 y Z 2, usando
las relaciones

Z1 (2 ln r 1) media sen 2 pag r 2

Z2 (2 ln r 1) media 2 cos pag r 2

Tipos de simulaciones

En las simulaciones de eventos discretos, por lo general, simulamos usando el enfoque de tiempo anticipada al siguiente evento. En
este procedimiento, la simulación evoluciona con el tiempo mediante la actualización del reloj a la siguiente evento programado y
tomando las acciones necesarias para cada caso. Los eventos están programados mediante la generación de variables aleatorias
aleatorios a partir de distribuciones de probabilidad. Los datos de una simulación pueden ser analizados usando un método de
simulación de terminación o un enfoque de simulación estacionario. En la terminación de las simulaciones, hacemos norte repeticiones
independientes del modelo, utilizando las mismas condiciones iniciales, pero se ejecutan cada réplica con una secuencia diferente de
números aleatorios. Si la medida del rendimiento está representado por la variable X, este enfoque nos da los estimadores X 1, X 2, . . . , X norte desde
el norte repeticiones. Estos estimadores se utilizan para desarrollar un 100 (1 un)% con fi intervalo de confianza como

2
Sn
X t ( un/ 2, norte 1)

para un valor fijo de norte.


Simulación nos da la flexibilidad para estudiar los sistemas que son demasiado complejos para los métodos analíticos. Sin
embargo, se debe poner en la perspectiva correcta. Los modelos de simulación son lentos y costosos de construir y ejecutar.
Además, los resultados pueden no ser muy precisa y son a menudo difíciles de validar. La simulación puede ser una herramienta
poderosa, pero sólo si se utiliza correctamente.

REVIEWPROBLEMS
Grupo A
1 Utilice el generador de congruencia lineal para obtener una secuencia de 10 MESA dieciséis

números aleatorios, dado que un 17, do 43,


La demanda por Día Probabilidad
metro 100, y X 0 31.

2 Un vendedor de noticias venden periódicos y trata de maximizar las utilidades. El 30 . 05

número de artículos vendidos cada día es una variable aleatoria. Sin embargo, el 31 . 15
análisis de los datos del pasado mes muestra la distribución de la demanda diaria en la 32 . 22
Tabla 16. Un artículo cuesta el vendedor 20 ¢. El vendedor vende el papel por 30 ¢.
33 . 38
Cualquier documento no vendidos se devuelven a la editorial para un crédito de 10 ¢.
34 . 14
Cualquier demanda insatisfecha fi cado se estima que costará 10 ¢ en la buena
voluntad y perdió fi nes. Si la política es ordenar una cantidad igual a la demanda del 35 . 06

día anterior, determinar el promedio diario fi nes del proveedor de noticias mediante la
simulación de este sistema. Suponga que la demanda de día 0 es igual a 32.

igual probabilidad, 0.1, de aparecer. Los no-shows están representados por la


distribución en la Tabla 17. Desarrollar un modelo de simulación de encontrar
3 Un hotel de aeropuerto dispone de 100 habitaciones. En una noche cualquiera, se
las siguientes medidas de rendimiento de este sistema de reserva: el número
tarda hasta 105 reservas, debido a la posibilidad de que no se presenta. Los registros
esperado de habitaciones utilizadas por noche y el porcentaje de noches cuando
anteriores indican que el número de reservas diarias se distribuye uniformemente
más de 100 habitaciones son reclamados.
sobre el intervalo entero [96, 105]. Es decir, cada número entero en este rango tiene
una

1188 CAPÍTULO 2 1 Simulación


MESA 17 MESA 18 MESA 21 MESA 22

Número de Entre llegadas Longitud de la La demanda


No-Shows Probabilidad Tiempo (minutos) Probabilidad cita (minutos) diaria (unidades) Probabilidad
Probabilidad
0 . 10 1 . 20 12 . 05
24 . 10
1 . 20 2 . 25 13 . 15
27 . 20
2 . 25 3 . 40 14 . 25
30 . 40
3 . 30 4 . 10 15 . 35
33 . 15
4 . 10 5 . 05 dieciséis . 15
36 . 10
5 . 05 17 . 05
39 . 05

4 La biblioteca de la universidad tiene una máquina de copia para los estudiantes a


utilizar. Los estudiantes llegan a la máquina con la distribución de los tiempos entre distribución en la Tabla 21. Desarrollar un modelo de simulación para calcular la
llegadas se muestran en la Tabla 18. El tiempo para hacer una copia se distribuye duración media de los días del médico.
uniformemente sobre el intervalo [16, 25] segundos. El análisis de los datos del pasado
ha demostrado que el número de copias de un estudiante hace durante una visita tiene
grupo B
la distribución en la Tabla 19. El bibliotecario siente que con el sistema actual, las líneas
de frente de la máquina copiadora son demasiado largos y que el tiempo que un 7 Supongamos que estamos considerando la selección del punto de pedido, R, de un ( Q,
estudiante gasta en el sistema (tiempo de espera R) política de inventario. Con esta política, nos orden hasta Q cuando el nivel de
inventario cae R o menos. La distribución de probabilidad de la demanda diaria se dan
tiempo de servicio) es excesivo. Desarrollar un en la Tabla 22. El plazo de ejecución es también una variable aleatoria y tiene la
modelo de simulación para estimar la longitud media de la línea de espera y distribución en la Tabla 23. Se supone que el “orden hasta la” cantidad para cada orden
el tiempo de espera se espera en el sistema. se mantiene igual a 100. Nuestro interés aquí es determinar el valor de la punto de
pedido, R, que minimice el costo total del inventario variable. Este costo variable es la
5 Un vendedor en una gran tienda de bicicletas se paga una bonificación si vende más
suma del costo esperado en libros de inventario, el costo esperado de pedidos, y el
de 4 bicicletas al día. La probabilidad de la venta de más de 4 bicicletas un día sólo
costo de desabastecimiento esperado. Todos los desabastecimientos son atrasados.
0,40. Si el número de bicicletas vendidas es mayor que 4, la distribución de ventas es
Es decir, que un cliente espera hasta que un artículo está disponible. costo de la
como se muestra en la Tabla 20. La tienda tiene cuatro modelos diferentes de
realización del inventario se estima en 20 ¢ / unidad / día y se cobra sobre las unidades
bicicletas. El importe de la bonificación pagada variará según el tipo. La ventaja para el
en inventario al final de un día. A falta de existencias cuesta $ 1 por cada unidad de
modelo A es de $ 10; 40% de las bicicletas vendidas son de este tipo. Modelo B
corta. El costo de hacer el pedido es de $ 10 por pedido. Pedidos llegan al comienzo de
representa el 35% de las ventas y paga un bono de 15 $. Modelo C tiene una
un día. Desarrollar un modelo de simulación para simular este sistema de inventario de
calificación de bono de $ 20 y constituye el 20% de las ventas. Por último, el modelo D
encontrar el mejor valor de R.
paga una bonificación de $ 25 por cada venta, pero representa sólo el 5% de las
ventas. Desarrollar un modelo de simulación para calcular la bonificación de un
vendedor puede esperar en un día.

8 Un concesionario de coches grandes en Bloomington, Indiana, emplea a cinco


vendedores. Todos los vendedores trabajan a comisión; se les paga un porcentaje de las
6 Un corazón horarios especializadas 16 pacientes al día, 1 cada 30 minutos,
utilidades de los coches que venden. El concesionario tiene tres tipos de coches de lujo,
comenzando a las 9 A.M Se espera que los pacientes a llegar a sus citas a las
de tamaño mediano, y el subcompacto. Datos de los últimos años muestran que las
horas programadas. Sin embargo, la experiencia demuestra que el 10% de
ventas de automóviles por semana por cada vendedor tiene la distribución en la tabla
todos los pacientes llegue 15 minutos antes, el 25% llega 5 minutos antes, el
50% llega exactamente a la hora, el 10% llega 10 minutos tarde, y el 5% llega 15
24. Si el coche se vende es un subcompacto, un vendedor se le da una comisión de $
minutos tarde. El tiempo que el especialista pasa con un paciente varía,
250. Para un coche de tamaño mediano, la comisión es o bien $ 400 o $ 500,
dependiendo del tipo de problema. El análisis de los datos del pasado muestra
dependiendo del modelo vendido. Sobre el
que la longitud de una cita tiene el

MESA 24

MESA 19
Nº de coches
MESA 20 MESA 23 vendidos Probabilidad
Número de
copias Probabilidad
Nº de bicicletas Tiempo de 0 . 10
vendidas Probabilidad entrega (días) Probabilidad
6 . 20 1 . 15

7 . 25 5 . 35 1 . 20 2 . 20

8 . 35 6 . 45 2 . 30 3 . 25

9 . 15 7 . 15 3 . 35 4 . 20

10 . 05 8 . 05 4 . 15 5 . 10

Problemas de repaso 1189


MESA 25 MESA 26 servido. Cada cajero sirve a la misma velocidad de servicio. tiempos de servicio
se distribuyen de manera uniforme sobre el intervalo [3, 5]. Desarrollar un modelo
Tipo de coche Longitud Probabilidad
de simulación de encontrar las siguientes medidas de rendimiento para este
vendido Probabilidad de Queue ( q) de incumplir
sistema: (1) el tiempo esperado pasa un cliente en el sistema, (2) el porcentaje
subcompacto . 40 6q8 . 20 de clientes que renegar, y (3) el porcentaje de tiempo de inactividad para cada

Tamaño medio . 35 9 q 10 . 40 cajero .

Lujo . 25 11 q 14 . 60

q 14 . 80 10 Empleo llegan a un taller, que tiene dos centros de trabajo (A y B) en serie, a un ritmo
exponencial de 5 por hora. Cada trabajo requiere procesamiento en estos dos centros
de trabajo, primero en una y luego en B. Empleo espera de ser procesados ​en cada
centro puede esperar en la cola; la línea de frente de centro de trabajo tiene un espacio
ilimitado, y la línea de frente de centro B tiene espacio para sólo 4 puestos de trabajo a
la vez. Si este espacio alcanza su capacidad, los trabajos no pueden dejar A. centro En
coches de tamaño medio, una comisión de $ 400 se pagarán el 40% del tiempo, otras palabras, el centro de A detiene el proceso hasta que haya espacio disponible en
y $ 500 se paga el otro 60% del tiempo. Para un coche de lujo, la comisión se la parte delantera de
paga en función de tres tasas diferentes: $ 1.000 con una probabilidad del 35%,
$ 1,500 con una probabilidad del 40%, y $ 2.000 con una probabilidad del 25%. B. El tiempo de procesamiento para un trabajo en el centro de A se distribuye de manera
Si la distribución del tipo de coches vendidos es como se muestra en la Tabla uniforme sobre el intervalo [6, 10]. El tiempo de procesamiento para un trabajo en el
25, ¿cuál es la comisión media de un vendedor en una semana? centro de B está representado por la siguiente distribución triangular:

X
14(
1) 1 X 3
9 Considere un banco con 4 cajeros. Los clientes llegan a una tasa exponencial de 60 f (x) 14( 5
X) 3 X 5
por hora. Un cliente va directamente al servicio si un cajero está inactivo. De lo
contrario, la llegada se une a una línea de espera. Sólo hay una línea de espera para Desarrollar un modelo de simulación de este sistema para determinar las siguientes
todos los escrutadores. Si un fi llegada NDS la línea demasiado tiempo, él o ella puede medidas de rendimiento: (1) el número previsto de puestos de trabajo en el taller en
decidir abandonar inmediatamente (no cumplir). La probabilidad de que un cliente un momento dado, (2) el porcentaje de centro de tiempo A se cerró debido a la
renegar se muestra en la Tabla 26. Si un cliente se une a la línea de espera, se supone escasez de hacer cola espacio en el delante del centro de B, y (3) el tiempo de
que él o ella permanecerá en el sistema hasta finalización prevista de un puesto de trabajo.

Referencias
Hay varios libros en circulación en la simulación. Para un libro que Pritsker, A. El GASP IV Simulación Idioma. Nueva York:
comienza, se recomienda Watson (1981); para un enfoque intermedio, Wiley, 1974. Pritsker, A., y C. Pegden. Introducción a la simulación
bancos y Carson (1984); y para un tratamiento más avanzado, Derecho y y
Kelton (1991). GOLPE. Nueva York: Wiley, 1979. Ross, S. Simulación. San
Francisco: Academic Press, 1996. Schmidt, JW, y RE Taylor. Simulación
Banks, J., y J. Carson. Sistema de simulación de eventos discretos. y Análisis de
Englewood Cliffs, NJ: Prentice Hall, 1984. Box, G. y M. Müller. “Una Sistemas industriales. Homewood, Illinois .: Irwin, 1970. Schriber, T. El uso de
nota sobre la Generación del ran- la simulación GPSS. Nueva York: Wiley, 1974. Shannon, RE Simulación de
dom normal Deviates” Annals of Mathematical Statistics 29 (1958): Sistemas: El arte y la ciencia.
610-611. Fishman, G. Principios de simulación de eventos discretos. Nuevo Englewood Cliffs, NJ: Prentice Hall, 1979. Watson, H. Simulación por
ordenador en los negocios. Nueva York:
York: Wiley, 1978. Fishman, G. Monte Carlo: Conceptos, Wiley, 1981.
algoritmos y apli-
cationes. Berlin: Springer-Verlag, 1996. Kelton, D., Sadowski, R., y Kelly, J. “Una nueva interpretación de la información sobre tarifas,” Campana
Sadowski, S. simulación con Technical Journal System 35 (1956): 917-926. Marcus, A. “El Magellan
Arena. Nueva York: McGraw-Hill, 2001. Knuth, DW The Art of Fund y el mercado de e fi ciencia”
Computer Programming: II. Semi- Diario de Gestión de Cartera Fall (1990): 85-88. Morrison, D., y
Los algoritmos numéricos. Lectura, Mass .: Addison-Wesley, R. Trigo. “Tirando del portero Revisited”
1998. Interfaces 16 (sin 6, 1984.): 28-34.
Ley, AM, y W. Kelton. Simulación Modelado y aná-
sis. Nueva York: McGraw-Hill, 1991.

1190 CAPÍTULO 2 1 Simulación

You might also like