6.

SIMULACION DE FENOMENOS DE ESPERA


1 Introducción

Las líneas de espera son fenómenos muy comunes y que se observan en diversas actividades: la gente que va a un
banco a cambiar un cheque, los clientes que van a pagar la mercancía que han comprado, las órdenes que llegan
para ser procesadas a través de deferentes procesos, los conductores que llegan a una estación de servicio para
tanguear sus autos, etc..

Para que exista una cola sólo se requiere que las llegadas y/o los servicios ocurran a intervalos irregulares.

El proceso básico que se asume al formular un modelo de colas es el siguiente: Las unidades que requieren servicio
llegan al sistema. Estas unidades entran al sistema y se unen a la "cola". En ciertos puntos en el tiempo, un
elemento de la cola es seleccionado para recibir servicio, mediante alguna regla conocida como "la disciplina de la
cola". Luego el “mecanismo de servicio" del sistema realiza a la unidad escogida el servicio requerido. La figura 6.1
representa esquemáticamente un proceso de espera.









Fuente Centro de espera Centro de servicio

Figura 6.1 Un sistema de colas.

El gráfico representa un sistema que consta de:

• Un centro de servicio con tres estaciones
• Una cola que alimenta las tres estaciones
• Dos fuentes suministradoras de clientes
• El flujo entre la fuente y la facilidad de servicio marca el proceso de llegadas.

1.1 Características de los sistemas de colas

Un sistema de espera tiene cuatro características: el proceso de llegadas, el mecanismo de servicio, la disciplina de
la cola y el número de colas.

1.1.1 El proceso de llegadas

El proceso de la demanda de servicios es, en general, un proceso estocástico y se describe en términos de la
distribución de probabilidad del intervalo entre llegadas. Los factores que se necesitan para especificar el proceso de
llegadas son:

• La fuente de llegadas
• El tipo de llegadas
• Los tiempos entre llegadas.

Algunos tipos de llegadas pueden ser:

a) Llegadas poisonianas, según las cuales el número de clientes que llegan a requerir servicio es un proceso de
Poisson, o equivalentemente, el tiempo entre llegadas de clientes sucesivos es exponencial.
b) Llegadas regulares, a intervalos constantes.
c) Llegadas en grupo.
d) Llegadas regulares con impuntualidad.
e) Llegadas en tiempos discretos.
Fuente 1
Fuente 2
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 2

f) Llegadas no estacionarias. Se presenta cuando la tasa de llegada no es constante, sino que depende del
instante de tiempo considerado
g) Llegadas que siguen una distribución general.
h) Otros aspectos relacionados con las llegadas son:
• Los clientes se desaniman según el tamaño de la cola.
• La fuente generadora de clientes puede ser infinita, y las llegadas suelen ser independientes del tamaño de
la fuente.
• La fuente puede ser finita y las llegadas dependen del número actual de individuos en la fuente.
• Pueden llegar diferentes clases de clientes.

Es frecuente encontrar situaciones reales en que las llegadas no son estacionarias, pero se puede admitir que la
tasa de llegada sea constante durante el intervalo de tiempo que sirve de base para estudiar el proceso de colas.
Desde el punto de vista de la simulación no es necesario suponer que la tasa de llegadas sea estacionaria.

1.1.2 El mecanismo de servicio

Las principales características del mecanismo de servicio son:

a) Número de estaciones de servicio y configuración de las mismas (serie o paralelo).
b) Número de clientes que pueden ser atendidos en un instante cualquiera.
c) La duración del servicio. La duración de un servicio es, en general, una variable aleatoria y se especifica de
acuerdo con una distribución de probabilidad. Los tipos de servicio más comunes son:
• Distribución exponencial.
• Distribución erlang
• Distribución gama
• Servicio constante
• Tiempo de servicio correlacionado con otros aspectos del sistema. Por ejemplo: servicio acelerado de
acuerdo al número de personas que haya esperando.

Desde el punto de vista de la simulación, el servicio puede seguir cualquier distribución.

1.1.3 La disciplina de la cola

La disciplina de espera es el conjunto de reglas que especifican el orden de atención a las unidades. Los casos más
comunes pueden ser:

a) Disciplina FIFO o PEPS (Primeros el entrar, primero en salir). La primera unidad que llega, será la primera en
ser atendida. Es el caso más general de selección de la unidad que pasa al servicio.
b) Disciplina LIFO o UEPS (Últimos en entrar, primeros en salir). Los últimos clientes en llegar, serán los primeros
en ser atendidos.
c) Selección aleatoria de la unidad a ser atendida.
d) Selección de acuerdo con la importancia del cliente, es decir, de acuerdo con la prioridad del cliente.

1.1.4 El número de colas

Cuando las estaciones de servicio están organizadas en serie, en general existe una cola en frente de cada
estación. Cuando las estaciones de servicio están organizadas en paralelo, puede existir una cola para cada
estación o puede existir una sola cola que alimente todas las estaciones. Además, el tamaño de cada una de las
colas puede ser diferente.

1.2 Objetivos

El objetivo que se persigue al estudiar un sistema de colas puede ser muy variado. Generalmente se pretende
definir cual debe ser la mejor configuración de tal forma que se minimice el costo de operación del sistema, o cual
puede ser el costo de operación para una configuración dada. Entre las diferentes medidas que se pueden obtener
para analizar el comportamiento de un sistema de colas están las siguientes:

a) Tiempo medio que una unidad permanece en el sistema y la distribución de frecuencia del tiempo de
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 3

permanencia en el sistema.
b) Utilización de las estaciones de servicio.
c) Número medio de unidades en el sistema y distribución del número de unidades del sistema.
d) Tiempo medio que permanece una unidad en cada una de las colas y su distribución.
e) Número medio de unidades en cada una de las colas y su distribución.
f) Tiempo de inactividad de las estaciones de servicio, o porcentaje de utilización

Los fenómenos de espera pueden estudiarse analíticamente o mediante la simulación. Sin embargo, sólo existen
soluciones analíticas para unos casos particulares, generalmente cuando las llegadas y los servicios son
exponenciales, y el sistema no es muy complejo. La simulación, por el contrario puede usarse para resolver
cualquier problema de colas, por complejo que sea, no importa cual sea la distribución del tiempo entre llegadas y
del tiempo de servicio.

1.3 Variables que deben considerarse al formular un modelo de colas

En todo modelo hay tres tipos de variables que deben considerarse: Variables exógenas, de estado y endógenas.
Con relación a los modelos de colas, cada una de estas categorías puede incluir las siguientes variables

a) Variables exógenas o de entrada al sistema: Entre estas variables se encuentran las siguientes:
• Tiempo entre llegadas al sistema.
• Tiempo de servicio en las diferentes estaciones.
• Prioridad de los clientes
• Número de estaciones de servicio
• Tasa de llegada de clientes al sistema
• Tasa de servicio de las diferentes estaciones o servidores
• Costos de prestación del servicio por unida de tiempo
• Costo de espera o de inactividad por cliente

b. Variables de estado:
• Tiempo que una orden cualquiera permanece en una cola.
• Tiempo que una estación esta inactiva, esperando la llegada de una -
• orden.
• Número de unidades en el sistema en cualquier instante.
• Número de unidades en la cada cola.
• Número de estaciones inactivas en cualquier instante.
• Número de órdenes recibiendo servicio en un instante cualquiera.
• Tiempo de permanencia de un cliente en el sistema

c. Variables endógenas:
• Número medio unidades en el sistema.
• Número medio de unidades en cada una de las colas.
• Número medio de unidades recibiendo servicio.
• Número medio de estaciones inactivas.
• Tiempo medio que una unidad permanece en el sistema.
• Tiempo medio que una unidad permanece en cada una de las colas.

2 Modelo de simulación. Características a tener en cuenta

Cuando el sistema de colas va a ser estudiado mediante la simulación es necesario identificar las entidades del
sistema con sus atributos, las actividades y los eventos.

Las entidades básicas que se encuentran en los modelos de colas fueron descritas brevemente al principio de este
capítulo e incluyen las unidades o clientes que requieren servicio, la(s) facilidad(es) que presta(n) el servicio y la(s)
cola(s) para las unidades que esperan ser atendidas. A continuación se hace un análisis somero de las anteriores
entidades, en el cual se repite algo analizado previamente, pero el análisis estará orientado hacia las necesidades
de la simulación.

2.1 Las unidades (clientes)
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 4


Las entidades que llegan al sistema de colas (llamadas unidades, órdenes, trabajos o clientes) poseen ciertas
características que afectan al sistema de algún modo. Estas características pueden ser:

• Distribución de las llegadas o del tiempo entre llegadas. Es generalmente un proceso estocástico que gobierna
el número de llegadas al sistema.
• Prioridad. Es alguna medida relativa del valor o importancia que tiene una unidad para el sistema, comparada
con las otras unidades. Generalmente indica que tan rápido se va a mover una unidad a lo largo del sistema.
• Impaciencia. Este factor indica cuanto tiempo puede permanecer una unidad en el sistema sin ser atendida. La
impaciencia puede describirse mediante las siguientes condiciones (i) Cuando una unidad rehúsa entrar a la
cola porque es muy larga, (ii) cuando una unidad deja la cola después de esperar cierto período de tiempo y (iii)
cuando una unidad deja una cola para pasar a otra.
• Otra característica que pueden tener las unidades es el tiempo que se van a gastar en la facilidad de servicio o
tiempo de procesamiento (por ejemplo, órdenes de producción). Sin embargo, en la mayoría de los sistemas de
colas este tiempo depende directamente de la facilidad de servicio.
• Llegadas en lotes, cuando una llegada al sistema puede consistir de varias unidades.

2.2 Facilidad de servicio

La facilidad que sirve para atender las unidades puede tener varias características de interés.

• El proceso de servicio, esto es, la distribución de la duración de los servicios. Generalmente es un proceso
estocástico cuya variación es inherente a la facilidad. Comúnmente se asignan los valores a los tiempos de
servicio a medida que las unidades llegan a la facilidad, aunque puede suceder que estos tiempos se asignen
cuando las unidades entran al sistema (órdenes de producción).
• Configuración del sistema. Cuando existen varias estaciones para prestar servicio, éstas pueden estar en
paralelo (cuando todas prestan el mismo servicio, y una unidad pasa solamente por una estación) o en serie
(cuando una unidad debe pasar por todas las estaciones) o puede haber una combinación serie paralelo.
• Disciplina del servicio. Esta característica indica si se puede o no interrumpir un servicio una vez este ha
comenzado. Esta disciplina esta íntimamente ligada con la prioridad o importancia de las unidades, o con la
necesidad del servicio de las unidades. Las unidades de mayor prioridad pueden exigir que la facilidad detenga
su proceso actual para atenderlas.
• El sistema puede atender también en lotes a varias unidades simultáneamente.

2.3 La cola

La línea de espera puede tener las siguientes características:

• Longitud. Es decir, el número máximo de unidades que pueden esperar en frente de una estación.
• Número de colas. Cuando hay varias estaciones en paralelo puede existir una cola única que alimente todas las
estaciones o puede existir una cola para cada estación. Además, en este último caso, cada unidad que llega
puede escoger la cola en la cual esperará - la más corta, la más rápida, etc. Cuando las estaciones que prestan
el servicio están ordenadas en serie, debe existir una cola para cada estación.
• La disciplina de la cola, la cual indica el método de ordenar las unidades en la cola y escoger la próxima que va
a ser atendida. Existen varias posibilidades para escoger la disciplina de la cola De acuerdo al orden de llegada,
o la que tenga la menor fecha de entrega, la que vaya a permanecer el tiempo mínimo en el servicio o hacer la
selección en forma aleatoria.

A continuación se analizan diferentes modelos que son útiles para simular los fenómenos de espera: Un sistema de
varas estaciones en paralelo y de estaciones en serie.

3 Sistema de colas con varias estaciones de servicio en paralelo

La figura 6.2 ilustra esquemáticamente un sistema de colas cuando existen varias estaciones idénticas que prestan
el mismo servicio. Las unidades llegan al sistema, por lo general en forma aleatoria, entran si hay espacio
disponible, esperan en una cola, si es del caso, antes de recibir el servicio, luego pasan al servicio y finalmente
abandonan el sistema. Por lo general el tiempo de llegada y el tiempo de servicio son aleatorios. Si cuando el cliente
llega hay una estación vacía o inactiva, pasa inmediatamente al servicio y es atendida, en caso contrario la unidad
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 5

que llega se coloca en la cola y espera mientras llega su turno para ser atendida. Cuando una estación o servidor
finaliza un servicio, y hay varias unidades esperando ser atendidas, la elección de la próxima unidad que va a recibir
servicio puede realizarse de varias maneras, de acuerdo al orden de llegada, es decir, los primeros que llegan
pueden ser los primeros en salir, o también puede usarse alguna otra disciplina, como la prioridad o la selección
aleatoria.










Llegada Línea de espera Centro de servicio

Figura 6.2 Un sistema de estaciones en paralelo


El tiempo entre llegadas y el tiempo de servicio pueden seguir una distribución cualquiera, no necesariamente la
distribución exponencial.

