Está en la página 1de 10

Problema 1

Un dispositivo electrónico de red recibe un paquete de datos cada 5 +/- 3 milisegundos.


Demora 5 +/- 1 milisegundo en procesarlo. En el buffer se pueden encolar hasta 5
paquetes. Por lo tanto, el dispositivo tiene lugar para 1 paquete en proceso + 5 paquetes
más en el buffer. Si el buffer está lleno, un paquete nuevo que llega se descarta. Simular
1000 paquetes salidos del sistema (procesados + descartados).

Solución 1

Se modela el buffer como una cola, y se pregunta por su tamaño antes de poder ingresar.

GENERATE 5,3
TEST L Q$buff,5,descartar
QUEUE buff
SEIZE dispositivo
DEPART buff
ADVANCE 5,1
RELEASE dispositivo
TERMINATE 1

descartar TERMINATE 1 ;porque también se consideran los


descartados
;guía
START 1000

Solución 2

Se modela el buffer como un almacén, y se pregunta si está lleno antes de poder


ingresar.

buff STORAGE 5 ;capacidad de almacén = 5

GENERATE 5,3 ;generar paquetes cada 5+/-3 ms


TEST E SF$buff,0,descartar
ENTER buff
SEIZE dispositivo
LEAVE buff
ADVANCE 5,1
RELEASE dispositivo
TERMINATE 1
descartar TERMINATE 1
guía

START 1000

Solución 3

Se modela el buffer como un almacén, dentro del cual se produce el servicio, y se libera
recién al terminar el mismo.

buff STORAGE 6

GENERATE 5,3
TEST E SF$buff,0,descartar
ENTER buff
SEIZE dispositivo
ADVANCE 5,1
RELEASE dispositivo
LEAVE buff
TERMINATE 1

descartar TERMINATE 1
;guía
START 1000

Problema 2
A un banco ingresa una persona cada 60 +/- 10 segundos. Al entrar se dirigen a una cola
demorando 5 +/- 2 segundos en llegar. Hay tres cajas atendiendo, cada una demora 3 +/-
2 minutos en atender a cada persona, la que luego se retira demorando 7 +/- 2 segundos
en llegar a la puerta. Hay una puerta de entrada y otra de salida. Por cada una de las
puertas sólo puede pasar de a una persona por vez demorando 3 +/- 2 segundos. Simular
5 horas de atención, indicando la cola máxima registrada. Tabular, cada 2 minutos, la
cantidad de clientes dentro del banco. Utilizar, además, una QTABLE que tabule el
tiempo en la cola de las cajas.

clientes TABLE S$banco 2,2,20


tiempoQCajas QTABLE colaCajas 30,30,30

banco STORAGE 1000


puertaE STORAGE 1
puertaS STORAGE 1
cajas STORAGE 3

GENERATE 60,10
ENTER puertaE
ENTER banco
ADVANCE 3,2
LEAVE puertaE
ADVANCE 5,2
QUEUE colaCajas
ENTER cajas
DEPART colaCajas
ADVANCE 180,120
LEAVE cajas
ADVANCE 7,2
ENTER puertaS
ADVANCE 3,2
LEAVE puertaS
LEAVE banco
TERMINATE

GENERATE 18000
TERMINATE 1

GENERATE 120
TABULATE clientes
TERMINATE
;guía
START 1
Problema 3
A una oficina telefónica llegan personas a razón de 10 +/- 5 minutos, las cuales caminan
a lo largo de un corredor hasta llegar a un mostrador demorando 3 +/- 1 min., donde hay
un empleado al cual se le solicita una llamada telefónica, demorando 4 +/- 2 min en
pedir la llamada. Luego un 60% se dirige a una cabina de llamadas de corta distancia y
el resto a una única cabina de larga distancia, demorando en el primer caso 15 +/- 5 min
en hablar y en el segundo caso 7 +/- 3 min. Al terminar de hablar se retiran del lugar.
Simular 3 horas de simulación. Y obtener:

 El tiempo que estuvieron las personas en el sistema.


 Cada minuto la cantidad de clientes que hay dentro de la oficina telefónica.
 Al salir del corredor tabular la cantidad de personas haciendo cola frente al
empleado.
 Tiempo de espera en dicha cola.

cantClientes TABLE S$oficina 2,2,20


clientesEnCola TABLE Q$colaMostrador 4,4,20
tiempo TABLE M1[1] 4,4,20
cola QTABLE colaMostrador 4,4,20

oficina STORAGE 1000


cabinasLargas STORAGE 1
cabinasCortas STORAGE 5

