Documente Academic
Documente Profesional
Documente Cultură
Simulacin de Sistemas
Considere una agencia bancaria que funciona con un solo cajero. El tiempo entre
arribos de los clientes a la agencia est distribuido uniformemente entre los valores de
1 minuto y 4 minutos. El tiempo que necesita el cajero para atender a un cliente est
distribuido exponencialmente con media de 3 minutos. Simular el funcionamiento de la
agencia para 200 clientes y determine: el tiempo necesario para atenderlos y el tiempo
que utiliza el cajero para ello.
Solucin:
Nota: Este es un problema de un servidor con su propia cola
c. Inicio de la simulacin.
d. Fin de la simulacin.
Por el enunciado del problema sabemos que los clientes (las entidades de nuestro
modelo Porque?), arriban a la agencia en intervalos de tiempo distribuidos
uniformemente entre 1 minutos y 4 minutos. Esto significa que arribar un cliente, para
que arribe otro cliente debe de transcurrir una cantidad de minutos la cual responde a
una distribucin uniforme entre 1 minuto y cuatro minutos. No hay ms informacin al
respecto por lo que se debe asumir que:
Despus de arribar el cliente busca el cajero, recordemos que por el enunciado solo
hay un cajero; si este est desocupado el cliente pasa por la zona de espera (o zona
de cola), sin quedarse en ella, y empieza la atencin inmediatamente, en caso
contrario, es decir si el cajero est ocupado, el cliente se queda en la zona de espera
(haciendo cola) hasta que el cajero se desocupe. En el momento que el cajero se
desocupa el cliente deja la cola y pasa a ser atendido. Cuando el cliente termina de
ser atendido por el cajero se va de la agencia bancaria.
Inicio de la Simulacin:
El problema no nos habla de ningn requisito para el inicio de la simulacin, por ello
solo consideraremos que la simulacin se inicia en el momento TNOW = 0.0 y que la
agencia, en este momento, est vaca.
Fin de la simulacin:
Segn el enunciado para que termine la simulacin es necesario que 200 clientes
hayan sido atendidos. Esto significa que solo deben entrar a nuestro sistema 200
entidades (para nuestro caso clientes).
65
Simulacin de Sistemas
Esquema:
LLEGADA DE
VENTANILLAS Dispose 1
CLIENTES
0 0
0
El Mdulo CREATE:
66
El Mdulo PROCESS:
El Mdulo DISPOSE
Estos elementos tienen sus propias caractersticas. ARENA les coloca algunas
caractersticas por defecto. Esto se puede apreciar en los mdulos de DATOS. Para la
entidad hay un mdulo de datos llamado ENTITY y para el recurso existe el mdulo
de datos RESOURCE. Estos elementos los mostramos a continuacin.
Mdulo de datos ENTITY:
70
Aqu podemos observar que se ha definido una entidad llamada CLIENTE y que esta
entidad va a ser graficada, en la simulacin, como un Picture Repirt.
Esta entidad fue creada al definirla en el CREATE. A partir de este mdulo pueden
crearse otras entidades o cambiar las caractersticas de las mismas.
Aqu podemos ver que se ha definido un recurso llamado CAJERO, que desde que se
inicia hasta que termina la simulacin (Fixed Capacity) habr una (Capacity) una
solo Cajero (Una sola unidad del recurso).
Este recurso fue creado al definirlo en el rea RESOURCES del PROCESS, debe de
aclarase que por defecto lo crea con capacidad 1. A partir de este mdulo pueden
crearse otros recursos y/o cambiar las caractersticas de los mismos.
Ahora ya est listo para ejecutar su primera simulacin, para esto realice las siguientes
operaciones:
71
Simulacin de Sistemas
Tiempo necesario para atender a los 200 clientes (Replication ended at time):
650.88 minutos.
Tiempo promedio que un cliente paso en la cola esperando por el cajero (Average
de Ventanillas.Queue.WaintingTime): 81.69 minutos.
Problema 2.2
Considere la agencia del problema 2.1, en ella se tiene 3 cajeros, adems de que el
tiempo entre llegadas de los clientes est distribuido exponencialmente con media de
1.5 minutos y que el tiempo de atencin de un cliente est distribuido normalmente con
media de 4 minutos y desviacin estndar de 0.1 minuto. Ahora la agencia trabajara 8
horas y se desea determinar el tiempo trabajado por los cajeros.
Solucin:
Nota: Este es un problema de dos o ms servidores en paralelo con una sola cola
Cola de Salida de
clientes delante clientes
Arribo de del cajero
clientes
Clientes siendo
atendidos en
los cajeros
Modelo:
LLEGADA DE SALIDA DE
VENTANILLAS
CLIENTES CLIENTES
0 0
0
74
El Mdulo CREATE
Los elementos dentro de los crculos muestran las diferencias entre el CREATE de
este modelo y el del anterior:
El Mdulo PROCESS
75
Simulacin de Sistemas
Los elementos dentro de los crculos muestran las diferencias entre el PROCESS de
este modelo y el del anterior:
El tiempo que se necesita para que un cliente sea atendido por un cajero,
en este caso, est distribuido normalmente con media de 4 minutos y una
desviacinestndar de 0.1 minuto.
Para hacer que la simulacin se ejecute por 8 horas, debemos usar Replicarions
Parameters de RUN SETUP:
76
Los valores que se determinaron en el problema anterior, para este problema son:
Tiempo que trabajo la agencia bancaria (Replication ended at time): 480.00
minutos.
77
Simulacin de Sistemas
Tiempo promedio que un cliente paso en la cola esperando por el cajero (Average
de Ventanillas.Queue.WaintingTime): 4.15 minutos.
Problema 2.3
En base del problema 2.2 y considerando que el pago de los cajeros se calcula de la
siguiente forma: 10 dlares por hora que este atendiendo a clientes, 5 dlares por la
hora en que no tenga clientes y 0.20 dlares por cada cliente atendido, determine la
siguiente informacin:
Cunto debe pagar cada cliente por el uso de cajero.
Solucin:
Nota: En este problema se pone un costo a los recursos.
El esquema de funcionamiento del sistema es el mismo que el del problema 2.2, por
ello el modelo es el mismo, por eso aqu los omitimos.
El costo de recurso es un dato, por ello esto debe ser manejado a partir del mdulo de
datos RESOURCE:
Observamos que presentan los campos, an vacos; Busy/Hour, Idle/ Hour, Per Use.
En Busy/Hour debe ponerse el costo por hora que el recurso est trabajando.
En Idla/Hour debe ponerse el costo por hora que el recurso est en el sistema, pero
que por dinmica del mismo (falta de clientes) no trabaje.
En Per Use debe ponerse lo paga por cada trabajo hecho por el recurso.
Para que los resultados aparezcan en el reporte final es necesario que se active la
opcin de costos, para ello use la lengeta Project Parameters de RUN SETUP.
79
Simulacin de Sistemas
En l podemos observar:
El costo por uso del cajero por cada cliente (Cliente.TotalCost) = 0.86642 dlares.
80
El costo del cajero por el tiempo que estuvo atendiendo a los clientes
(CAJERO.BusyCost) = 197.92 dlares.
El costo del cajero por el tiempo quee stuvo en en el sistema sin atender clientes
(CAJERO.IdleCost) = 20.315 dlares.
El costo del cajero por atender a los cada cleinte (CAJERO.UsageCost) = 60.000
dlares.
Problema 2.4
Considere, en base de la pregunta 2.3, que existe otro tipo de cliente: VIP, a los
clientes actuales se les llama clsicos. El tiempo entre llegadas de este nuevo tipo de
clientes est distribuido exponencialmente con media de 5 minutos, el primero de
estos clientes llega 4 minutos despus de iniciado el funcionamiento de la agencia.
Los cajeros atienden a todos los clientes sin distincin alguna. Determine los costos de
los cajeros para cada tipo de clientes.
Solucin:
Nota: Este es el mismo tipo de problema que el 2.3, dos o ms servidores con una
sola cola, la diferencia es que es que hay dos tipos de clientes. Estos dos tipos de
clientes se diferencian, en el modelo, por la forma como llegan: los primeros siguiendo
una distribucin exponencial con media de 1.5 y los segundos siguiendo una
distribucin exponencial con media de 5 minutos.
El Modelo:
LLEGADA DE SALIDA DE
VENTANILLAS
CLIENTES CLIENTES
0 0
0
LLEGADA DE
VIPs
0
81
Simulacin de Sistemas
Mdulo DECIDE
82
Descripcin:
Este mdulo sirve para tomar decisiones dentro del sistema. Estas decisiones pueden
ser tomadas en base de una o ms condiciones, por ejemplo si el cliente del banco es
tipo VIP, o basadas en una o ms probabilidades, por ejemplo el 57% es verdadero y
el 43% es falso. Las condiciones pueden ser dadas por el valor de un atributo, por
ejemplo Prioridad, por el valor de una variable, por ejemplo Nmero en sistema, por el
tipo de entidad o por una expresin, por ejemplo NQ(Maquina.Queue).
Usos clsicos:
Parmetros:
Valor por
Parmetro Descripcin Ejemplo
defecto
Name Identificador del modulo, debe ser nico Decide 1 Hay cola?
es decir no repetirse para otro.
Type Indica si la decisin se basa en una 2 way by 2 way by
condicin (Si X > Y) o por porcentaje (40% Chance Chance
si, 60% no).
Mdulo ASSIGN
85
Simulacin de Sistemas
Descripcin:
Este mdulo se usa para asignar nuevos valores a: variables, attributes, entity types,
entity pictures u otras varoables del sistema.
Usos Clsicos:
b. Cambiar un tipo de entidad para representar una copia del cliente o para representar
un forma multi pginas.
Parmetros:
Valor por
Parmetro Descripcin Ejemplo
defecto
Name Identificador del modulo, debe ser nico es Assign 1 Datos del
cliente
decir no repetirse para otro.
Assignment Especifica una o ms asignaciones que serm
s hechas cuando una entidad llegue a este
mdulo.
Type El tipo de asigancin que de har. Variable Attribute
Problema 2.5
Considere, en base del problema 2.4, que los clientes VIP deben ser atendidos con
prioridad por los cajeros. Presente los indicadores pedidos en la pregunta 4.
Solucin:
Nota: En el problema 2.4 se presentan dos tipos de clientes: Clsicos y VIP. Todos
son atendidos de acuerdo al orden de llegada (FIFO = First In First Out = Primero en
Llegar Primero en Salir). Ahora se quiere que los clientes VIP sean atendidos con
prioridad por los cajeros, esto quiere decir que si hay un cliente VIP esperando a ser
atendido y tambin hay otro tipo de cliente esperando por lo mismo, el cliente VIP
debe ser atendido primero sin importar la hora en que este haya llegado. Si hubiera
varios clientes VIP esperando ellos sern atendidos de acuerdo a la hora de llegada.
El modelo anterior:
LLEGADA DE SALIDA DE
VENTANILLAS
CLIENTES CLIENTES
0 0
0
LLEGADA DE VIPs
Los cambios:
Para dar la prioridad de ser atendido debemos hacer que la entidad elegida se coloque
en la cabecera de la cola, es decir se ubique en la posicin que le permita ser la
prxima en salir de ella. Para ello lo primero que debemos hacer es identificar a las
entidades, esto es a cada tipo de entidad ponerle dentro de un atributo, al que
88
El nuevo modelo:
LLEGAD A D E D ATOS DE
VIPs C LIEN TES VIP
0
Ahora la prioridad un cambio dentro de la cola, por ello debemos usar un mdulo de
datos QUEUE.
La regla Last In First Out (LIFO) significa que pondr en la cabecera de la cola a la
ltima entidad que llegue hasta ese momento.
La regla Lowest Attribute Value significa que pondr en la cabecera de la cola a la que
tenga el menor valor dentro de un atributo determinado.
La regla Highest Attribute Value significa que pondr en la cabecera de la cola a la que
tenga el mayor valor dentro de un atributo determinado.
Se le pide al alumno compare estos resultados con los pbtenidos para el problema 2.4
y de sus conclusiones administrativas.
Problema 2.6:
En base del problema 2.5 considere que los clientes clsicos son de dos tipos: clientes
propios del banco y aquellos que van a pagar servicios (a los que llamaremos
usuarios). De todos los clientes clsicos el 70% son clientes propios y el 30% usuarios.
Entre estos clientes los propios deben tener prioridad de ser atendidos.
Solucin:
Nota: Aqu parecen dos tipos de clientes cuya diferencia est dada por una
probabilidad, teniendo una misma distribucin entre los tiempos de llegada. En este
caso no necesitamos hacer otro CREATE, sino que debemos hacer dos caminos uno
para identificar a los propios y otro para identificar a los usuarios, esto lo haremos con
un mdulo DECIDE.
91
Simulacin de Sistemas
El modelo:
0 DA TOS DE
LLE GA DA DE QURE TIPO DE T ru e
S A LIDA DE
CLIE NTE S V E NTA NILLA S
CLIE NTE S CLIENTE ES? P ROP IOS
CLIE NTE S
0 0
0
0 Fals e
DA TOS DE
CLIE NTE S
US UA RIOS
LLE GA DA DE DA TOS DE
V IP s CLIE NTE S V IP
0
El mdulo DECIDE:
Aqu se determina que el 70% de clientes van a salir por la salida TRUE, es decir por
esta salida saldrn los clientes PROPIOS.
En los ltimos ASSIGN se puede apreciar que: el atributo TIPO para el cliente propio
tiene el valor de 1 y para el cluente USUARIO tiene el valor de 0. Esto se hace para
mantener la prioridad de la cola de los cajeros; as en que tenga mayor prioridad de
atencin el es VIP (TIPO = 2), le sigue en prioridad el PROPIO (TIPO = 1) y finalmente
el USUARIO (TIPO = 0).
Por otro lado se ha cambiado el tipo de cliente (Entity Type), como USUARIO o
PROPIO como sea la circunstancia.
Por otra parte podr observar que: CLIENTE.TotalTime = ---, esto se debe a que la
entidades CLINTE han desaparecido tranformandose en PROPIO o USUARIO, po r
ello es que no guarda informacin de los CLIENTE.
93
Simulacin de Sistemas
Problema 2.7:
El gerente de la agencia desea hacer mas eficiente el servicio al cliente, por ello quiere
probar las siguientes alternativas.
b. Que exista un cajero para los cliente USUARIO, dos cajeros para el cliente PROPIO y el
cliente VIP debe ser atendedopor cualquiera de ellos con una mayor prioridad. Si al
llegar un cliente VIP todos los cajeros estn desocupados, este es atendido por el
cajero de USUARIOS.
Solucin:
Alternativa a:
Nota: El cambio es que ahora existe un cajero (recurso) para cada tipo de cliente y
cada uno de ellos atender en su propio PROCESS.
El modelo:
0 DA TOS DE
LLE GA DA DE QURE TIPO DE T ru e
V E N TA NILLA D E
CLIE NTE S
CLIE NTE S CLIENTE ES? P ROP IOS
P ROP IOS
0
0
0 Fa ls e
Observe que se ha eliminado (en forma manual) el recurso CAJERO y se han creado
los recursos mencionados lineas arriba.
Alternativa b:
Nota: En este problema vamos a definir 2 tipos de recursos: un tipo para los clientes
USUARIO con capacidad 1 y un tipo para los clientes PROPIO con capacidad 2. Para
los clientes VIP definiremos un conjunto (SET) de recursos conformado por los
recursos anteriormente definidos.
El modelo:
La lgica del modelo es similar al problema anterior, lo que cambia es los datos.
0 DA TOS DE
LLE GA DA DE QURE TIPO DE T ru e
V E NTA NILLA DE
CLIE NTE S
CLIE NTE S CLIENTE ES? P ROP IOS
P ROP IOS
0
0
0 Fa ls e
Observe que se han definido dos recursos: CAJPROP, para los clientes PROPIO, con
capacidad 2 y CAJUSUA, para clientes USUARIO, con capacidad 1.
Como cualquiera de estos recursos puede atender a los clientes VIP, entonces debe
haber un recurso que abarque a los ya definidos, esto se logra haciendo un conjunto
(SET) de recursos. Esto se muestra en la siguiente figura:
Observe que en el modulo SET se define el conjunto (CAJVIP) junto con el tipo de
elementos que tiene el conjunto (Resource en Type) y finalmente el nmero de
98
elementos que tiene el conjunto, dentro de este nmero est la relacin de elementos,
aqu debe definirse el orden en que deben usarse los recursos.
Los modulos PROCESS de los clientes USUARIO y PROPIO son identicos a los del
problema 2.7.a, el mdulo PROCESS para los clientes VIP es:
Aqu podemos observar que para que los clientes VIP tengan prioridad de ser
atendidos, sobre cualquiera de los otros clientes, se ha dado una mayor prioridad al
proceso (Priority: High(1)) por estar en colas diferentes.
Problema 2.8:
Basado en el problema 2.7.b, considere que el tiempo entre llegadas de los clientes
tipo PROPIO y USUARIO, est distribuido exponencialmente pero con una media que
vara de acuerdo a la hora. Esta variacin se presenta en la siguiente tabla:
Horario Media
De 9:30 a 11:00 2
De 11:00 a 12:30 1.5
De 12:30 a 14:00 1
De 14:00 a 16:00 1.5
De 16:00 hasta el final 2
Considere que la agencia inicia sus operaciones a las 9:30 de la maana. Modele este
problema y determine los indicadores pedidos en las preguntas anteriores.
Solucin:
Notas: En este problema nos indican que el tiempo entre llegadas de los clientes sigue
una distribucin exponencial cuya media esta variando de acuerdo al tiempo. Para
100
modelar esta situacin existen diferentes maneras. Aqu mostraremos dos formas:
usando una variable, a la que llamaremos MEDIA, y la otra usando un SCHEDULE.
a. Usando la Variable:
Las variables las podemos definir desde el mdulo ASSIGN o desde el mdulo
VARIABLE. Usamos este ltimo mdulo cuando queremos que la variable inicie la
simulacin con un valor determinado diferente de cero (0) y usamos la definicin en el
mdulo ASSIGN cuando el valor inicial de la variable es cero (0).
Para este problema la variable MEDIA debe tener un valor de 2 cuando se inicie la
simulacin, por ello usaremos el mdulo de datos VARIABLE:
Mdulo VARIABLE
Descripcin:
Este mdulo se usa para definir la dimensin y los valores iniciales de las variables.
Estas variables pueden ser referenciadas en otros mdulos (Ejemplo en el Mdulo
DECIDE), se les puede reasignar otros valores mediante el mdulo ASSIGN, y pueden
ser usadas en cualquier expresin.
Parmetros:
Esta variable debe cambiar de valores conforme pasa el tiempo, esto lo hacemos mediante una
red, como sigue:
CONTROL DE LA SEGUNDO
DE 930 A 1100 DE 1100 A 1230 TERCER VALOR
MEDIA VALOR DE LA
DE LA MEDIA
MEDIA
0
0 0
0 DA TOS DE
LLE GA DA DE QURE TIPO DE T ru e
V ENTA NILLA DE
CLIE NTE S
CLIE NTE S CLIENTE ES? PROP IOS
P ROP IOS
0
0
0 Fals e
CONTROL DE LA S E GUNDO
DE 930 A 1100 DE 1100 A 1230 TE RCE R V A LOR
ME DIA V A LOR DE LA
DE LA ME DIA
ME DIA
0
0 0
DE 1230 A 1400 CUA RTO V A LOR DE 1400 A 1600 QUINTO V A LOR Dispose 2
DE LA ME DIA DE LA ME DIA
0
0 0
0 DA TOS DE
LLE GA DA DE QURE TIPO DE T ru e
V E NTA NILLA DE
CLIE NTE S
CLIE NTES CLIENTE ES? P ROP IOS
P ROP IOS
0
0
0 Fals e
b. Usando SCHEDULE
Mdulo SCHEDULE
Descripcin:
Este mdulo de datos puede ser usado juntamente con el mdulo RESOURCE para
definir la programacin de uso de un recurso o con el mdulo CREATE para definir un
programa de arribos. Puede usarse de otras maneras, que en casi se a necesario lo
mostraremos a lo largo del desarrollo de la asignatura.
Usos Clsicos:
Calendario de trabajo para el personal, incluidas las pausas.
Parmetros:
Si el formato es
Duration el
Schedule es
definido con una
coleccin de
valores de duracin.
Si le formato es
Calendar el
Schedule es
definido usando el
Time Pattern editor
Type Tipo del Schedule Capacity Capacity
que est siendo
definido. Puede
ser:
Capacity related:
para programar
recursos.
Others: Diversas
formas de retrasos.
Time Units Unidad de tiempo Hours Minutes
usada en el
programa.
Scale Factor Mtodo de escala 1 2
del SCHEDULE
para aumentar o
disminuir en los
108
valores
Arrival/Others.
Durations Lista de valores del 0 rows 2 rows
SCHEDULE.
Los valores pueden
ser capacidad,
arribos u otro tipo,
con su respectiva
duracin.
Los valores se
repiten despus de
que se termina su
definicin.
Value Representa la
capacidad de los
recursos, el ratio de
arribos o otros.
Duration El tiempo
especificado para
cada valor.
El modelo:
El modelo es similar al del problema anterior, por lo que mostraremos solo los
cambios:
0 DATOS DE
LLEGADA DE QURE TIPO DE T ru e
VENTA NILLA DE
CLIE NTES
CLIE NTES CLIENTE ES? PROPIOS
PROPIOS
0
0
0 Fa ls e
El problema dice que entre las 9:30 y laa 11:00, la media de la exponencial es 2
minutos. Esto significa que en una hora llegan en promedio 30 (60/2) clientes. As
podemos concluir:
La lista de los valores son: (haga cluck derecho sobre 5 rows y se despiega un men
de acciones, luego ingrese a Edit via dialog)
110
Con esto a creado el progama de llegadas, ahora debe conectar este programa al
modulo CREATE los clientes PROPIO y USUARIO, como se muestra a continuacin:
Nota: El alumno observar que hay una diferencia entre los resultados de las dos
formas de modelar este problema, esto se debe a la aleatoriedad del mismo, lo que
explicaremos ms adelante.
111
Simulacin de Sistemas
Problema 2.9
En base del problema 2.8, considere que el banco tiene abiertas sus puertas desde las
9:30 de la maana hasta las 6 de la tarde, despus de esta hora se cierran las puertas
para que ya no ingresen clientes, la atencin del banco termina cuando todos los
clientes que entraron hayan salido. Modele este problema y determine los indicadores
pedidos en las preguntas anteriores.
Solucin:
Nota: En los problemas anteriores la simulacin terminaba a las ocho horas de
iniciada, as habian clientes que se quedaban dentro del banco (en cola o siendo
atendidos) al terminar la simulacin. Este final de atencin del banco no es muy real, el
banco recibe clientes hasta cierta hora, depues cuerra sus puertas y continua
atendiendo a los clientes que estan dentro del banco hasta que se halla atendido el
ltimo.
Par modelar esta situacin existen varias formas, aqu se mostrara una de ellas:
Para mostrar la solucin de este problema usaremos la opcin 2.8b del probkema 2.8
(se deja al alumno que lo haga con la otra opcin).
112
El modelo:
El modelo es similar al del problema 2.8B:
0 T ru e DA TOS DE
LLE GA DA DE QURE TIPO DE V E N TA NILLA DE
CLIE NTE S
CLIE NTE S CLIENTE ES? P ROP IOS
P ROP IOS
0
0
0 F a ls e
Problema 10:
En base del problema 9, considere que los cajeros que atienden a los clientes
PROPIOS y VIP, trabajan solo 8 horas. Pero uno de ellos incia su trabajo a las 9:30 y
el otro dos horas depus. Por su parte el cajero que atiende a los clientes USUARIOS
trabajn desde las 9:30 por todo el tiempo que sea necesario. Modele este problema y
determine los indicadores pedidos en las preguntas anteriores.
Solucin:
Cuando se define un recurso, por defecto se considera que, este recurso, esta
presente en el sistema durante toda la simulacin. En este problema vemos que los
recursos (cajeros) no van a estar durante toda la simulacin, para resolver este
inconveniente debemos de ponerle un horario de trabajo a cada uno de los cajeros
que atienden a los clientes PROPIO, el cajero que atiende a los clientes USUARIO
trabaja todo el tiempo por lo que no necesitahorario.
En el problema 2.9, el recurso que atiende a los clientes PROPIO y VIP se llama:
CAJPRO y tiene capacidad de 2 para todo el tiempo de la simulacin. Para este
problema, por los horarios dispuestos, la capacidad de este recuros es:
114
Problema 11:
Basndose en el problema 10, considere que los clientes tipo PROPIO y USUARIO
llegan en grupos de 1, 2 o 3 personas, con las probabilidades de 95%, 3% y 2%
respectivamente, modele este escenario y determine los valores de las variables
pedidas en los problemas anteriores.