El análisis de la simulación puede realizarse siguiendo el enfoque de flujo, o el enfoque de cambios de estado.
Aunque en lo que resta de este capítulo usaremos siempre el enfoque de cambios de estado o por eventos, en la
sección siguiente se presenta el diagrama de un sistema de colas de una estación usando la metodología del
enfoque de flujo. Dentro del enfoque por eventos, se puede usar la simulación con el avance del tiempo unidad por
unidad (en forma discreta) o con el avance por eventos, avanzado siempre al tiempo de próximo evento.

3.1 Sistema de una cola usando el enfoque de flujo

El diagrama de la página siguiente presenta la simulación de un sistema de colas de un servidor usando el enfoque
de flujo. La entidad que fluye a lo largo del sistema es el “cliente”, quien sigue básicamente el siguiente recorrido:

Legada del cliente ⇒ Paso a la cola ⇒ Paso al servicio ⇒ Salida

En el cuadro que sigue se presenta la simulación, usando la hoja de cálculo excel, de los 20 primeros clientes del
sistema de colas que tiene las siguientes características:

• Distribución de tiempo entre llegadas (minutos):

Tiempo entre llegadas 1 2 3 4 5 6 7 8
Probabilidad 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125

• Distribución del tiempo de servicio (minutos):

Tiempo de servicio 1 2 3 4 5 6
Probabilidad 0.10 0.20 0.30 0.25 0.10 0.05

• Primer cliente llega en el tiempo cero

Las columnas usadas, su contenido y forma de cálculo se presentan en la siguiente tabla:

k
2
1
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 6



























































Diagrama de flujo para a simulación de un sistema de colas con un servidor. Enfoque del flujo

Calcula tiempo de permanencia en el sistema
Cálculo de estadísticas
Inicio
Definición de parámetros
Reloj = 0
Incialización registros = 0
Para i = 1, nro clientes
Genera tiempo
entre llegadas
Calcula tiempo de llegada
Calcula tiempo de inicio de servicio
Calcula tiempo de espera
Genera tiempo
de servicio
Calcula tiempo de inactividad del servidor
Calcula tiempo de fin de servicio
Siguiente cliente
Fin
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 7


Sistema de colas de una estación. Diseño de la simulación en excel

Columna Contenido Cálculo para la fila i Observaciones
A Número del cliente (i) = (i-1) + 1 Inicia en 1
B Número aleatorio =aleatorio()
C Tiempo entre llegadas Según distribución
D Tiempo de llegada del cliente D(i-1)+C(i) D(1) = 0
E Tiempo de inicio de servicio Max(D(i), I(i-1)
F Tiempo de espera E(i) – D(i)
G Número aleatorio =aleatorio()
H Tiempo de servicio Según distribución
I Tiempo de fin de servicio E(i) + H(i)
J Tiempo de permanencia en el sistema I(i) – D(i)
K Tiempo de inactividad del servidor E(i) – I(i-1)

En la parte final de la tabla se presentan las principales estadísticas de la simulación, las cuales son
obtenidas, unas a partir de la propia simulación y otras a partir de relaciones que siempre se cumplen en
los diferentes sistemas de colas, usando las fórmulas de Little (número medio de unidades en el sistema,
en la cola y en servicio):

B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 8


Simulación de un modelo de colas de un solo canal
Cliente
número
R
Tiempo
próxima
llegada
Tiemp de
llegada
Tiempo
inicio
servicio
Tiempo
de
espera
R
Tiempo
de
servicio
Tiempo
fin de
servicio
Tiempo
en el
sistema
Tiempo
ocioso
cajero
( A ) ( B ) ( C ) ( D ) ( E ) ( F ) ( G ) ( H ) ( I ) ( J ) ( K )
1 0 0 0 0 0.101 2 2 2 0
2 0.853 7 7 7 0 0.706 4 11 4 5
3 0.208 2 9 11 2 0.541 3 14 5 0
4 0.945 8 17 17 0 0.649 4 21 4 3
5 0.030 1 18 21 3 0.092 1 22 4 0
6 0.064 1 19 22 3 0.072 1 23 4 0
7 0.984 8 27 27 0 0.796 4 31 4 4
8 0.603 5 32 32 0 0.213 2 34 2 1
9 0.852 7 39 39 0 0.819 4 43 4 5
10 0.302 3 42 43 1 0.035 1 44 2 0
11 0.981 8 50 50 0 0.755 4 54 4 6
12 0.048 1 51 54 3 0.497 3 57 6 0
13 0.780 7 58 58 0 0.626 4 62 4 1
14 0.882 8 66 66 0 0.451 3 69 3 4
15 0.945 8 74 74 0 0.726 4 78 4 5
16 0.698 6 80 80 0 0.434 3 83 3 2
17 0.514 5 85 85 0 0.089 1 86 1 2
18 0.631 6 91 91 0 0.411 3 94 3 5
19 0.552 5 96 96 0 0.743 4 100 4 2
20 0.229 2 98 100 2 0.904 5 105 7 0
20 98 14 60 74 45
4.9 0.7 3 3.7 0.429
Estadísticas:
1 Tiempo promedio de espera = 0.7
2 Clientes que no esperan = 14
3 Probabilidad de esperar = 0.3
4 Tiempo medio de los que esperan = 2.3
5 Porcentaje de inactividad del cajero = 42.9
6 Tiempo medio de servicio = 3
7 Tiempo medio entre dos llegadas = 4.9
8 Tiempo medio en el sistema = 3.7
9 Tiempo medio en el sistema – control = 3.7
10 Número medio de clientes en el sistema L = 0.76
11 Número medio de clientes en la cola Lq = 0.14
12 Número medio de clientes en servicio a = 0.57
13 L aprox. Control = 0.71
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 9

3.2 Sistema de colas con varias estaciones de servicio en paralelo. Enfoque por eventos

3.2.1 Identificación de los eventos

Los únicos eventos primarios que se presentan en esta simulación son la llegada de una unidad o cliente al sistema
y la terminación de un servicio por parte de una estación. Con el fin de facilitar la implementación del modelo
computaciones, también se incluye como evento primario el fin de simulación, es decir, el instante en que dejamos
de observar o analizar el sistema.

Además, como se explicó antes, cada uno de los eventos primarios anteriores puede generar otros eventos
secundarios, dependiendo del estado del sistema, como se ilustra a continuación. Cuando una unidad llega al
sistema, se puede iniciar un servicio, si hay un servidor inactivo, o cuando un servidor finaliza un servicio, puede
empezar otro servicio para una nueva unidad, si hay al menos una unidad en la lista de espera.

Cuando una unidad entra al sistema, esta unidad puede quedar en uno de dos posibles estados: la unidad o se
queda en la cola o pasa al servicio. El siguiente diagrama ilustra lo que debe hacer el simulador cuando una unidad
llega al sistema.







No



Si










Figura 6.3 Actividades realizadas cuando una unidad llega al sistema

Cuando el evento es un fin de servicio, el simulador debe realizar las actividades descritas en el diagrama de la
figura 6.4

Como se indicó antes, el sistema incluye las unidades que están en la cola, las unidades que están recibiendo
servicio y las estaciones de servicio. Los estados de las diferentes entidades deben incorporarse en el modelo. Los
estados de una unidad, pueden ser únicamente dos : o está en la cola esperando servicio, o está siendo atendida.
Igualmente, los estados de las facilidades o estaciones de servicio son dos: ó están ocupadas atendiendo una
unidad, o están ociosas. Por lo tanto debemos buscar la forma de representar los estados antes mencionados, y
hacer que ocurran los eventos descritos.

Para el sistema que se está tratando de simular se debe mantener el registro de los siguientes tiempos

• El tiempo de llegada de la nueva unidad al sistema.
• El tiempo en que finaliza el servicio de una unidad.
• El tiempo actual de la simulación. Este tiempo se mantendrá en la variable denominada RELOJ (el reloj de la
simulación).

Por lo tanto es necesario definir la forma de determinar cuando llega una unidad o cliente al sistema y cuando se
Llegada Cliente
Hay servidores
inactivos?
Se selecciona un servidor
disponible
Se selecciona un servidor
disponible
La unidad pasa
a la Cola
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 10

termina un servicio. En una situación real cuando llega una unidad al sistema no se sabe cuando llegará la próxima,
aunque si puede saberse como se distribuye e! tiempo entre llegadas. En forma similar, cuando el servidor empieza
a servir una unidad, no se sabe cuanto tiempo durará el servicio, aunque sí puede conocerse cual es su distribución.
Sin en embargo en un modelo de simulación sí podemos saber o estimar cuando ocurrirá la próxima llegada o
cuando se finalizará un servicio, ya que estos tiempos pueden “generarse” con base en las respectivas
distribuciones de tiempos entre llegadas o de tiempos de servicio. Así, cuando una unidad llega al sistema,
inmediatamente se genera el tiempo de llegada de la próxima unidad, independientemente de lo que pase con la
que acaba de llegar. Además, cuando una estación de servicio empieza a atender una unidad, se genera el tiempo
que durará dicho servicio. La generación de estos tiempos debe hacerse de acuerdo con las respectivas
distribuciones de tiempos entre llegadas y de tiempos de servicio.















No















Fig. 6.4 Actividades realizadas por el simulador cuando finaliza un servicio.


En el instante en que empiece la simulación en el tiempo cero (RELOJ = O), se debe definir el estado del sistema en
ese instante, es decir, se debe definir si hay unidades en el sistema o en la cola, si las estaciones de servicio están
ocupadas o inactivas, el tiempo en que llegara al sistema la primera unidad, y se deben inicializar todas las variables
y registros que sean necesarios para la simulación. La forma más fácil de inicializar el sistema es en el estado
“vacío”, es decir, no hay nadie en el sistema, y por lo tanto todas las estaciones de servicio están inactivas. Esta
será la forma que consideraremos en nuestro modelo. A nivel de ilustración supongamos lo siguiente: Se tienen dos
servidores, y la primera unidad demorará tres minutos en llegar. A partir de este evento se presentarán los
siguientes eventos:
• Avanzamos el RELOJ al tiempo de llegada de la primera unidad (RELOJ = 3). Antes de decidir el destino de la
primera unidad, generamos el tiempo que transcurre para que llegue la segunda unidad. Supongamos que es
dos minutos, es decir, llegará en el minuto 5. Ahora bien, como hay estaciones desocupadas, la primera unidad
puede pasar al servicio a la estación número 1, para lo cual debemos generar el respectivo tiempo de servicio.
Supongamos que sea 7 minutos, es decir, finalizará en el minuto 10.
• Cuál es el próximo evento?. Para determinarlo, es necesario calcular que ocurrirá primero entre la llegada del
cliente No 2 –en el minuto 5- y el fin de servicio en la estación número 1 –minuto 10-. Por lo tanto el próximo
Fin de un servicio
Hay Clientes
esperando servicio
Se selecciona una unidad
para ser atendida
La unidad pasa
a la Cola
Se identifica el Servidor
Se identifica el Cliente
Cliente sale del Sistema
El Cliente pasa al servicio
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 11

evento es en el minuto 5 y será la llegada del cliente No 2
• Minuto No 5. Llega el cliente No 2. Lo primero que debe hacerse es generar el tiempo entre la llegada de los
clientes 2 y 3. Sea 2’, es decir, que llegará en el minuto 7. Como la estación No 2 está inactiva entonces el
cliente no 2 puede pasar al servicio, y generamos el tiempo respectivo. Supongamos que sea 6 minutos, por lo
cual el servicio se terminará en el minuto 11.
• Cuál es el próximo evento?. Para determinarlo, es necesario calcular que ocurrirá primero entre la llegada del
cliente No 3 –en el minuto 7- el fin de servicio en la estación número 1 –minuto 10- y el fin de servicio en la
estación número 2 –minuto 11-. Por lo tanto el próximo evento es en el minuto 7 y será la llegada del cliente No
3.
• Minuto No 7. Llega el cliente No 3. Primero generamos el tiempo de llegada del próximo (el no 4). Sean dos
minutos, es decir, que llegará en el minuto 9. Como ambas estaciones están ocupadas, el cliente No 3 se queda
en la cola, esperando que finalice el servicio en una de las dos estaciones.
• Cuál es el próximo evento?. Para determinarlo, es necesario calcular que ocurrirá primero entre la llegada del
cliente No 4 –en el minuto 9- el fin de servicio en la estación número 1 –minuto 10- y el fin de servicio en la
estación número 2 –minuto 11-. Por lo tanto el próximo evento es en el minuto 9 y será la llegada del cliente No
4.
• Minuto 9, llega el cliente No 4. Primero generamos el tiempo de llegada del próximo (el no 5). Sean cinco
minutos, es decir, que llegará en el minuto 14. Como ambas estaciones están ocupadas, el cliente No 4 se
queda en la cola, esperando que finalice el servicio en una de las dos estaciones.
• Cuál es el próximo evento?. Para determinarlo, es necesario calcular que ocurrirá primero entre la llegada del
cliente No 5 –en el minuto 14- el fin de servicio en la estación número 1 –minuto 10- y el fin de servicio en la
estación número 2 –minuto 11-. Por lo tanto el próximo evento es en el minuto 10 y será el fin de servicio en la
estación No 1
• Minuto 10, fin de servicio en la estacan no 1. El cliente No 1 sale del sistema, después de haber permanecido
en el durante 10 – 3 = 7 minutos. Como en la cola hay dos clientes esperando servicio, se escoge uno según la
disciplina de la cola, (el que lleve mas tiempo en la cola, por ejemplo ). En este caso sería el cliente No 3, quien
permaneció en la cola durante 10 – 7 = 3 minutos. Se genera el tiempo de servicio, (5 minutos), por lo cual la
estación No 2 estará terminando el servicio en el minuto 15.
• Y el proceso de simulación continúa en la misma forma: Buscando el próximo evento, y ejecutando las
actividades requeridas de acuerdo con el evento que haya ocurrido, hasta que el próximo evento sea el fin de la
simulación.

Al hacer el registro de los eventos futuros, el tiempo de ocurrencia de estos eventos puede registrarse en dos formas
equivalentes. La primera forma de registrar el tiempo de ocurrencia del evento consiste en acumular al tiempo actual
el tiempo de ocurrencia del evento, y el tiempo registrado será entonces el tiempo en que ocurrirá el evento. La otra
forma consiste en no acumular al tiempo actual el tiempo de ocurrencia del evento y en este caso el tiempo
registrado será el tiempo “dentro del cual" ocurrirá el evento. Es decir, al buscar el próximo evento, podemos hacerlo
en dos formas, es decir, podemos hacer una de dos preguntas: a) cuándo ocurrirá el evento? es decir, en qué
instante ocurrirá el evento, y b)) dentro de cuánto tiempo, a partir del instante actual, ocurrirá el evento?