GENERATE 10,5
ENTER oficina
ADVANCE 3,1
TABULATE clientesEnCola
QUEUE colaMostrador
SEIZE empleado
DEPART colaMostrador
ADVANCE 4,2
RELEASE empleado
TRANSFER 0.6, ACabCor,ACabLar

ACabLar QUEUE colaLarga


ENTER cabinasLargas
DEPART colaLarga
ADVANCE 7,3
LEAVE cabinasLargas
LEAVE oficina
TABULATE tiempo
TERMINATE

ACabCor QUEUE colaCorta


ENTER cabinasCortas
DEPART colaCorta
ADVANCE 15,5
LEAVE cabinasCortas
LEAVE oficina
TABULATE tiempo
TERMINATE

GENERATE 1
TABULATE cantClientes
TERMINATE
GENERATE 180
TERMINATE 1
;guía
START 1

Problema 4
A un supermercado llegan clientes por 2 puertas. Por la puerta 1, uno cada 2 +/- 1
minutos, y por la puerta 2 cada 45 +/- 15 seg. Los que ingresaron por la puerta 1
demoran 40 +/- 20 segundos en juntarse con los que ingresaron por la puerta 2. Un 30%
va a dejar los envases a una empleada que los atiende en 30 +/- 10 seg., el resto sigue el
recorrido. El 60% va a fiambrería donde sacan un número por el cual los llaman; el
puesto es atendido por 3 empleados y el tiempo de atención es de 100 +/- 45 seg. El
resto va a verdulería donde hay un único empleado que atiende en 50 +/- 20 seg. Luego
recorren la zona de autoservicio durante 300 +/- 120 seg. Una vez finalizadas las
compras se dirigen a una única caja que demora 60 +/- 30 segundos en atenderlos. Al
terminar de pagar se retiran del supermercado. Simular de 9 a 13 horas. Y obtener:

 La cantidad de personas que hay en cola frente a la empleada que recibe los
envases, vista por una persona antes de ponerse en la citada cola.
 El tiempo de permanencia de los clientes en el supermercado.

tiempo TABLE M1 300,300,25


cantCola TABLE Q$colaEnv 4,4,10

supermercado STORAGE 10000


fiambres STORAGE 3

GENERATE 120,60
ENTER supermercado
MARK
ADVANCE 40,20 ;caminando
TRANSFER ,entrada2

GENERATE 45,15
ENTER supermercado
MARK
entrada2 TRANSFER 0.3,sigue,irEnvases
irEnvases TABULATE cantCola
QUEUE colaEnv
SEIZE empleada
DEPART colaEnv
ADVANCE 30,10
RELEASE empleada
sigue TRANSFER 0.6,irVerd,irFiamb
irFiamb ENTER fiambres
ADVANCE 100,45
LEAVE fiambres
TRANSFER ,compras
irVerd SEIZE verdulero
ADVANCE 50,20
RELEASE verdulero
compras ADVANCE 300,120
SEIZE caja
ADVANCE 60,30
RELEASE caja
LEAVE supermercado
TABULATE tiempo
TERMINATE

GENERATE 14400
TERMINATE 1
;guía
START 1

Problema 5
A un negocio de ventas de hamburguesas llegan clientes cada 60 +/- 30 segundos. Los
clientes hacen el pedido y pagan en la única caja del local. El tiempo de atención en la
caja es de 30 +/- 15 segundos. Allí se les entrega un número con el cual deben retirar sus
pedidos frente a un mostrador atendido por tres personas. Los tiempos de preparación de
los pedidos varía según sean para ser consumidos en el local (90 +/- 10 seg.) o para
llevar (120 +/- 20 seg.). De los clientes que llegan al negocio, un 20% compra
hamburguesas para llevar, el resto consume en el lugar. El que consume en el lugar tiene
2 opciones: el salón de planta baja (salón rojo) o el del primer piso (salón azul). Un 30%
se dirige al salón rojo cuya capacidad es de 30 personas y el resto al salón azul cuya
capacidad es de 40 personas. El tiempo de permanencia en cada uno de los salones
depende de la hora del día:

Horario Salón Rojo (X1) Salón Azul (X2)


11 a 12 20 +/- 15 min 30 +/- 10 min
12 a 13 30 +/- 15 min 40 +/- 10 min
13 a 14 35 +/- 15 min 45 +/- 10 min
14 a 15 20 +/- 15 min 35 +/- 10 min