Si para registrar los tiempos de los eventos futuros se usa la segunda forma, entonces cada vez que se avance el
reloj cierta cantidad de tiempo, este tiempo que se avance el reloj debe ser restado de los tiempos de cada uno de
los eventos futuros (queda faltando menos tiempo para que ocurran esos eventos). Si se usa la primera forma no es
necesario actualizar los tiempos de ocurrencia de los otros eventos. La primera forma será la que usaremos para la.
simulación de sistemas de espera.

Un objetivo que se persigue en cualquier estudio de simulación es la recolección de estadísticas acerca del
comportamiento del sistema. La información que puede recogerse en el sistema que estamos estudiando puede ser
la siguiente:

• Tiempo medio de permanencia de una unidad en una cola. Este tiempo (de tránsito) se calcula cuando una
unidad pasa de la cola a la estación de servicio, y es igual a el tiempo en que la unidad sale de la cola pasa al
servicio (RELOJ) menos el tiempo de llegada al sistema. También puede calcularse su distribución en intervalos
de clase.
• Tiempo medio de permanencia de una unidad en el sistema. Este tiempo (de tránsito) se calcula cuando la
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 12

unidad sale del sistema, y es igual al tiempo de finalización del servicio (RELOJ) menos el tiempo de llegada al
sistema. También puede calcularse su distribución en intervalos de clase.
• Número medio de unidades en el sistema y en la cola, y sus respectivas distribuciones de frecuencia.
• Utilización de las estaciones de servicio (porcentaje de tiempo que estuvieron ocupadas) durante la simulación.
• También pueden estimarse diferentes probabilidades, tales como la probabilidad de que un cliente tenga que
esperar antes de ser atendido, probabilidad de que tenga que esperar mas de cierto tiempo, etc.

Para estimar el número medio de unidades en el sistema o en la cola, es necesario recoger información no sólo
acerca de las unidades que hay en el sistema (o en la cola) en un tiempo dado, sino también del tiempo durante el
cual esas unidades estuvieron en el sistema (o en la cola), ya que es muy diferente que haya, por ejemplo 4
unidades en el sistema durante 5 minutos, a que haya 4 unidades en el sistema durante 20 minutos. Es decir, es
necesario ponderar el número de unidades del sistema por el tiempo durante el cual existen esas unidades en el
sistema (estas son estadísticas de la forma ∑n
t
∆t). Esta información acerca de las unidades en el sistema y en la
cola debe recogerse antes de que se cambie el estado del sistema, es decir, antes de que se modifique el número
de unidades en el sistema y/o en la cola. Por lo tanto, estos registros deben actualizarse después de que se busca
el próximo evento, pero antes de que se procese ese evento. (Recordemos que la realización del evento cambia el
estado del sistema).

3.2.2 Procedimiento General

El procedimiento para realizar la simulación, junto con la recolección de las estadísticas antes mencionadas puede
resumirse en los siguientes pasos:

1 Inicialización del sistema. El primer paso en toda simulación consiste en la inicialización del sistema, sus
variables de estado y de los registros que se van a usar para recoger las estadísticas. Esta etapa comprende
los siguientes aspectos:
1.1 Definición de los parámetros básicos del sistema a simular: Semillas, parámetros de distribuciones de
tiempo de llegada y servicio, tiempo de simulación, etc.
1.2 Inicialización del estado del sistema (variables de estado). Por lo general el sistema se inicializa en el
estado vacío. Comprende:
• El número de unidades en el sistema (=0) .
• El número de unidades en la cola (=0).
• El estado de cada estación (=inactivas).
1.3 Inicialización de la lista de eventos futuros. Para ello debe generarse el tiempo en que llegará la primera
unidad al sistema. Además, debe definirse como se representará el tiempo en que finalizará un servicio,
principalmente cuando las estaciones están desocupadas.
1.4 Inicialización de todas las variables que se han de usar para recoger estadísticas.

2. Una vez inicializado el sistema, viene la realización del algoritmo de simulación, que comprende los siguientes
pasos:
2.1. Se busca el próximo evento, es decir, qué ocurre primero entre la llegada de una unidad al sistema, la
finalización de un servicio o el fin de la simulación. Para buscar el próximo evento se compara el tiempo
en que Llegará la próxima unidad al sistema con los tiempos en que las estaciones finalizarán sus
servicios, y con el tiempo de simulación y se escoge el menor. Cuando una estación está desocupada, el
próximo evento no puede ser el fin de un servicio en dicha estación, por lo tanto para que al hacer la
comparación de los tiempos no se escoja ese evento, es necesario suponer que el próximo servicio
termina en un tiempo muy alto.

2.2 Antes de avanzar el reloj al tiempo de ocurrencia del próximo evento, se calcula en cuanto tiempo se va a
incrementar el reloj, ya que hay que recoger estadísticas acerca del tiempo durante el cual el sistema tuvo
determinada configuración.

Se actualizan las estadísticas que informen acerca del estado del sistema, y en las cuales es necesario
considerar el tiempo que el sistema estuvo en determinado estado. Estas estadísticas tienen que ver con
el número de unidades en el sistema, en la cola y el número de estaciones ocupadas (Son estadísticas
del tipo ∑n
t
∆t).

2.3 Finalmente se avanza el reloj al tiempo de ocurrencia del próximo evento. Si el próximo evento es una
llegada al sistema, se va al paso 3, si es la finalización de un servicio se va al paso 4 y si es el fin de la
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 13

simulación al paso 5.

3. Cuando el próximo evento es una llegada, el simulador debe realizar las siguientes actividades

3.1 Como ocurrió una llegada, se debe generar el tiempo de llegada del próximo cliente y actualizar la lista de
eventos futuros con este evento.
3.2 Se pregunta si la unidad que acaba de llegar puede entrar al sistema. Si no hay capacidad en el sistema,
la unidad no puede entrar, por lo que se actualiza el registro de las unidades perdidas y se va a buscar el
siguiente evento - paso 2. Si la unidad puede entrar al sistema, se realiza el paso siguiente (3.3), y se
actualiza el número de unidades en el sistema.
3.3 Si todas las estaciones de servicio están ocupadas, el cliente se queda en la línea de espera, para lo cual
se requiere actualizar el número de unidades de la cola, y colocar la unidad que acaba de llegar en el
último puesto de la misma.
3.4 Si hay al menos una estación de servicio desocupada, el cliente escoge una estación para que le preste
el servicio (o el sistema le asigna una –la que lleve mas tiempo inactiva, por ejemplo). Se requiere por lo
tanto generar el tiempo que durará el servicio, con el cual se actualiza la lista de eventos futuros. El
cliente que pasa directamente al servicio no permanece ningún tiempo en la cola. Luego se busca el
próximo evento (paso 2).

Cuando el evento es llegada, se deben actualizar algunos registros para llevar información, tales como el
tiempo de inactividad de la estación de servicio que empieza a trabajar, el número de clientes que no esperan,
etc.

4. Cuando el próximo evento es la finalización de un servicio se requiere realizar las siguientes actividades:

4.1 Identificar la unidad o cliente que va a salir del sistema, calcular cuanto tiempo permaneció esta unidad en
el sistema, actualizar este registro y disminuir el número de unidades del sistema.
4.2 Si no hay unidades en la cola esperando para ser atendidas, la estación de servicio queda inactiva (Es
necesario suponer que el próximo servicio terminará en un tiempo muy alto). Luego se busca el próximo
evento, paso 2.
4.3 Si hay unidades esperando el servicio, se selecciona una unidad de acuerdo con la disciplina empleada;
se calcula el tiempo de permanencia en la cola, se reorganiza la cola y se disminuye el número de
unidades de la misma. Además es necesario estimar el tiempo que la unidad permanecerá en el servicio,
y actualizar la lista de eventos futuros. Luego se busca el próximo evento.

5. Cuando se termina la simulación, es necesario calcular e imprimir las estadísticas de interés

tales como:

• Número medio de unidades en el sistema y en la cola.
• Tiempos medios de permanencia en el sistema y en la cola.
• Número de unidades atendidas.
• Número de unidades que no pudieron entrar al sistema.
• Porcentaje de inactividad de las estaciones de servicio
• Numero medio de estaciones en servicio, etc.

3.2.3 Seudocódigo General

Los pasos o actividades que acaban de describirse para la simulación de un sistema de colas con varias estaciones
idénticas en paralelo están resumidos en la figura 6.5, que es un seudocódigo descriptivo de dicho proceso. En el se
describen las principales actividades que deben realizarse en las etapas de inicializacíon, el algoritmo de simulación
y la generación del reporte

B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 14

PROCEDIMIENTO GENERAL
Lectura de parámetros básicos
Tiempo de simulación, semillas, variables de control
Parámetros de distribuciones de:
Tiempos entre llegadas
Tiempos de servicio
Invocar rutina de inicialización
* Algoritmo de simulación
Primer Evento: Llegada Cliente al Sistema
Mientras próximo evento no sea Fin_Simulación
Rutina de Próximo Evento
Si Próximo Evento es llegada, entonces
Rutina de llegada al sistema
Si no
Si próximo Eventos es Fin_Servicio, entonces
Rutina de Fin_Servicio
Fin si
Fin si
Fin Mientras
Rutina de generación de reportes
Si hay mas experimentos de simulación, entonces
Establecer condiciones de nueva simulación
Volver a inicializar el sistema
Fin si
FIN DE LA SIMULACION

RUTINA DE INICIALIZACION
Reloj = 0
Inicialización del estado del sistema = vacío
Clientes en el sistema = Clientes en la cola = Estaciones Ocupadas = 0
Cola de servidores inactivos
Inicialización lista de eventos
Evento tipo 1: Fin de Simulación.
Evento tipo 2 : Llegada nuevo clientes
Eventos tipo 3: Fin de servicio de las k estaciones
Inicialización contadores para estadísticas
Tiempos medios de Permanencia en la Cola y en el Sistema (ΣX = 0)
Número medio de : Clientes en el sistema, en la cola, en servicio y servidores inactivos (Contadores del tipo Σn
t

∆t = 0)
Contadores de eventos u observaciones (Clientes atendidos, en las colas, etc.)
Distribuciones de:
Tiempos de permanencia en el sistema
Tiempos de permanencia en la cola
FIN RUTINA DE INICIALIZACION

RUTINA DE PROXIMO EVENTO
Búsqueda de Próximo Evento
Tiempo del Próximo Evento: TPE = Menor { Lista de Eventos}
Tiempo de Avance del Reloj = ∆t = TPE - RELOJ
Actualización de contadores sobre variables de estado del tipo Σn
t
∆t
Avance del RELOJ al tiempo del Próximo Evento: RELOJ = TPE
FIN RUTINA DE PROXIMO EVENTO

Figura 6.5 Seudocódigo descriptivo para simular sistemas de colas de estaciones en paralelo


B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 15

RUTINA DE LLEGADA DE CLIENTE
Evento: Llegada de un cliente.
Identificar cliente que llega (“I”) y crear su registro en Lista de Clientes
Actualizar Evento Primario: Llegada del Próximo Cliente.
Si hay Servidores inactivos, entonces
Seleccionar un Servidor. Sea “J” ese servidor.
Actualizar Tiempo de Inactividad del Servidor (tiempo de tránsito)
Actualizar y reorganizar Lista de Servidores Inactivos
Actualizar estado del cliente
Actualizar Clientes en Servicio.
Asignar el cliente “I” al servidor “J”.
Actualizar contador de clientes que no esperan.
Actualizar evento “Fin de Servicio”.
Si no
Si hay espacio en la Cola, entonces
Actualizar Clientes en Espera
Colocar Cliente en el último puesto de la cola
Actualizar estado del cliente
Si no
Cliente abandona el Sistema
Fin si
Fin si
FIN RUTINA LLEGADA DE CLIENTE

RUTINA FIN DE SERVICIO
Evento: Fin de servicio en una estación
Identificar Servidor que termina el servicio. Sea “J” ese servidor
Identificar Cliente atendido. Sea “I” el cliente
Actualizar tiempos en el sistema y clientes atendidos
Eliminar su registro en Lista de Clientes
Reducir clientes en el sistema
Si hay Clientes en espera de servicio, entonces
Seleccionar un cliente. Sea “I” ese cliente
Calcular y actualizar tiempo de permanencia en la cola (tiempo de tránsito)
Actualizar contador de clientes que esperan.
Actualizar y reorganizar Lista de Clientes en Cola
Actualizar estado del cliente
Asignar el cliente “I” al servidor “J”.
Actualizar evento “Fin de Servicio”.
Si no
Actualizar Mecánicos Inactivos
Colocar Mecánico en el último puesto de la cola
Actualizar Lista de Evento (no fin de servicio)
Fin si
FIN RUTINA FIN DE SERVICIO

RUTINA DE GENERACION DEL REPORTE DE SALIDA
Cálculo de:
Tiempos medios de Permanencia en la Cola y en el Sistema
Número medio de: (Estadísticas del tipo Σn
t
∆t)
Clientes en el sistema
Clientes en la cola
Clientes en servicio
Porcentajes de clientes que esperan
Distribuciones de:
Tiempos de permanencia en el sistema
Tiempos de permanencia en la cola
FIN RUTINA DE GENERACION DE REPORTE

Figura 6.5 Seudocódigo descriptivo para simular un sistema de colas de estaciones en paralelo

B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 16

Para poder realizar la simulación por el computador es necesario definir en que forma se van a recoger los datos,
cómo se va a guardar la información acerca de las entidades que hay en el sistema y qué información debe contener
la lista de los eventos futuros.

Como se indicó en el capítulo 5 la mejor manera de mantener la información es por medio de arreglos bi-
dimensionales. A continuación se discuten algunos arreglos que se pueden emplear y se indica en qué forma se van
a recoger las estadísticas.

4 Arreglos para mantener información

4.1 Arreglo para guardar información acerca de las unidades CLIENTE(I,J):

Para cada unidad que entra al sistema se debe guardar la siguiente información
• Número que identifique la unidad.
• Estado de la unidad.
• Tiempo de llegada al sistema.
• Tiempo de llegada al estado actual
• Prioridad, en caso de existir.
• Cuando se trata de órdenes de producción, éstas pueden traer también el tiempo de servicio o procesamiento
de la orden y el tiempo de entrega como otros de sus atributos. Para el presente análisis, se supone que el
tiempo de servicio es un atributo de la estación o servidor.

De la información que debe guardarse acerca de una unidad, hay una que es tipo entero (identificación, estado,
prioridad) y otra que es tipo real (tiempos), a no ser que se represente el tiempo como entero, mediante un factor de
escala. En lo que sigue supondremos que toda la información se guardará en forma real. Para guardar la
información acerca de las unidades usaremos un arreglo que denominaremos CLIENTE y la información se
almacenará de la siguiente manera:

El subíndice I sirve sólo como un indicador, y su valor dependerá del número de unidades haya en el sistema al
mismo tiempo. El subíndice I simplemente indica el número de la fila de la matriz CLIENTE en que está guarda da la
información acerca de determinada unidad o cliente.

Las columnas de la matriz CLIENTE se usarán de la siguiente manera:

• Primera columna: J = 1 Guarda el número que identifica la unidad cuya información está en la fila I. Si la fila I
está vacía, se la identifica con un cero (0). Por lo tanto, CLIENTE(I,1) representa el “número de la unidad” cuya
información está almacenada en la fila I.
• Segunda columna: J = 2: Guarda el estado en que se encuentro la unidad. Este estado se representará por "1"
cuando la unidad está en la cola y por "2" cuando la unidad está en servicio.
• Tercera columna: J = 3 : Guardará el tiempo de llegada al sistema de la unidad que se identifica con el número
CLIENTE(I,1).
• Cuarta columna: J = 4: En aquellos sistemas en que existen prioridades, esta información se guardará en la
columna cuarta de la matriz CLIENTE.
• Quinta : J = 5 : Guardará, para algunos casos de simulación, el tiempo de llegada de la unidad al estado actual.
(Para nuestro caso no se usará)

Matriz de Clientes

Número del
Cliente
(J = 1)
Estado

(J = 2)
Tiempo de
llegada
(J = 3)
Prioridad

(J = 4)

I = 1
I = 2
I = 3
I = 4
……
I = Nro_C
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 17


La matriz CLIENTE mantendrá ocupadas siempre las primeras filas, es decir, si la variable Nro_clientes representa
el número de clientes que hay en el sistema, entonces este arreglo mantendrá ocupadas las primeras filas
(Nro_Clientes). Cuando llegue un cliente al sistema, se aumentará el número de clientes (número de filas) en uno y
en la última fila se guardará la información del cliente que acaba de llegar. Cuando salga un cliente del sistema, es
necesario reorganizar el arreglo de tal forma que siempre estén ocupadas las primeras filas: Si la información del
cliente que sale está en la última fila del arreglo, simplemente se disminuirá en uno el número de filas ocupadas
(número de clientes del sistema), pero si la información no está guardada en la última fila, entonces en la posición
que ocupa el cliente que sale se colocará la información del cliente que está en la última posición, y luego se
disminuirá en uno el número de filas ocupadas (número de clientes del sistema).

4.2 Información relacionada con las estaciones: ESTACION

La información que es necesario guardar sobre las estaciones es la siguiente:

• Numero de la estación
• Estado de la estación: inactiva, prestando servicio, bajo reparación, etc.
• Tiempo acumulado de inactividad.
• Tiempo en que empieza un periodo de inactividad de la estación, o un período de reparación.

Para guardar la anterior información se usará un arreglo -ESTACION-, con la siguiente configuración:

• El número de la fila I se usará para identificar la estación
• ESTACION(I,1) guardará el estado de la estación I, con la siguiente convención:
= 0 si la estación está desocupada
= K > 0 si está atendiendo la unidad número K. de la estación y de
• ESTACION(I,2) guardará el tiempo acumulado de inactividad de la estación I.
• ESTACION(I,3) = Tiempo en que la estación I comenzó el último período de inactividad. Este registro servirá
para calcular el tiempo de inactividad (tiempo de tránsito = Reloj - ESTACION(i,3)

Matriz ESTACION

Estado

(J = 1)
Tiempo de
inactividad
(J = 2)
Tiempo inicio de
inactividad
(J = 3)
I = 1 15
I = 2 13
I = 3 0
……
I = K 0


4.3 Arreglo COLA (l,J)

Este arreglo se usará para identificar las unidades que esperan servicio y las estaciones que están inactivas
esperando clientes para atender. En la primera columna se guardará la información de las unidades que esperan
servicio y en la columna 2 la información de las estaciones que están inactivas. La información se guardará de la
siguiente manera:

• COLA(I,1): Identifica el número del cliente que ocupa el puesto I en la línea de espera.
• COLA(I,2): Identifica el número de la estación que ocupa el puesto I en la cola.
• NUC (J): Identifica el número de unidades o clientes que están esperando servicio (J = 1) o el número de
estaciones inactivas (J = 2).
• LCOLA(J): Define el número máximo de unidades que pueden estar en la cola J en cualquier instante. Para
nuestro caso solo interesa LCOLA(1), ya que LCOLA(2) corresponde al número de estaciones del sistema.

B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 18

Este arreglo se mantendrá ordenado, de acuerdo con el orden de llegada de los elementos, de tal forma que se
mantengan ocupadas las primeras filas. Si hay elementos en una cola, no puede haber en la otra. Cuando se
seleccione un elemento de una de las colas (generalmente el primero), ésta debe reorganizarse, moviendo los
restantes elementos un puesto, es decir, en la posición i se colocará lo que ay en la posición siguiente i + 1.

4.4 Matriz o lista de eventos futuros MEF (l,J) o EVENTOS(I,J)

La lista de eventos futuros debe contener información relacionada con los eventos primarios que han de ocurrir en
un futuro inmediato. Debe contener Información acerca del tiempo en que ocurrirán los eventos,

los tipos de eventos
y la entidad que ocasiona el evento. Para guardar la información se usará el arreglo MEF –Matriz de Eventos
Futuros (EVENTOS)

En la simulación de un sistema de colas existe, como ya se mencionó, los eventos llegada de una nueva unidad al
sistema, finalización de un servicio por parte de una estación y el fin de la simulación. Esta información se guardará
de la siguiente manera:

• Fila 1: Evento fin de simulación
• Fila 2: Evento llegada de un cliente al sistema
• Filas 3 en adelante: Evento Terminación de un servicio por parte de una estación.

Además, en las columnas se guardará la siguiente información:

• Columna No 1: Tiempo de ocurrencia del evento.
• Columna No 2: Número de la entidad que causa el evento. Cuando el evento es llegada de un cliente, se
guardará el número que identifica al cliente, cuando sea fin de servicio el número que identifica la estación cuyo
servicio finaliza. Para el evento fin de simulación no se almacenará ningún valor.
• Columna 3: Tipo de evento, para lo cual se usará la siguiente convención: = 1 para fin de simulación, = 2 para
una llegada , = 3 para un fin de servicio.

En esta matriz se mantendrán ocupadas las primeras posiciones, según el número de eventos que haya
programados para ocurrir en el futuro. Cuando se programe un nuevo evento, se aumentará el número de las filas,
y cuando un evento no se vaya a programar de nuevo, se disminuirá el número de filas, colocándose en la posición
a eliminar la información que hay en la última posición ocupada. En el momento de comenzar la simulación, esta
matriz sólo tendrá dos posiciones ocupadas: La primera fila con el evento fin de simulación y la segunda con la
primera llegada al sistema.

Matriz de Eventos Futuros MEF

Tiempo del evento
(J = 1)
Entidad
(J = 2)
Tipo
(J = 3)
Fin Simulación (I = 1) Tiempo Simulación - 1
Llegada cliente (I = 2) Tiempo de llegada Número del cliente 2
Fin Servicio (I = 3) Tiempo de Servicio Número Estación 3
…………….. ………… ………. ……….
Fin Servicio (I = k + 2) Tiempo de Servicio Número Estación 3

Para buscar el próximo evento se busca en matriz de eventos, cuál es el menor valor que hay en la primera
columna. Así, la información del próximo evento estará guardada en la fila MIN de la matriz MEF, donde MEF(MIN,1)
= Mínimo {MEF(I,1), i = 1, Número de eventos}. Esta información será la siguiente:

• Tiempo del próximo evento = MEF(MIN,1)
• Entidad que causa el evento = MEF(MIN,2)
• Tipo de evento: = MEF(MIN,3)

La matriz MEF también puede organizarse de tal forma que siempre se mantengan ocupadas k + 2 filas, y en la fila I,
para I > 2 se mantendrá la información sobre la estación J = I – 2. SI la estación J está inactiva se guardará como
tiempo de fin de servicio un valor alto (= TSIM + 1) de tal forma que el próximo evento no sea el fin de simulación en
dicha estación.
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 19


5 Recolección de Estadísticas

En la simulación de un sistema de colas puede ser interesante recoger las siguientes estadísticas::

• Número medio de unidades en el sistema.
• Número medio de unidades en la cola.
• Número medio de unidades recibiendo servicio, equivalente al número medio de estaciones ocupadas.
• Tiempo medio de permanencia de un cliente en el sistema.
• Tiempo medio de permanencia de un cliente en la cola.
• Distribución del tiempo de permanencia en el sistema y en la cola.
• Distribución del número de unidades en el sistema y en la cola.
• Probabilidad de que un cliente tenga que esperar

El cálculo de estas estadísticas se realizará de acuerdo con lo indicado en el capítulo 5 “Recolección de
Estadísticas”. Para la recolección de las tres primeras estadísticas se usarán contadores del tipo Σ n
t
∆t y para las
restantes son tiempos de tránsito, se usarán contadores del tipo ΣX.

La figura 6.6 presenta el seudocódigo detallado para la simulación del sistema de colas de varias estaciones en
paralelo, de tal forma que su implementación pueda realizarse en cualquier lenguaje general de programación, tal
como C++, Pascal o Fortran. Las variables están definidas de tal manera que su nombre indica lo que cada una
representa, y no se requieran explicaciones adicionales. Algunas suposiciones o consideraciones que se han tenido
en cuenta en la elaboración del seudocódigo son las siguientes:

• No se ha hecho ninguna suposición con respecto a alguna distribución especial para el tiempo entre llegada de
los clientes al sistema o para la distribución de los tiempo de servicio. Para generar estos tiempos aleatorios se
usan los procedimientos “generar_tpo_lleg(tasa_lleg)” y “Generar_tser(tasa_serv)”, los cuales serán diseñados
por quien implemente el programa, de acuerdo la las distribuciones de probabilidad respectivas para los tiempos
entre llegada de clientes sucesivos al sistema y para el tiempo de servicio.
• Se supone que los clientes se atienden de acuerdo al orden de llegada. Por lo tanto, para escoger el próximo
cliente que será atendido cuando una estación termina de atender uno, se tomará el que esté de primero en la
cola, la cual será reorganizada de tal forma que el que ocupe el primer lugar sea el que más tiempo hay
permanecido allí.
• Cuando llega un cliente y hay varias estaciones para atenderlo, se escogerá la que lleve mas tiempo inactiva
desde que terminó su último período de actividad. Por lo tanto, se escogerá la que esté en el primer lugar de la
cola reservada para las estaciones.
• Aunque no se ha hecho ninguna suposición con respecto a la capacidad del sistema, al implementar el
programa debe realizarse, principalmente por el hecho de que los arreglos usados para representar las colas
tienen un valor máximo, que si se excede puede causar problemas e la ejecución del programa.

6 Seudocódigo detallado para la simulación de sistemas de colas con varias estaciones en paralelo

Programa Simulación_Colas
Definir: Tiempo_simul, semillas, numero_estac, tasa_lleg, tasa_serv,
Reloj = 0
Clientes_sistema = 0
Clientes_cola = 0
Estac_ocup = 0
Para i = 1 hasta número_estac
cola(i,2) = i
estación(i,1) = 0
estación(i,2) = 0
estación(i,1) = reloj
Siguiente
Evento(1,1) = tiempo_simul
Evento(1,3) = 1
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 20

Tiempo_lleg = generar_tpo_lleg(tasa_lleg)
Evento(2,1) = tiempo_lleg + reloj
Evento(2,2) = 1
Evento(2,3) = 2
Nro_eventos = 2
C
Suma_tcola = 0
Suma_tsis = 0
Suma_cliente = 0
Suma_cola = 0
Suma_estac = 0
C
ALGORITMO DE SIMULACION
C
Tipo_evento = Llegada_cliente
Min = 2
Mientras {evento(min,3) ≠ 1} entonces
Min = 1
Si(evento(i,2) < evento(min,1) entonces
Min = 1
Fin si
∆t = evento(min1) – reloj
Suma_cliente + = clientes_sistema * ∆t
Suma_cola + = clientes_cola * ∆t
Suma_estac + = estac_ocup * ∆t
Reloj = evento(min,1)
Caso (evento(min,3) = 2 (llegada)
Case = 2
nro_cliente = evento(min,2)
Clientes_sistema + = 1
Cliente(clientes_sistema,1) = nro_cliente
Cliente(clientes_sistema,2) = reloj
Tiempo_lleg = generar_tpo_lleg(tasa_lleg)
Evento(2,1) = tiempo_lleg + reloj
Evento(2,2) + = 1
Si(estac_ocup < numero_estac) entonces
Ident_estac = cola(2,1)
Estac_ocup + = 1
Si (estac_ocup < numero_estac) entonces
Para i = 1, numero_estac – estac_ocup
Cola(i,2) = cola(i +1,2)
Fin para
Fin si
Estación(ident_estac,2) + = reloj – estación(ident_estac,3)
Estación(ident_estac,1) = nro_cliente
Cliente(clientes_sistema,3) = “servicio”
Tiempo_serv = Generar_tser(tasa_serv)
Nro_eventos + = 1
Evento(nro_eventos,1) = reloj +tiempo_serv
Evento(nro_eventos,2) = ident_estac
Evento(nro_eventos,3) = 3
Si no
Clientes_cola + = 1
Cola(clientes_cola,1) = nro_cliente
Cliente(clientes_sistema,3) = “cola”
Fin si
Fin case
Case = 3
Ident_estac = evento(min,2)
Nro_cliente = estación(ident_estac,1)
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 21

i = Buscar(nro_cliente)
Clientes_aten + = 1
Suma_tsist + = reloj – cliente(i,2)
Para j = 1,3
Clientes(i,j) = clientes(clientes_sistema,j)
Fin para
Clientes_sistema - = 1
Si(clientes_cola > 0) entonces
Nro_cliente = cola(1,1)
Clientes_cola - = 1
Si (clientes_cola > 0) entonces
Para i = 1, clientes_cola
Cola(i,1) = cola(i +1,1)
Fin para
Fin si
i = Buscar(nro_cliente)
Suma_tcola + = reloj – cliente(i,2)
Clientes_esperan + = 1
Estación(ident_estac,1) = nro_cliente
Cliente(clientes_sistema,3) = “servicio”
Tiempo_serv = Generar_tser(tasa_serv)
Evento(min,1) = reloj +tiempo_serv
Si no
Estac_ocup - = 1
Cola(numero_estac – estac_ocup,2) = ident_estac
Estación(ident_estac,3) = reloj
Para j = 1,3
Evento(min,j) = evento(min,j)
Fin para
Nro_eventos - = 1
Fin si
Fin case
Case = 3
Nro_medio_sistema = Suma_cliente / reloj
Nro_medio_cola = suma_cola / reloj
Nro_medio_servicio = suma_estac / reloj
Tiempo_medio_sistema = suma_tsist / Clientes_aten
Tiempo_medio_cola = Suma_tcola / clientes_atend
Tiempo_medio_esperan = Suma_tcola / clientes_esperan
Prob_esperar = clientes_esperan / clientes_aten
Para j = 1 hasta numero_estac
Porcen_inac(j) = estación (j,2) *100 / reloj
Fin para
Imprimir reloj, numero_estac, clientes_aten, clientes_esperan, clientes_sistema, clientes_cola,
estac_ocup, nro_medio_sistema, nro_medio_cola, nro_medio_servicio, tiempo_medio_sistema,
tiempo_medio_cola, tiempo_medio_espera
Imprimir matrices Cliente, Estación, Eventos y Cola
Fin caso
Calcular otras estadísticas relevantes (costos)
Si hay mas experimentos de simulación, entonces
Preparar condiciones nueva simulación
Reinicializar semillas
Empezar nueva simulación (reloj = 0)
Fin si
Fin simulación

B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 22

7 Problemas

7.1 Problema No 1

Una peluquería manejada por un solo peluquero tiene una capacidad para dos personas. Los clientes llegan a una
tasa poisson de tres por hora y los tiempos de servicio son variables aleatorias exponenciales con media de 1/4 de
hora. La barbería está abierta 8 horas diarias. Se requiere saber:

a) El número medio de personas en la barbería.
b) La proporción de clientes que entran a la barbería.
c) Si el peluquero trabajara dos veces más rápido, en cuánto se incrementarían sus entradas brutas por día?
d) En cuánto se incrementarían sus entradas brutas por dia si la capacidad de la barbería fuera de tres?

Solución

El problema enunciado puede resolverse fácilmente por métodos analíticos, ya que este problema se ajusta
perfectamente a un modelo de colas conocido: Es un modelo con llegadas poissonianas (exponenciales), servicio
exponencial, una estación de servicio y cola finita. Es decir, es un modelo M/M/1 cola finita.

Si usamos la siguiente notación:

λ = Tasa de llegadas
µ = tasa de servicio.
N
m
= número medio de unidades en el sistema.
V
m
= numero medio de unidades en la cola.
a
m
= número medio de estaciones ocupadas.
TPS
m
= Tiempo medio de permanencia en el sistema.
TOC
m
=Tiempo medio de permanencia en la cola.
q
o
= Probabilidad de que haya O unidades en el sistema. N = Capacidad del sistema.
ts = Tiempo medio de servicio
r
m
= Número medio de estaciones inactivas.

puede demostrar que:


qN = Tasa efectiva de llegadas (entradas) al sistema. Probabilidad de que haya N personas en el sistema, es decir,
es la probabilidad de que alguien que llegue pueda entrar al sistema o también 100 (1 - qN) da el porcentaje de
clientes potenciales que entran al sistema.
- Tasa de llegada = ~= 3 clientes por hora = 0.05 clientes/minuto.
- Tasa de servicio = = 4 clientes por hora = 0.0667 clientes/minuto.
- Longitud de la cola = 1 ó 2 dependiendo de si se simula el sistema actual o uno de los sistemas propuestos,
o sea que la capacidad del sistema será de 2 ó 3, según el sistema analizado.
- Este sistema debe simularse por periodos, de longitud 8 horas = 480 minutos, ya que al final de un día es
necesario cerrar el sistema y atender a quienes están esperando.

Las caracteristicas principales del sistema que se desea simular son:
Se quiere que la simulación termine cuando se hayan simulado 100 dias.
Las semillas usadas para generar los tiempos entre llegadas y los tiempos de servicio son 597 y 5139
respectivamente.

La figura VII-13 también da los resultados de simular la operación de la peluquería durante 100 días de 8 horas.

En la tabla siguiente se- hace un resumen de los resultados do la simulación, y de los resultados encontrados
analíticamente usando las fórmulas dadas antes.

Analizando los datos simulados para cada una de las tres políticas se observa que se cumplen las relaciones que
existen entre fi, v y ~ y entre ~, w y ts, a saber:

n = v+a
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 23

S = w + ts

Además se cumple que el número medio de unidades recibiendo servicio, que es Igual al número medio de
estaciones ocupadas, es igual a la fracción de tiempo que el sistema estuvo activo. Es decir, que en cuanto a las
relaciones existentes entre los diferentes componentes, el simulador produce resultados válidos.

Para una política cualquiera se comparan los resultadas de la simulación con resultados analíticos, se observa que
las discrepancias entre los das resultados insignificantes, o sea que puede concluirse que este simulador produce
resultados que son altamente confiables.

Con base en los resultados simulados se pueden contestar los interrogantes planteados en el problema. Si el
peluquero trabajara dos veces más rápido, el porcentaje clientes que entran al sistema pasaría de 75.25% al 90.59%
si se asumenta la longitud de la cola en 1, el porcentaje de clientes que entran al sistema pasa del 75.25 al 84.45.
También podrían responderse los interrogantes con base en el número medio de unidades atendidas por día.. En el
sistema actual se atienden por día 18.64 clientes, en promedio; si el peluquero trabajara das veces más atendería
en promedio 22.44 clientes por dia, y si se aumentara en 1 la capacidad de la barbería, se atenderían en promedio
20.92 clientes por día.

Tabla No 1
Resumen de Resultados - Problema del Peluquero
Política No 1 Politica No2 Política No 3
u = 4 N = 2 u = 8, N = 2 u = 4, N = 3
Anal. Simul. Anal. Simul. Anal. Simul.
Unidades atendidas 1864 1816 2244 2177 2092 2030
Unidades que llegan 2477 2400 2477 2400 2477 2400
Unidades que entran 1864 1~6 2244 2177 2092 2030
Unidades perdidas 613 584 233 223 385 370
% unidaes que entran 75.25 75.68 90.59 90.72 84.45 84.57
% de utilización 55.70 56.76 34.33 34.00 62.04 63.43
Tiempo medio en el sistema 21.38 21.43 9.58 9.55 27.06 27.16
Tiempo medio en la cola 6.41 6.427 2.12 2.05 12.06 12.16
Tiempo medio de llegada 19.45 20.00 19.45 20.00 19.45 20.00
Tiempo medio de servicio 14.97 15.00 7.46 7.50 15.00 15.00
Nro medio unidades en el sistema .7986 .8108 0.4415 0.433 1.1276 1.1486
Nro medio unidades en la cola .241 0.2432 0.0983 0.093 0.5072 0.043
Nro medio unidades en servicio .5570 0.5676 0.3432 0.34 0.6204 0.6343

Capítulo 6 (Simulación de Fenómenos de Espera)

6.1 Un laboratorio de enseñanza tiene 15 computadores para prácticas de docencia. Los alumnos que utilizan
dichas máquinas descubren que requieren periódicamente que el supervisor del laboratorio responda a
preguntas, efectúe ajustes menores en los computadores, etc. Los tiempos entre solicitudes de ayuda por
parte de cada estudiante siguen una distribución exponencial con una media de 30 minutos. El tiempo que
requiere el supervisor para responder a dichas peticiones de ayuda siguen también una distribución
exponencial con una media de dos minutos.

a) Simule el funcionamiento del laboratorio para determinar el tiempo total de espera de los alumnos durante
un período de estudio de una hora.
b) Determine el efecto de contratar un ayudante que pueda responder a las peticiones de ayuda en la misma
forma que lo hace el supervisor.

6.2 La empresa Central Car Wash tiene una ubicación excelente, en una intersección muy frecuentada de la ciudad.
Los clientes se encuentran en dos categorías: el 75% son clientes que sólo desean el lavado de sus vehículos,
y el 25% restante quieren tanto el lavado como el encerado rápido de sus automóviles. Los ingresos
procedentes de un cliente de lavado y encerado son el doble de los de un cliente que sólo quiera el lavado. La
distribución de tiempo de servicio es normal para ambas categorías, con una media de 7 minutos y una
desviación estándar de un minuto para los clientes del lavado, y una media de 11 minutos con una desviación
estándar de 2 minutos para los clientes de lavado y encerado. En la actualidad, hay dos cabinas de lavado y
encerado y una zona de espera que puede recibir otros dos automóviles. El propietario está considerando la
posibilidad de agregar una cabina de lavado exclusivamente, a expensas de uno de los espacios de la zona de
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 24