Simular de 11 a 15 horas, y obtener

 Tiempo de permanencia en el negocio.


 Tiempo en cola en la caja.
 Cada 15 minutos, la cantidad de gente en cola frente al mostrador.
 Cada 30 minutos, la cantidad de personas en el Salón Rojo y en el Azul
(separadamente).

Solución 1
tiempo TABLE M1,500,500,30 ;tiempo de permanencia
enQCaja QTABLE colaCaja,60,60,20 ;tiempo de espera en caja
cantCola TABLE Q$colaMost,5,5,20
cantRojo TABLE S$salonR,3,3,10
cantAzul TABLE S$salonA,4,4,10

lugar FUNCTION RN1,D2


0.20,1/1,2
tiempoR FUNCTION AC1,D4
3600,1200/7200,1800/10800,2100/14400,1200

tiempoA FUNCTION AC1,D4


3600,1800/7200,2400/10800,2700/14400,2100

salonR STORAGE 30
salonA STORAGE 40
mostrador STORAGE 3

GENERATE 60,30
ASSIGN donde,FN$lugar
QUEUE colaCaja
SEIZE caja
DEPART colaCaja
ADVANCE 30,15
RELEASE caja
QUEUE colaMost
TEST E P$donde,1,enlugar
ENTER mostrador
DEPART colaMost
ADVANCE 120,20
LEAVE mostrador
TABULATE tiempo
TERMINATE

enlugar ENTER mostrador


DEPART colaMost
ADVANCE 90,10
LEAVE mostrador
TRANSFER 0.30,irAzul,irRojo

irRojo ENTER salonR


ADVANCE FN$tiempoR,900
LEAVE salonR
TABULATE tiempo
TERMINATE

irAzul ENTER salonA


ADVANCE FN$tiempoR,600
LEAVE salonA
TABULATE tiempo
TERMINATE

GENERATE 900
TABULATE cantCola
TERMINATE

GENERATE 1800
TABULATE cantRojo
TABULATE cantAzul
TERMINATE

GENERATE 14400
TERMINATE 1

Solución 2 (con uso de función discreta SNA)


tiempo TABLE M1,500,500,30 ;tiempo de permanencia
enQCaja QTABLE colaCaja,60,60,20 ;tiempo de espera en caja
cantCola TABLE Q$colaMost,5,5,20
cantRojo TABLE S$salonR,3,3,10
cantAzul TABLE S$salonA,4,4,10

consume FUNCTION RN1,D2


0.20,lleva/1,nolleva

tiempoR FUNCTION AC1,D4


3600,1200/7200,1800/10800,2100/14400,1200

tiempoA FUNCTION AC1,D4


3600,1800/7200,2400/10800,2700/14400,2100

salonR STORAGE 30
salonA STORAGE 40
mostrador STORAGE 3

GENERATE 60,30
QUEUE colaCaja
SEIZE caja
DEPART colaCaja
ADVANCE 30,15
RELEASE caja
QUEUE colaMost
TRANSFER ,FN$consume
lleva ENTER mostrador
DEPART colaMost
ADVANCE 120,20
LEAVE mostrador
TABULATE tiempo
TERMINATE

nolleva ENTER mostrador


DEPART colaMost
ADVANCE 90,10
LEAVE mostrador
TRANSFER 0.30,irAzul,irRojo

irRojo ENTER salonR


ADVANCE FN$tiempoR,900
LEAVE salonR
TABULATE tiempo
TERMINATE

irAzul ENTER salonA


ADVANCE FN$tiempoR,600
LEAVE salonA
TABULATE tiempo
TERMINATE

GENERATE 900
TABULATE cantCola
TERMINATE

GENERATE 1800
TABULATE cantRojo
TABULATE cantAzul
TERMINATE

GENERATE 14400
TERMINATE 1

Problema 6
A una máquina llegan pares de componentes (como una unidad) cada 130 segundos.
Una vez dentro de la máquina, este par de componentes es desensamblado en 10 +/- 5
segundos. Cada componente se procesa en forma separada demorando 80 +/- 5
segundos (el procesamiento de cada uno de los componentes se realiza en forma
simultánea). La máquina sólo puede procesar de a un par por vez, los que lleguen detrás
esperan en cola. Luego de procesar cada par de componentes, la misma máquina los
ensambla en 40 +/- 20 segundos y los libera, para continuar con el par siguiente.
Simular 1000 pares de componentes procesados. Se necesita conocer la cantidad en cola
encontrada por cada par de componentes llegados a la máquina, antes de ingresar a la
cola.

cantCola TABLE Q$colaMaq,10,10,10