espera. El 8% de los clientes que llegan se van cuando no es posible atenderlos inmediatamente, mientras
que el 92% restante están dispuestos a esperar si se dispone de espacio de estacionamiento. Debido al tráfico
que hay en la zona, los clientes se dirigen a algún competidor cuando no hay espacio libre de
estacionamiento. El establecimiento se abre 12 horas diarias (se procesan todos los automóviles que se
encuentran en la zona de espera en el momento de cerrar). La distribución del tiempo entre llegadas es
exponencial, con una media de 6 minutos durante las primeras 4 horas y una media de 4 minutos durante las
horas restantes.

a) Simule el funcionamiento del establecimiento de lavado de automóviles durante 10 días, tanto con la nueva
cabina como sin ella. Para ambos tipos de instalaciones, determine:
1) El porcentaje de utilización de las cabinas
2) El número de clientes de cada tipo a los que se da servicio y la cantidad de clientes que se pierden.
3) El número promedio de clientes que esperan.
4) El tiempo promedio que pasan los clientes, tanto en espera como recibiendo el servicio.
b) Compare la cantidad relativa de ingresos obtenidos con las cabinas existentes en la actualidad, con la
lograda mediante la adición de una nueva cabina

6.3 Considere la operación de una peluquería. Suponga que hay tres peluqueros y que el tiempo que cada cliente
permanece en la silla es en promedio 20 minutos y está distribuido normalmente con una desviación estándar
de 5 minutos. Durante el período en que los peluqueros salen a comer, o sea del medio día a la 1:45 p.m. Los
clientes llegan en una corriente tipo Poisson con un promedio de 12 por hora. Hay tres sillas para que los
clientes esperen; cuando quedan ocupadas (6 clientes en total en la peluquería) los que llegan después se van
inmediatamente. Si todos los peluqueros están ocupados y si hay 0, 1 ó 2 clientes esperando, las
probabilidades de que alguien llegue y se vaya sin esperar es 0.1, 0.3 y 0.5, respectivamente. Los clientes que
han esperado 15 minutos y no están cerca de recibir el servicio aún tienen oportunidad de irse sin esperar
(0.5). Desde que la peluquería abre (9 a.m.) hasta el medio día, y desde la 1:45 p.m. hasta el momento de
cerrar (5 p.m.), los clientes llegan con tasa igual a 6 por hora. Un peluquero termina de servir el cliente que se
encuentra en su silla cuando empieza su período de comer y luego toma su media hora completa. El segundo
peluquero no saldrá a comer hasta que regrese el primero.

a) En promedio, cuántos clientes se irán sin cortarse el pelo?.
b) Cuál es la probabilidad de que una persona no pueda entrar a la peluquería por falta de asiento?.
c) Cuál es el tiempo promedio que permanece una persona en la peluquería?.

6.4 Un sistema de colas posee las siguientes características:

a) La distribución de llegadas es Poisson con λ = 0.04/min
b) La distribución del tiempo de servicio es exponencial con u = 0.05/min.
c) El número máximo permitido en la cola en cualquier tiempo es 200 unidades.
d) Ninguna unidad permanecerá en la cola más de hora y media.
e) La disciplina de la cola es de acuerdo al orden de llegada.

Simule el sistema por un período de tres años.

6.5 Los trabajos llegan a una estación de procesamiento por medio de una correa transportadora a una tasa de una
cada 4 minutos. La estación de servicio trabaja con una tasa exponencial, con parámetro u. Encuentre el valor
u que minimice la probabilidad de tener una cola de longitud superior a tres. El sistema incurre en un costo de
$ 1.000 por cada unidad que esté en la cola por encima de tres. El costo por día de prestar el servicio en la
estación depende de u. La relación del costo es C
s
= 20.000 u, donde C
s
= costo por día. Determine el valor
óptimo de u basado en la simulación de 30 días de 8 horas por turno.

6.6 Una persona maneja el taller de reparación de una planta, en el cual arregla las diferentes partes que se dañan.
La forma normal de operación consiste en permitir que las partes a reparar lleguen en la primera mitad del día
y no se reciben aquellas órdenes que llegan después del medio día. El mecánico repara luego todas las partes
que llegaron en la mañana, aunque para terminarlas todas tenga que trabajar tiempo extra. El turno normal de
trabajo del mecánico es de 8 horas. Simule el sistema durante 30 días de trabajo, asumiendo que el proceso
de llegadas es Poisson con parámetro λ = 0.08 y la tasa exponencial de servicio es u = 0.10. En promedio
cuántas horas de tiempo extra trabajará el mecánico por día? Qué valor de u reducirá el tiempo extra a cero?.

6.7 Simule un sistema de colas con tres estaciones en serie para el cual se cumple que el proceso de llegada es
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 25

Poisson con λ = 0.04. Las longitudes máximas de las colas son: LCOLA (1) = 100, LCOLA (2) = 10, LCOLA
(3) = 10. El tiempo de servicio en cada estación es exponencial, con los siguientes parámetros: u
1
= 0.06, u
2
=
0.06, u
3
= 0.09. Simule el sistema hasta que 300 unidades hayan pasado completamente a través de todas las
estaciones.

6.8 En el problema anterior efectúe los siguientes cambios: LCOLA (1) = 10, LCOLA (2) = 5 Y LCOLA (3) = 5 y
compare los resultados de los dos sistemas.

6.9 Un sistema de colas con cuatro estaciones en serie funciona con las siguientes características:

a) Llegadas exponenciales con λ = 0.04
b) u
1
= 0.05 u
2
= 0.06
u
3
= 0.05 u
4
= 0.07
Los tiempos de servicio son exponenciales.
c) LCOLA (1) = 50, LCOLA (2) = 10
LCOLA (3) = 20, LCOLA (4) = 30
d) Solamente un 50 por ciento de las unidades entran a la estación 2; las otras van o a la estación 3 o a la
estación 4 con igual probabilidad.

25%

50%

25%

Analice el sistema. Compare la utilización de las cuatro estaciones. Qué pasaría si solamente un 20% de las
unidades entraran a la estación 2 y las demás fueran con igual probabilidad a la estación 3 o a la estación 4?

6.10 Simule un sistema de colas con varias estaciones en paralelo, en el cual el servicio es estrictamente de acuerdo
con el orden de llegada; el proceso de llegadas es poissoniano con λ = 0.05. Cada proceso de servicio es
exponencial con u
1
= 0.08, u
2
= 0.09 y u
3
= 0.12. Determine todas las estadísticas que sean de interés.

6.11 La distribución del tiempo entre llegadas a una estación de servicio única estada dada por: (horas).

Tiempo entre llegadas: 0.5 1.0 1.5 2.0 2.5
Probabilidad: 0.15 0.25 0.30 0.25 0.05

El tiempo requerido para atender una unidad se distribuye exponencialmente con media 1/u. El problema
consiste en determinar el tiempo medio de servicio de tal forma que se minimice el costo total del sistema. El
costo de prestar el servicio es $ 200 por hora y el costo de espera por unidad es $ 40 por hora.

Determine además el tiempo de inactividad del servicio y su utilización, el número medio de unidades en el
sistema y en la cola y los tiempos medios de permanencia en el sistema y en la cola. Además la distribución
de los tiempos de permanencia en el sistema y en la cola.

6.12 Un mecánico atiende cuatro máquinas. Para cada máquina el tiempo medio entre requerimientos de servicio es
10 horas y se supone que tiene una distribución exponencial. El tiempo de reparación tiende a seguir la misma
distribución y tiene un tiempo medio de dos horas. Cuando una máquina se daña, el tiempo perdido tiene un
valor de $ 30 por hora. El servicio del mecánico cuesta $ 100 diarios.

a) Cuál es el número esperado de máquinas en operación?.
b) Cuál es el costo promedio por día?.
c) Cuál es preferible: tener dos mecánicos de tal forma que cada uno atienda dos máquinas, o tener uno solo
como ocurre actualmente?.

6.13 Un camión de reparaciones a domicilio y su mecánico atienden máquinas agrícolas. El tiempo promedio de
viaje más servicio es de dos horas/máquina. El tiempo promedio de requerimiento de servicio es de 4 días
(exponenciales). Cuando se requiere servicio, el costo ocasionado por la reparación de las máquinas es $
1.000/hora. El mecánico y el camión tiene un costo de $ 320/hora. Cuántas máquinas agrícolas debe atender
para minimizar los costos?.
1
2 3
4
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 26


Determine además:

a) Tiempo de inutilización por máquina.
b) Distribución del número de máquinas dañadas.
c) Distribución del tiempo de inactividad de las máquinas.

6.14 Los clientes llegan a un banco a una tasa Poisson de 20 por hora. La ventanilla del banco tiene un tiempo de
servicio exponencial con un tiempo medio de dos minutos. El 20% de los clientes son clientes especiales, que
deben ser atendidos inmediatamente llegan, si la ventanilla está desocupada, o una vez finalice el servicio de
la persona que está siendo atendida cuando ese cliente especial llegue:

a) Cuál es el tiempo medio de permanencia en el sistema y en la cola de un cliente especial?.
b) Cuál es el tiempo medio de permanencia en el sistema y en la cola un cliente normal?
c) Qué porcentaje de tiempo está ocioso el cajero?
d) Cuál es la distribución del número de clientes del sistema?
e) Cuál es el tiempo medio de permanencia de un cliente en el sistema?

6.15 Un aeropuerto puede atender tres aviones en dos minutos, ya sea que despeguen o aterricen. si esta tasa tiene
una distribución de Poisson, cuál es el tiempo medio entre llegadas (de aterrizaje o despegue) para asegurar
que el tiempo medio de espera sea 5 minutos o menos? Suponga una distribución exponencial del tiempo
entre llegadas. Dé, además, toda la información que pueda ser de alguna utilidad.

6.16 Las órdenes llegan a una empresa a una tasa Poisson de 20 por día. Estas órdenes son diferentes en cuanto a
su contenido, por lo tanto el tiempo de procesamiento no será igual para todas las órdenes, sino que se
distribuye exponencialmente con una tasa de 28 por día. Sin embargo, cada una de las órdenes tiene
especificado un tiempo de entrega que se distribuye uniformemente entre 15 y 25 minutos. Cuando una orden
llega a la empresa, inmediatamente se hace el estimativo del tiempo que durará su procesamiento. La política
actual consiste en procesar las órdenes de acuerdo con el orden de llegada. Si se pretende minimizar el
tiempo medio de retraso en la entrega de las órdenes, cuál de las siguientes políticas es mejor, para el caso en
que varias órdenes estén esperando ser procesadas.

a) Atenderlas de acuerdo al orden de llegada.
b) Atender primero la orden que requiera un menor procesamiento.
c) Atender las órdenes de acuerdo con la que tenga la próxima fecha de entrega.
d) Atender las órdenes en una forma completamente aleatoria

6.17 Se va contratar un mecánico para que repare unas máquinas que se descomponen a una tasa promedio de 3
por hora. Las descomposturas se distribuyen en el tiempo de una manera que puede considerarse como
Poisson. El tiempo no productivo de una máquina cualquiera se considera que le cuesta a la empresa $ 25 por
hora. La compañía ha limitado la decisión a uno de dos mecánicos, uno lento pero barato, el otro rápido pero
caro. El primero de ellos pide $ 15 por hora; a cambio dará servicio a las máquinas descompuestas, de
manera exponencial, a una tasa media de cuatro por hora. El segundo pide $ 25 por hora y reparará las
máquinas de manera exponencial a una tasa de seis por hora. Cuál de los mecánicos debe contratarse?
Suministre toda la información que considere necesaria.

6.18 El administrador de un supermercado puede emplear a María o a Carmen. María quien presta servicio a una
tasa exponencial de 20 clientes por hora,. puede ser contratada a un costo de $ 12 por hora. Carmen quien
presta el servicio a una tasa exponencial de 30 clientes por hora, puede ser contratada a un costo de $ C por
hora. La administración estima que, en promedio el tiempo del consumidor vale $ 4 por hora y que debe
tenerse en cuenta en el modelo. Si los consumidores llegan a una tasa Poisson de 10 por hora, entonces:

a) Cuál es el costo promedio si se contrata a María?
b) Cuál es el costo promedio si se contrata a Carmen?
c) Cuál es el valor máximo por hora que puede pagarse a Carmen?

6.19 Los clientes llegan a una estación de servicio a hacer lubricar sus carros. Si no hay espacios para parquear, los
carros que llegan se van a otra estación. Una vez que el cliente ha encontrado un espacio libre, deja el carro
hasta que sea lubricado

B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 27

Si el cliente no ha regresado aún cuando se termina de lubricar el carro, éste es llevado a un parqueadero
cercano. Los clientes llegan de acuerdo a un proceso de Poisson a una tasa media de 32 por día. El tiempo
requerido para atender un carro tiene una distribución exponencial donde la tasa media es de 40 por día. La
utilidad por cada carro atendido es $ 80. El costo capitalizado de la tierra para cada espacio para un carro es
aproximadamente $ 32 por día. Cuántos espacios deberían asignarse, incluyendo el designado para el gato
hidráulico de tal forma que se maximice la utilidad neta esperada?

6.20 Asuma que se está estudiando la operación de un sistema que contiene dos estaciones en paralelo. Para cada
estación existe una cola. Las llegadas al sistema entran a la primera cola, mientras haya menos de 10
unidades en esta cola. Si hay 10 o más unidades en la primera cola, las unidades pasan a la segunda, para la
cual no existe restricción en cuanto a su longitud. Las llegadas al sistema siguen un proceso de Poisson con
parámetro λ = 0.10. Los tiempos de servicio para ambas facilidades son exponenciales con u
1
= 0.08 y u
2
=
0.09 (por hora). Simule el sistema por tres semanas para determinar.

a) El número de unidades que pasaron por el sistema.
b) Número total de unidades atendidas por la segunda estación.
c) Tiempo esperado de permanencia en el sistema: (i) de una unidad, (ii) de una unidad en la estación 1 y
(iii) de una unidad en la estación 2.
d) Distribución del número de unidades del sistema.

6.21 Considere un sistema de producción en el cual la estación o máquina que presta el servicio puede fallar. Esta
falla se produce únicamente durante el período en que está procesando una orden. Cuando una orden llega al
sistema se estima el tiempo que durará su servicio., Además, mientras la estación está procesando la orden,
existe una probabilidad p de que falle. Asuma que el tiempo de reparación del mecanismo de servicio es
exponencial con un tiempo medio de 2.4 horas. Asuma que el tiempo entre llegada de las órdenes es
exponencial con un tiempo medio de 4.8 horas y que el tiempo de servicio es exponencial con una media de
3.6 horas. Se pide simular este sistema para determinar, entre otras las siguientes estadísticas: número de
fallas durante el período de simulación, tiempo total de inactividad por falla y el tiempo medio por falla. Asuma
p = 0.05

6.22 Una estación de gasolina abre diariamente a las 7:00 AM y cierra a las 7:00 PM. A los empleados que atienden
esta gasolinera se paga generalmente $ 30.000 al día (12 horas). La llegada de los automóviles que solicitan
servicio sigue una distribución de Poisson, con una llegada media igual a 10 autos por hora. El tiempo de
servicio por carro está distribuido en forma exponencial con un tiempo esperado de servicio igual a 5 minutos.
Cuando excede de 3 el número de automóviles que esperan el servicio, entonces los clientes disgustados
abandonan la gasolinera sin esperar el servicio. Determine por simulación el número óptimo de operarios que
se deben contratar en la estación de gasolina, sabiendo que las ganancias que deja cada automóvil servido
son de $ 2.00.

6.23 Los clientes de un supermercado llegan a las cajas registradoras con una frecuencia promedio de 20 clientes
pro hora, siguiendo una distribución poissoniana. El tiempo que un cliente tarda en cada caja se encuentra
distribuido en forma exponencial con un valor esperado de 10 minutos. Si el criterio de la tienda es tal que
permite a un cliente esperar en una cola un promedio de 5 minutos en cada caja, utilice la simulación para
estimar el número de cajas registradoras que se requieren. Estime el tiempo de ocio de cada caja registradora.
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 28




La figura VII-6 da el diagramo de flu¡o detallado. En este diagrama se wan los

aneglos
7
variables defin¡dos anteriormente, ¡tinto con las siguientes

= RELOJ - REAUX N02
Tasas de llegada y de servicio.
Variable que define cua~ndo existe un peri~odo transitorio en la simulación. Cuando existe perrodo transitorio, -
KONT debe tener un valor negativo. Cuando no existe el periodo transitorio KONT débe tomar un valor cero o
positivo.
Tiempos de s¡mulación. Cuando existe un periodo trans¡tor¡o, entonces TSIM1 represénta ese perrada y Ts¡M2
¡ncluye el perrodo real durante el cual se deben tener en cuenta las estadisticas. Si no existe pen~odo tronsi-tono,
~ntonces no se neces¡ta el valor de TSIM2. TSIM2 incluye el periodo transitorio y el perrodo real de recolección de
estadisticas.
Número móximo de unidades que se desea atender eh la simulación. Se usan en igual ~rma que TSIMI y TSIM2.
Representa el tiempo de simulación = TSIMI y TSIM2 Identifica el t¡empo que ha avanzado la s¡mulación. Número
de unidades en el sistema en cualquier instante. Número de unidades en la co¡a en cua¡quier instante. Contador de
unidades programadas paro ll~gar. Número de unidades que han llegado al sistema. Número de unidades que han
entrado al sist~ema.
Define el tiempo simulado durante el cual se reco-gieron estadisti cas.
Factor de utilización de la estación de servicio. Semillas para generar los procesos de llegadas y de -servicio. Son
almacenadas en NOIi y N022 paro ca sos en los cuales se necesita simular el proceso con -otras condiciones.
NUP Número de unidades que no han entrado ~erdidas>. NUA Número de
unidades que han sido atendidas. NMUA Número ma~ximo de unidades que se espera sean atend¡das.
NMUA - NUMAl, NUMA2
REAUX Relol auxiliar: Registra el tiempo tronsitorla que se ha ya simulado.
LCOLA Longitud móxima que pueda tomar la cola.
KOLA(l, J) Número dé la unidad u orden que ocupa el puesto número ¡ de la cola J.

IPOL Indicador que define la politica de atención en la es-tación de servicio. Define la
columna de la matn~z -ORDEN que cont¡ene el atributo que ha de definir -cua~l, entre las NUC unidades que hay
en la cola, d~e be pasar al servicio. Si IPOL = 11 la discipl¡na de la cola es PEPS = FIFO = primeros en entrar,
primeras en salir. En este caso el atributo es el menor tiempo de llegada o la menor identificación (el menor
número>.
lE Define el número de estaciones ocupadas en cualquier instante. As~i, lE = ~, 1~
TLLEG Representa el tiempo entre dos llegadas suces¡vas. TCUI Tiempo de
comienzo del último periodo de inactividad
de la estación de servicio.
TIN Tiempo acumulado de inactividad de la estación. K Identifica el
próximo evento, de la siguiente forma:
1 Próximo evento es una llegada al sistema.
Vicio.
K 23 Próximo evento es la f¡nalizac¡ón de un ser
Próximo evento es el fin de la simulacia'n,
~l cual puede ocurrir por uno de dos motí
vos: o porque se consumió ya el t¡empa
que se iba a simular o porque ya se aten
dieron, las unidades que se deseaba aten
der (NUA-~ NMUA).
DELT Intervalo de tiempo que se avanza el RELOJ. Sirve pa ra actualizar las
estadisticas de ciertas variables que -dependen, en cierta forma, del tiempo. índice que define la fila de la matriz
IORDN en que se encuentra la unidad u orden que se está proces~do en un Instante dado.
IN = NP Identifica el número del puesto que ocupa en la cola la unidad que pasa al
servicio.
TPC, TPS Tiempos de permanencia en la cola o en el servicio.
Con respecto al d¡agrama detallado de flulo es necesario anotar que, aunque
la d¡scipl¡na del servI'c¡o es de acuerdo al orden de llegada, el programa esta-hecho de tal forma que no s¡empre se
escala la primera un¡dad de la cola, 5¡flO que existe la posibilidad de usar cualqu¡er otra discipl¡na. Esto puede
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 29

realizar-se por med¡o de la subrutina U555S que es explicada posteriormente. Adema's, la reorganización de la cola
no se hace en el programa principal, sino par me dio de la subrutina U55RE
1
que toma una cola, la uno en este
caso, y la reor gan¡za desde el punto NP hasta el último. A continuación se describen las sub
• rutinas U555S y U55RE, ¡unto con la func¡ón 1U551.

Función 1U55l <NX>

Esta función sirve para determinar en qué fila de la matriz IORDN está la arden o un¡dad NX. En la
s¡mulac¡ón de fenómenos de espera esta función compíe dos tareas:

O) Cuando llega una orden ó una unidad al sistema, es necesario determ¡nar -cúa~l es la primera fila vacio
que hay en la matriz IORDN para colocar allIU la nueva llegada. En este caso, NX toma el valor de cero.
La llamada en el programa pr¡nc¡pal podrio ser 1 = 1U551 (O), y en la fila 1 se colocaria -toda la
¡nformac¡ón relacionada con la nueva ent¡dad que entró al s¡stema.

b) Cuando se finalizo un servicio, es necesario determinar en qué fila de la ma~ triz IORDN se encuentra la
unidad atend¡da.

Cuando no hay una fila vac¡a o no se encuentra la unidad que se acaba de a-tender, o en general no se
encuentra la unidad buscada, la función toma el va br de -1, caso en el cual el programa de simulación
debe terminar. Es necesa~~ rio que el número de la orden sea entero
1
para evitar problemas. Véas• la
fig. ~
VII-7.

Subrutina U555S (KCOL, M, IN, 1) = Subrutina SELECCIONE

Esta subrutina sirve para escoger, en una cola cualquiera, qué unidad debe Pa-sar al servicio, de acuerdo a la
discipl¡na de la cola. La subrutina escoge la entidad que tenga el menor atributo en la colomna KCOL. Los
argumentos de -la subrutina son:

KCOL : Colomna de la matriz ORDEN que contiene el atributo que sirve de base para la escogencia de la
unidad que pasa al servicio. El atribu to de interés podria ser el tiempo de llegada, el menor tiempo de -
procesamiento o servicio, la fecha de entrega, etc. Cuando KCOL es 1 la disciplina de la cola es PEPS = FIFO
primeros en entrar, prim~




-1
t'lU551 (NX) ¡
1

( DO 10 L = 1,50 ~







lU551 = L



1~
1
GRET¿D'RN


1
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 30

c CONT¡NUE )


1

L!r~íÁ]

L
1
No se encuentra la orden ¡dentificada como NX


1
QDRET¿RN
1




Figura VII-7 Diagramo de flu¡o de la funcion ENCUENTRE
- 270 -