GENERATE 130
TABULATE cantCola
QUEUE colaMaq
SEIZE maquina
DEPART colaMaq
ADVANCE 10,5 ;desensamble
SPLIT 1,, numeroSerie ;asigna diferente valor
;al parámetro numeroSerie para
cada copia
ADVANCE 80,5
;las transacciones que
lleguen luego de la primera
;a un bloque ASSEMBLE se
destruyen, pero con GATHER no
GATHER 2
ADVANCE 40,20
TEST E P$numeroSerie,1,eliminar
; por eso los elimino yo
RELEASE maquina
TERMINATE 1

eliminar TERMINATE

Problema 7
La cafetería de una universidad esta tratando de mejorar su servicio durante el almuerzo
desde las 11:30 a la 13:00 horas. Los clientes arriban en grupos de 1, 2, 3 y 4 alumnos
con las siguientes probabilidades 0.5, 0.3, 0.1, y 0.1, respectivamente. Los interarribos
están distribuidos exponencialmente con una media de 30 segundos. Inicialmente el
sistema esta vacío y ocioso, y será corrido por un período de 90 minutos. Cada cliente
que arriba, sea solo o en grupo, toma una de las tres rutas siguientes a través de la
cafetería (los grupos se separan al llegar):

1. Comida caliente, luego bebida y luego cajero. (Probabilidad: 0.8)


2. Sándwiches, luego bebida y luego cajero. (Probabilidad: 0.1)
3. Sólo bebidas y luego cajero. (Probabilidad: 0.05).

El tiempo de servicio en comida caliente esta uniformemente distribuido entre 50 y 120


segundos; en sándwiches esta uniformemente distribuido entre 60 y 180 segundos y en
bebidas entre 5 y 20 segundos. Los dos primeros son servidos de uno por vez y las
bebidas son de autoservicio y se supone que existe en cantidad suficiente para satisfacer
todos los requerimientos. Hay dos cajeros, cada uno con su cola, y los clientes eligen la
cola más corta pero no cambian de cola. Solo cuando un cajero terminó de atender su
cola sigue atendiendo los clientes del otro en el mismo orden. Todas las colas son del
tipo FIFO. Haga un modelo que reporte las siguientes medidas de performance:

 La demora media y máxima en la cola de comida caliente, sándwichs y cajeros.


 Máximo numero de cada cola.
 La cantidad de cada tipo de clientes
 El tiempo medio de clientes en el sistema y la cantidad que pasaron por el
mismo.

cafeteria STORAGE 1000

GENERATE (EXPONENTIAL(1,0,30)) ;personas


TRANSFER 0.5,entrar,grupos
entrar ENTER cafeteria
TRANSFER 0.8,demas,aComida
aComida QUEUE colaComida
SEIZE comida
DEPART colaComida
ADVANCE (UNIFORM(2,50,120))
RELEASE comida
aBebida ADVANCE (UNIFORM(3,5,20))
aCaja TEST L Q$colaCaja1,Q$colaCaja2,enCola2
TRANSFER ,enCola1
vacia1 TEST E Q$colaCaja1,0
DEPART colaCaja2
enCola1 QUEUE colaCaja1

;F$<entidad> devuelve 1 si está ocupada


TEST E F$caja1,1,enCaja1
;si está ocupada continúa
;si no, va al bloque
;alternativo, que es ocupar
;la caja
TRANSFER BOTH enCaja1,vacia2
enCaja1 SEIZE caja1
DEPART colaCaja1
ADVANCE 45,20
RELEASE caja1
salir LEAVE cafeteria
TERMINATE
vacia2 TEST E Q$colaCaja2,0
DEPART colaCaja1
enCola2 QUEUE colaCaja2
aCaja2 TEST E F$caja2,1,enCaja2
TRANSFER BOTH enCaja2,vacia1
enCaja2 SEIZE caja2
DEPART colaCaja2
ADVANCE 45,20
RELEASE caja2
TRANSFER ,salir
grupos TRANSFER 0.6,masD2,dos
dos SPLIT 1
TRANSFER ,entrar
masD2 TRANSFER 0.5,tres,cuatro
tres SPLIT 2
TRANSFER ,entrar
cuatro SPLIT 3
TRANSFER ,entrar
demas TRANSFER 0.75,aSandwich,aBebida
aSandwich QUEUE colaSandwich
SEIZE sandwichero
DEPART colaSandwich
ADVANCE (UNIFORM(4,60,180))
RELEASE sandwichero
TRANSFER ,aBebida

GENERATE 540
TERMINATE 1