ros en salir. (Suponiendo que la primera columna de la matriz ORDEN contiene el tiempo de llegada.

M : Número de la cola, o de la estación o ma-quina en frente de la cual se ha formado la fi la de espera.

IN = NP: Número del puesto que ocupa en la cola la unidad que pasaro~ al ser-vicio, ya que posteriormente
sera~ necesario reoTganizar la cola M des de el puesto IN hasta el último.

1
Número de la fila de la motriz IORDN en que está la unidad u Orden que pasara' al sérvicio.

Otras variables son:

NUC = NUC (M): Número de unidades que hay en la cola M.
KOLA : Arreglo que contiene todas las unidades que están en las ca
las. Asr, KOLA (L, M), L = 1, NUC (M), identifico todo~~
las unidades que están en frente de la facilidad M, esp~ do servicio.

Esta subrutina escoge, en la cola M, la unidad u orden que tengd el atributo -minimo en la columna KCOL. Si la
palitica de selección es escoger la unid~ que tenga el atributo mayor en la columna KCOL, entonces al asignar
los val. res de esa columna, deberian asignórsele con signo negativo, para que la subi~~ tina funcione. Por
elemplo, si la columna KCOL contiene los siguientes Y
70 60 56 85 16 80,
entonces la unidad que posee el minimo atributo ocupa el puesto 5; el valor-del atributo es 16. Si la politica fuera
escoger la unidad con el móxima to, esa unidad serra la que ocupa el puesto 4, es decir, la unidad KOLA (4~ Si
los valores en la columna KCOL se dieran como:
-70 -60 -56 -85 -16 -80,
la unidad con menor atributo (-85) se?ra la que ocupa de nuevo el puesto ~ es decir, la unidad KOLA (4, M). En esta
forma, esta~ subrutina se vuelve gi rol, para escoger la unidad que tenga el atributo "minimo".

El diagrama de flulo de la figura VII-8 ilustra el procedimiento de esta na.
- 272 -
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 31




~tinaU55RE(lN,M)

Esta subrutina Sirve para reorganizar la Columna. M del arreglo bid imensional -KOLA (o cualquier otro arreglo),
desde la fila IN hasta la fila. final -NuC<M~ ademas~, destruye el valor que estaba antes en la última posicióh
del arreglo.
Por elemplo, si se tiene el siguiente arreglo y en el colomna 2 se remueve la unidad N
0
8, que ocupa el puesto N' 4
UN 4), entonces esta subrutina reor

Cola (a)

11
12
13
14
15
16
lo
9


7
8
6
4
.5
3

1
2
Cola (b)
Cola (c>
11 10 5 12 10 5
12 9 3 13 9 3
13 7 1 14 7 1
14 6 2 15 6 2
15 4 16 4
16 o
o o
NUC
(M> 6 6 4 6 5 4


ganiza esa columna, en la forma como lo ¡lustro

5 5 4
en la cola ~>
Si IN = 1, entonces se reorganiza toda la cola, desde el primer puesto hasta el último. Si en la colomna 1 se
remueve la unidad N
0
11, entonces la cola qu~ en la forma indicada en la cola (c).

Esta subrutina es útil en la simulación de fenómenos de espero para reorganizar la cola que queda en frente de una
estación o maquino <M> cuando hay una u~ dad que pasa al servicio, no necesariamente la primero, o en un
problema de :
inventarios, para reorganizar las órdenes que hay pendientes por l~egar, una vez que ha llegado una de ellas (la
primera). La figura VII-9 da el procedimiento -de la subrutina.


La figura siguiente ~ll-1O> presenta el listado de las tres subrutinas anteriores.
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 32

- Lb -





El diagrama de flulo de la figura VII-6 consta de las slgu¡entes partes:

a>
La lectura de los para~metros del sistema a simular, lunto con algunos datos acerca del tiempo de simulación, las
semillas y el almacenamiento de estas semillas. Esta parte va desde el "comienzo del programa" hasta el
llamado
(A).

b) La inicial ización del sistema de colas, es decir, la definición del estado del sistema antes de comenzar la
simulación. Esta parte comprende también la -inicialización de los arreglos para recoger estadisticas, y va
desde (A) hastai
(B>.

c> La búsqueda del próximo evento y la recolección de estadrsticas sobre variabIes que dependen del tiempo.
Esta parte comprende desde (B> hasta el GoT< calculado en que se pregunta por el próximo evento.

d) La llegada de una unidad al sistema, que comprende desde (C) hasta (B>.

e> La final¡zación de un servicio, que comprende desde el llamado (D> hasta ~

f) El fin de la simulación que comprende las actividades requeridas paro hacer. el resumen e impresión de los
resultados de la simulación, y comprende las instrucciones que van desde (E) hasta (B> o hasta (H>,
dependiendo de si 5. hace el resumen de estadisticas del tiempo transitorio o del tiempo real la simulación.

g> El fin de un experimento de simulación o si es del caso,el establecimiento de las modificaciones que sean
necesarias para efectuar otro experimento simulación.

Para facilitar las modificaciones que en un momento dado sean necesarias hac, al simulador, y para un mayor
control del programa, las partes~ b, c, d, e y mencionadas antes se desarrollara~n por medio de subrutinas y
se de¡ara~n las pai tes a y 9 para ser desarrolladas en el programa principal. Esta forma permite cer un me¡or
control del tiempo de simulación, y de la forma en que se
~,



te t¡empo, principalmente cuando las caracteristicas del sistema simulado no per itan efecruar la corr¡da de la
simulac¡ón en un solo perfodo de tiempo, sino ¡e esta deba efectuarse en perrodos separados. Por e¡emplo, si
se va a simular operación de una peluqueria que abre sus puertas a las 10 a.m. y las cierra las 6 p.m.,
entonces s¡ se van a simular siete dias, es necesario simularías en perrodos de 8 horas cada uno, y al final de
cada per~iodo es necesario uvac?ar~ sistema, es decir, atender los clientes que haya en la peluquerra en el
momen de cerrar. Ademós, cada perrodo debe comenzar de nuevo con el sistema va
~. Es dec¡r, en este caso, no es lo mismo simular 7 dias de 8 horas cada uno, e simular 56 horas de operación de la
peluqueria. Sin embargo, en un sistema producción, las órdenes que no se alcanzan a procesar en un d~
pueden que r esperando hasta el comienzo del próximo dra, y se pueden delar empezadas. decir, en un
sistema de producción, el estado del sistema al final de un el estado inicial para el dia siguiente; en este caso
simular 7 dras de 8 horas da uno, es lo mismo que simular un per¡'odo de tiempo de 56 horas de duración.

variable NPER define el número de periados en que se hara~ lc simulación. Sí
~ se debe hacer en varios periados (NPER ~ 1) entonces TSIM1 define la Ion~d de cada perrada de simulación. Se
asume que cada perrodo comienza con
sistema vacio y que no existe periodo de transición, es decir, que lo normal
1 sistema es que comience cada perrodo de tiempo sin unidades en el sistema.
ando NPER sea la unidad, es decir, cuando el sistema opere en forma contr-~, o cuando el estado del sistema al
final de un perrodo pueda consideraise
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 33

~no el estado inicial para el siguiente
1
entonces TSIM1 define el tiempo total se piensa simular. Cuando NPER > 1
es necesario vaciaru el ~stema al fi-1 de cada periodo. Cuando NPER = 1 no es necesario vaciar el sistema al
fi-de la simulación; adema~s cuando sólo se simula un perrada largo, puede exis un perrada de transición
hasta que el sistema llegue a las condiciones "norma ~ de operación.

variable KSIM define el número del perrada que en un momento cualquiera se
• simulando. Cuando finaliza un perrada de la simulación: y no es el u~ltimo, se debe hacer el resumen de las
estadisticas, sino que simpiemen?e se debe -¡ciar" el sistema e iniciar otro perrada de simulación, con el
sistema vacio -~ sin inicializar arreglos para recoger estadisticas; solamente cuando se simule ~timo perrada
(KSIM = NPER) debe hacerse el resumen final de estadrsti cas.

~nt¡nuación se hace una breve descripción del traba¡o realizado por cada una las subiutinas mencionadas antes.

brutina U551C (K7, TLLEG)

¡ subrutina inicializa el estado del sistema (vacro) y los arreglos para recoger
- 278 -



estadisticas. K7 es el argumento que usa la subrutina de in¡c¡al¡zoción de arreglos para recoger estad~tsticas -
U551N (K7). Cuando K7 = 1 la subrutina lee ¡os datos sobre !as variables para las cuales se va a recoger
estadisticas.

Cuando se estó simulando el pr¡mer pe(iado (KSIM = 1> lo subrut¡no ¡nicializa -los arreglos para recoger
estadisticas y el estado del sistema. Si se estó simulan do otro per~ado d¡ferente del primero (KSIM >1) la
subrut¡no inicial izo u'nioamente el estado del sIstema. Adema~s, esta subrutina inic¡aliza la listo de even~. tos
futuros.

Con respecto a la lista de eventos futuros se h¡cieron unos -modificaciones, con respecto a lo que se habVa
explicado anteriormente y que aparece en el d¡ogramo de ¡a figura VII-6. Esas modificaciones son las
siguientes:

- En la primero fila de ambos arreglos se guarda la informac¡6n sobre el fin de la simulación.

- En la segunda fila se guarda la información sobre la próxima llegada.

- En la ~ercera fila se guarda la información sobre el próximo fin de servicio.
As~i:
AMEF (1> Tiempo en que finolizaró la simulación.
AMEF <2) = Tiempo en que llegaró la próxima unidad al sistema.
AMEF (3) = Tiempo en que finalizaró el próximo servicio.

En la primero columna de MEF se guarda la unidad o entidad que causa el to y en la segunda columna se guardo el
tipo de evento, os~:

MEF (1, 1) : Aunque actualmente no es usada, puede emplearse paro guard~r "numero ma~ximo de
unidades" que se desea atender.~Nu$&

MEF (2, 1): Número que identifica la próxima unidad que llega.

MEF (3, 1): Número que identifico la unidad que estó siendo atendido.

MEF (3, 1) = O : Si no hoy unidades recibiendo servicio.

MEF (1, 2> = 3 Identifica el próximo evento como el fin~de la simulocioi~~.

MEF (2, 2> = 1 : Identifico el próximo evento como una llegada al sistema.

MEF (3, 2) = 2 Define el próximo evento como el fin de.un servicio.
B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 34

L
- ¿1 7







Asr los arreglos AMEF y MEF quedan de la siguiente manera
AMEF MEF
Tiempo N
0
unidad Tipo evento
1=1 F¡n simulac. - 3
1=2 Llegada N
0
unidad 1
1=3 Servicio N
0
unidad 2

La figura Vll~1 presenta el listado de esta subrutina. Se qsumé que el tiempo de la próxima llegada -TLLEG- es
generado en el programa principal.

Subrutina U55PR -~úsqueda del próxima evento-Esta subrutina busca el próximo evento que va a ocurrir en el
sistema. Es decir, busca cua~l es el menor valor del arreglo AMEF. Ese menor valor se encuentra -en la
posición KL. A~emós, verifica si acaso el próximo evento es el fin de la simulación, ocasionado porque ya se
atendieron las unidades que se deseaban -atender. Adema~s, esta subrutina actualiza la información sobre
variables cuyo va lar depende del tiempo.

El tipo de evento que va a ocurrir se encuentra guardado en la columna 2 del -arreglo MEF. As~ si K define el tipo de
evento, entonces (K MEF (KL, 2) = = 1, 2, 3) dependiendo de si el próximo evento es una llegada al sistema,
un fin de servicio o el fin de la simulación. Véase la figura VII-12.

Subrutina U55LL (TlIeg, Tserv)

Manela el sistema cuando el próximo evento es la llegada de una unidad. Los tiempos entre llegadas y de servicio
son generados en el programa principal. El tiempo de servicio es guardado en la columna 3 del arre9l9
ORDEN~.

El traba¡o de esta subrutina consiste en:

Programar la próxima llegada y actualizar la lista d. eventos futuros. Definir la suerte corrida por la unidad que acabo
de llegar, es decir, examinar si puede entrar al sistema, y una vez entre al sis+ema, examinar si -pasa al
servicio o se queda en la cola. Adern6s, recoge las estadisticas que sean necesarias. Véase la figura VII-13.
- 280 -



Subrutina U555E - Fin de servicio-

Esta subrutina contraía el s¡stema cuando ocurre un fin de servicio. Las tareas realizadas son:

- Sacar del sistema la unidad atendida y calcular su tiempa de permanencia en el sistema.

-Pasar al servicio una de las unidades de la cola, si hay alguna esperando ser atendida, o colocar la estación de
servicio en estado de inactividad, si no existen unidades en la cola. Ademós cal cula y recoge informaci¿n
scbre tiempos de permanencia de las unidades en la cola.

-Esta subrutina pasa al servicio la unidad que esté en el primer puesto de la cola, si esa es la disciplina de la cola, o
pasa la unidad que tenga el atrí buto de menor valor, en la columna IPOL del arreglo ORDEN. Véase la ti gura
VII-14 y la subrutina U5555.

Subrutina U55RC - Resumen -

B. Calderón. Introducción a la Simulación. Cap 6. Simulación de Fenómenos de Espera 6 - 35

Esta subrutina manela el sistema cuando ocurre el fin de la simulación, bien seo el fin de uno de los per~odos
simulados, o el fin de todos los per~iados. Las tareas realizadas son las siguientes

-Si una simulación se estó corriendo en varios periodos (NPER > 1) y no 5. estó simulando el último periodo (KSIM ~
NPER> entonces lo primero que hace la subrutina es "vaciar" el sistema~ es dacir, atender todas las urn~da-~
des que hay en él y retornar al programa principal para reiniciar otro pen~ do de simulación (KSIM = KSIM + 1).

-Si una simulación se estó elecutando en varios peri~ados (NPER > 1) y se ha simulado el ut~t~mo per~¡odo (KSIM
= NPER), lo primero que hace la subrutina es vac¡ar el s¡stema y hacer el resumen de las estadisticas
recogidas durant. todos los perradas de simulación y retomar el control al programa principal, bien sea para
parar el programa o hacer las modificaciones necesarias para comenzar otro experimento de simulación.

-Si una simulación se estó realizando en un solo per-lado, y se ha simulado -el tiempo transitorio, entonces se hace
el resumen de las estadisticas recogídas durante el tiempo transitorio, se inicializan los arreglos y variables
USO-das para recoger estadisticas y se vuelve el control al programa principal, el cual debe dirigir el flu¡o del
programa hacia la búsqueda del próximo -evento. (El estado del sistema queda intacto).
1
- 281 -
-Si se estó e¡ecutando la sin~jlación en un solo perVodo largo, la subrut¡na no hace vac¡cido del s¡stemc., imprime
las estadisticas recógidas y retorna el control al programa principa~, para parar el programa o comenzar otro
expe rimento de simulación. La figura VII-15 es el l¡stado de esta subrutina.

Es necesario tener en cuenta que la mayor¡~i de las variables empleadas en una instrucción COMMON.




PROGRAMA PRINCIPAL
aparecen




En el programa pr¡nclpal se deben leer las principales caracterrst¡cas del sistema que se piensa simular, dirigir el
flulo del programa de acuerdo a los eventos que ocurran, hacer las modificaciones que sean necesarias para
realizar otro experimento de simulación. Adernós en el programa principal deben generarse los tiem pos entre
llegadas y de servicio, que sirven de argumento para la subrutina --U55LL (TLLEG, TSERV). La figura VII-16 es
un diagrama de flu¡o general para simular el sistema de colas de una estación de servicio.

La figura VII-17 presenta un listado de un programa principal (desarrollado siguien -do los delineamientos expuestos
en el diagrama de flu¡o de la figura VII-16) para resolver el siguiente problema.

Sign up to vote on this title
UsefulNot useful