63
Simulación de Sistemas
Problema 2.1: UNA AGENCIA BANCARIA
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 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.
Solución: Nota: Este es un problema de un servidor con su propia cola
Para modelar esta situación debemos de considerar lo siguiente:
a. La llegada de los clientes. cl ientes. b. Qua hacen los l os clientes dentro de la agencia bancaria. c. Inicio de la s imulación. d. Fin de la simulación.
Llegada de los clientes:
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 distribución uniforme entre 1 minuto y cuatro minutos. No hay más información al respecto por lo que se debe asumir que:
En cada arribo llega un solo cliente. El primer cliente arriba en el momento que se inicia la simulación (TNOW = 0.0).
64
Escuela Profesional de I ngeniería Industrial
Si algunos de estos elementos debieran ser diferentes, el enunciado lo diría explícitamente.
Qué hacen los clientes dentro de la agencia:
Después 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 atención 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 cajero se desocupe. En el momento que 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 Simulación:
El problema no nos habla de ningún requisito para el inicio de la simulación, por ello solo consideraremos que la simulación se inicia en el momento TNOW = 0.0 y que la agencia, en este momento, está vacía.
Fin de la simulación:
Según el enunciado para que termine la simulación es necesario que 200 clientes hayan sido atendidos. Esto significa que solo deben entrar a nuestro sistema 200 entidades (para nuestro caso clientes).
64
Escuela Profesional de I ngeniería Industrial
Si algunos de estos elementos debieran ser diferentes, el enunciado lo diría explícitamente.
Qué hacen los clientes dentro de la agencia:
Después 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 atención 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 cajero se desocupe. En el momento que 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 Simulación:
El problema no nos habla de ningún requisito para el inicio de la simulación, por ello solo consideraremos que la simulación se inicia en el momento TNOW = 0.0 y que la agencia, en este momento, está vacía.
Fin de la simulación:
Según el enunciado para que termine la simulación es necesario que 200 clientes hayan sido atendidos. Esto significa que solo deben entrar a nuestro sistema 200 entidades (para nuestro caso clientes).
65
Simulación de Sistemas
Esquema:
Arribo de clientes
Cliente siendo atendido en cajero
Cola de clientes delante del
Salida de clientes
El modelo en Arena
LLEGADA DE CLIENTES
VENT ANILLAS 0
0 0
El Módulo CREATE:
Di s pos e 1
66
Escuela Profesional de I ngeniería Industrial
El Módulo PROCESS:
El Módulo DISPOSE
Para ejecutar el modelo es necesario poner los parámetros del sistema: Ingrese al SETUP de la simulación:
67
Simulación de Sistemas
Después de ejecutar la orden anterior, se mostrará la siguiente ventana, observe que en esta ventana se presentas 6 lengüetas, En la lengüeta lengüeta “Project Parameters” (que por defecto está activa, si no lo estuviera actívela), ponga un nombre a su modelo como se muestra a continuación:
Active ahora la lengüeta lengüeta “Replication Parameters”, Parameters”, en esta opción cambie cambie la opción “Base Time Units”, que aparece en Hours, por Minutes; con esto le ésta diciendo a Arena que use como unidad de tiempo tiempo el minutos en su reporte reporte de resultados. Ver figura.
68
Escuela Profesional de I ngeniería Industrial
Active luego la lengüeta “Reports” y selecciones en “Default Report”: SIMAN Summary Report (.out file), la opción Display SIMAN summary report (.out file) using déjela con lo que sale por defecto, así:
69
Simulación de Sistemas
Finalmente acepte y luego guarde su modelo, este proceso se ejecuta de la misma forma como se hace en cualquier aplicación sobre Windows.
En este modelo se ha definido:
Un tipo de entidad llamado CLIENTE Un recurso llamado CAJERO.
Estos elementos tienen sus propias características. ARENA les coloca algunas características por defecto. Esto se puede apreciar en los módulos de DATOS. Para la entidad hay un módulo de datos llamado ENTITY y para el recurso existe el módulo de datos RESOURCE. Estos elementos los mostramos a continuación. Módulo de datos ENTITY:
70
Escuela Profesional de I ngeniería Industrial
Aquí podemos observar que se ha definido una entidad llamada CLIENTE y que esta entidad va a ser graficada, en la simulación, como un “Picture Repirt”. Esta entidad fue creada al definirla en el CREATE. A partir de este módulo pueden crearse otras entidades o cambiar las características de las mismas.
Módulo de datos RESOURCE
Aquí podemos ver que se ha definido un recurso llamado CAJERO, que desde que se inicia hasta que termina la simulación (“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 módulo pueden crearse otros recursos y/o cambiar las características de los mismos. Ahora ya está listo para ejecutar su primera simulación, para esto realice las siguientes operaciones:
71
Simulación de Sistemas
Al terminar el proceso de simulación sale una ventana de mensajes, como la siguiente:
Haga click en el botón “si”, para ver el reporte:
72
Escuela Profesional de I ngeniería Industrial
En este reporte podemos observar la siguiente información:
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. Porcentaje
de
tiempo
que
estuvo
trabajando
el
cajero
(Average
de
CAJERO.Utilization): 0.993002% Número promedio de clientes en la cola esperando para ser atendico en el cajero (Average de VENTANILLAS.Queue.NumberInQueue): 25.1 clientes.
73
Simulación de Sistemas
Tiempo que demando al computador hacer la simulación (Simulaction run time): 0,03 minutos.
Problema 2.2
Considere la agencia del problema 2.1, en ella se tiene 3 cajeros, además de que el tiempo entre llegadas de los clientes está distribuido exponencialmente con media de 1.5 minutos y que el tiempo de atención de un cliente está distribuido normalmente con media de 4 minutos y desviación estándar de 0.1 minuto. Ahora la agencia trabajara 8 horas y se desea determinar el tiempo trabajado por los cajeros.
Solución:
Nota: Este es un problema de dos o más servidores en paralelo con una sola cola
El esquema del problema es muy parecido al anterior y lo presentamos a continuación:
Salida de clientes
Cola de clientes delante del cajero
Arribo de clientes
Clientes siendo atendidos en los cajeros Modelo:
LLEGADA DE CLIENTES
VENTANILLAS 0
SALIDA DE CLIENTES 0
0
74
Escuela Profesional de I ngeniería Industrial
El Módulo CREATE
Los elementos dentro de los círculos muestran las diferencias entre el CREATE de este modelo y el del anterior:
En Type la distribución entre llegadas es Exponencial, esta distribución viene directamente en el catalogo de Type. La media de la distribución exponencial es 1.5 minutos. En el problema anterior la simulación terminaba cuando 200 clientes habían llegado, se terminaba la simulación por una cantidad de clientes, en el caso actual la simulación se termina cuando transcurre un tiempo (8 horas), esto se controla en otra parte. El Módulo PROCESS
75
Simulación de Sistemas
Los elementos dentro de los círculos 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 desviaciónestándar de 0.1 minuto. Es de hacer notar que en la zona “Resources”, la orden sigue igual, pués cada cliente necesita de un cajero para hacer la transacción. Que existan 3 cajeros, como dice el enunciado de este problema, no significa que cada cliente nrcesite de ellos 3 para hacer la transacción. Este tres es la capacidad del recurso, no es la cantidad de unidades de recurso que necesita una entidad para realizar el proceso. Por ello de debe modificar la capacidad del recurso a partir del módulo de datos RESOURCE:
Para hacer que la simulación se ejecute por 8 horas, debemos usar Replicarions Parameters de RUN SETUP:
76
Escuela Profesional de I ngeniería Industrial
La zona marcada por el circulo es la que debe de cambiarse: en “Replication length” debe ponerse la cantidad del tiempo a simular y en “Time Units” las unidades de tiempo en que esta el dato anterior. En este problema nos piden 8 horas, pudo haberse escrito, 480 minutos ó 0.3 dias.
Ejecutamos la simulación y obtenemos:
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
Simulación de Sistemas
Tiempo promedio que un cliente paso en la cola esperando por el cajero (Average de Ventanillas.Queue.WaintingTime): 4.15 minutos. Porcentaje de tiempo que estuvo trabajando cada cajero (Average de CAJERO.Utilization): 83% Número promedio de clientes en la cola esperando para ser atendico en el cajero (Average de VENTANILLAS.Queue.NumberInQueue): 2.67 clientes. Tiempo que demando al computador hacer la simulación (Simulaction run time): 0,02 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 dólares por hora que este atendiendo a clientes, 5 dólares por la hora en que no tenga clientes y 0.20 dólares por cada cliente atendido, determine la siguiente información: Cuánto debe pagar cada cliente por el uso de cajero. Cuánto debe pagarse a los cajeros.
Solución: 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 módulo de datos RESOURCE:
En el problema 2.2, este módulo era:
78
Escuela Profesional de I ngeniería Industrial
Observamos que presentan los campos, aún vacíos; Busy/Hour, Idle/ Hour, Per U se. 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 dinámica del mismo (falta de clientes) no trabaje.
En Per Use debe ponerse lo paga por cada trabajo hecho por el recurso.
Así el módulo RESOURCE actual queda de la forma:
Para que los resultados aparezcan en el reporte final es necesario que se active la opción de costos, para ello use la lengüeta “Project Parameters” de “RUN – SETUP”.
79
Simulación de Sistemas
Guarde el modelo y luego ejecutelo. Al terminar la simulación le aparecerá el siguiente reporte:
En él podemos observar: El costo por uso del cajero por cada cliente (Cliente.TotalCost) = 0.86642 dólares.
80
Escuela Profesional de I ngeniería Industrial
El costo del cajero por el tiempo que estuvo atendiendo a los clientes (CAJERO.BusyCost) = 197.92 dólares. El costo del cajero por el tiempo quee stuvo en en el sistema sin atender clientes (CAJERO.IdleCost) = 20.315 dólares. El costo del cajero por atender a los cada cleinte (CAJERO.UsageCost) = 60.000 dólares. 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 clásicos. 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 después de iniciado el funcionamiento de la agencia. Los cajeros atienden a todos los clientes sin distinción alguna. Determine los costos de los cajeros para cada tipo de clientes.
Solución:
Nota: Este es el mismo tipo de problema que el 2.3, dos o más 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 distribución exponencial con media de 1.5 y los segundos siguiendo una distribución exponencial con media de 5 minutos.
El Modelo:
LLEGADA DE CLIENTES
VENTANILLAS 0
0 0
LLEGADA DE VIPs 0
SALIDA DE CLIENTES
81
Simulación de Sistemas
El módulo CREATE de los clientes VIP:
Observar que es necesario este nuevo CREATE pues la distribución de llegada no es la misma que para los otros clientes, otra diferencia es que el primer cliente llega 4 minutos después de iniciado el funcionamiento de la agencia. Se deja al alumno ejecutar el modelo y comprobar que:
El costo del cajero por un cliente normal es: 0.86583 dólares. El costo del cajero por un cliente VIP es: 0.86407 dólares.
Antes de continuar con la relación de problemas les mostraremos dos módulos de flujos básicos más: ASSIGN y DECIDE.
Módulo DECIDE
82
Escuela Profesional de I ngeniería Industrial
Descripción:
Este módulo sirve para tomar decisiones dentro del sistema. Estas decisiones pueden ser tomadas en base de una o más condiciones, por ejemplo si el cliente del banco es tipo VIP, o basadas en una o más 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 Número en sistema, por el tipo de entidad o por una expresión, por ejemplo NQ(Maquina.Queue).
Usos clásicos:
a. Envíos de partes defectuosas para que sean mejoradas. b. Ramificar los cheques aceptados vs. Los cheques denegados. c. Enviar con prioridad a las entidades a un determinado proceso.
Parámetros:
Parámetro
Name
Descripción
Identificador del modulo, debe ser único
Valor por defecto
Ejemplo
Decide 1
Hay cola?
Indica si la decisión se basa en una
2 – way by
condición (Si X > Y) o por porcentaje (40%
Chance
2 – way by Chance
es decir no repetirse para otro. Type
si, 60% no).
El Type puede ser especificado como:
“2 – way by Chance” - para una probabilidad
“2 – way by Condition” - para una condición
“N-way by Chance” – para cualquier
83
Simulación de Sistemas
número de probabilidades que se especifiquen más una salida “else”.
“N-way by Condition” – para cualquier número de condiciones que se especifiquen más una salida “else”. Conditions
Define una o más condiciones mediante las cuales se dirigen las entidades a diferentes módulos.
Solo aparece cuando Type es “N-way by Condition”. Percentages
Define una o más probabilidades mediante las cuales se dirigen las entidades a diferentes módulos.
Solo aparece cuando Type es “N-way by Chance”. Percentage
Valor que se ha de chequear para
True
determinar el porcentaje de entidades que
50
20
saldrán por la salida True. If
Tipos de condiciones que están
Entity Type
disponibles para evaluación: Variable, Variable Array (1D), Variable Array (2D), Attribute, Entity Type, Expression. Named
Específica el nombre de la variable,
Entity 1
atributo, etc., que será evaluado al momento quela entidad ingresa el mádulo.
No aparece cuando Type es Expression. Is
Evaluados para la condición.
Sólo aparece cuando Conditions es Attribute o Variable.
>=
<
84
Escuela Profesional de I ngeniería Industrial
Row
Especifica la fila para una variable tipo
1
3
1
2
1
8
arreglo (matriz).
Solo aparece cuando Type es “N-way by Condition” o “2 – way by Condition”, y la Variable es Array (1D) o Array (2D).
Column
Especifica la columna para una variable tipo arreglo (matriz).
Solo aparece cuando Type es “N-way by Condition” o “2 – way by Condition”, y la Variable es Array (1D) o Array (2D).
Value
Expresión que será comparada con un atributo p variable, o que será evaluada como una simple expresión si es verdadera o falsa.
No aparece cuando Conditions es Entity Type.
Módulo ASSIGN
85
Simulación de Sistemas
Descripción:
Este módulo se usa para asignar nuevos valores a: variables, attributes, entity types, entity pictures u otras varoables del sistema.
Se pueden hacer varias asignaciones en un solo módulo Assign.
Usos Clásicos:
a. Acumular el número de subensambles realizadas a una parte. b. Cambiar un tipo de entidad para representar una copia del cliente o para representar un forma multi páginas. c. Establecer una prioridad del cliente.
Parámetros:
Parámetro
Name
Descripción
Identificador del modulo, debe ser único es
Valor por defecto
Assign 1
Datos del cliente
Variable
Attribute
Variable 1
Cantidad
decir no repetirse para otro. Assignment
Especifica una o más asignaciones que serám
s
hechas cuando una entidad llegue a este
Ejemplo
módulo. Type
El tipo de asiganción que de hará.
Otros pueden incluir varoables del sistema, tales como capacidad del recurso, momento en que termina al asimulación. Variable
Nombre de la varoable a la que se le easinará
Name
un nuevo valor cuando la entidad entre en el módulo.
86
Escuela Profesional de I ngeniería Industrial
Aparece solo cuando Type es Variable y Variables es Variable Array (1D), Variable Array (2D). Row
Especifica la fila para una variable tipo arreglo.
1
8
Column
Especifica la columna para una variable tipo
1
6
Attribute 1
Color
Entity 1
Cliente
arreglo. Attribute
Nombre del atributo de entidad al que se le
Name
asignará un nuevo valor cuando la entidad ingrese al módulo.
Aparece solo cuando Type es Attribute. Entity Type
Nuevo tipo de entidad que se le asignará a la entidad, cuando la entidad ingrese al módulo.
Aparece solo cuando Type es Entity Type. Entity
Nuevo gráfico de la entidad que se le asignará
Picture.Re
Picture
a la entidad, cuando la entidad ingrese al
port
módulo.
Aparece solo cuando Type es Entity Picture. Other
Especifica la variable “especial” del sistema a
J
la que se le asignará un nuevo valor c uando la entidad ingrese al módulo.
Aparece solo cuando Type es Other. New Value
Valor que será asignado al atributo, Variable u otra variable del sistema.
No aparece cuando Type es Entity Type o Entity Picture.
Ahora continuamos con los ejemplos:
1
87
Simulación de Sistemas
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.
Solución:
Nota: En el problema 2.4 se presentan dos tipos de clientes: Clásicos 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 también 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 serán atendidos de acuerdo a la hora de llegada.
El esquema del modelo es el mismo que el 2.4.
El modelo anterior:
LLEGADA DE CLIENTES
VENTANILLAS
SALIDA DE CLIENTES 0
0 0
LLEGADA DE VIPs 0
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 posición que le permita ser la próxima 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
Escuela Profesional de I ngeniería Industrial
llamaremos TIPO, un valor diferente usando un módulo ASSIGN, así: el valor 1 significará que el cliente es Clásico y si el valor es 2, significará que el cliente es VIP.
El nuevo modelo:
LLEGADA DE CLIENTES 0
DATOS DE CLIENTES CLASICOS
VENTANILLAS
0 0
LLEGADA DE VIPs
SALIDA DE CLIENTES
DATOS DE CL IENTES VIP 0
El módulo ASSIGN “DATOS DE C LIENTES CLASICOS”:
La forma como se asigna el atributo:
89
Simulación de Sistemas
El módulo ASSIGN “DATOS DE C LIENTES CLASICOS”:
Ahora la prioridad un cambio dentro de la cola, por ello debemos usar un módulo de datos QUEUE.
El módulo de datos QUEUE actual presenta la forma:
En ella se puede observar que la cola VENTANILLAS.Queue ordena a las entidades dentro de ella mediante la regla FIFO (ver Type).
Al deplegar la opción Type, se presentan 4 opciones:
90
Escuela Profesional de I ngeniería Industrial
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 c ola 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.
Para nuestro problema el módulo Queue tendra la forma:
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 clásicos son de dos tipos: clientes propios del banco y aquellos que van a pagar servicios (a los que llamaremos usuarios). De todos los clientes clásicos el 70% son clientes propios y el 30% usuarios. Entre estos clientes los propios deben tener prioridad de ser atendidos.
Solución: Nota: Aquí parecen dos tipos de clientes cuya diferencia está dada por una probabilidad, teniendo una misma distribución 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 módulo DECIDE.
91
Simulación de Sistemas
El modelo:
QURE TIPO DE
LLEGADA DE CLIENTES
0 True
CLIENTE ES ?
DATOS DE CLIENTES PROPIOS
VENTANILLAS
0
SALIDA DE CLIENTES
0 0
0 False
DATOS DE CLIENTES USUARIOS
LLEGADA DE VIPs
DATOS DE CLIENTES V IP
0
El módulo DECIDE:
Aquí se determina que el 70% de clientes van a salir por la salida TRUE, es decir por esta salida saldrán los clientes PROPIOS.
El módulo DECIDE: DATOS DE LOS CLIENTES PROPIOS:
92
Escuela Profesional de I ngeniería Industrial
El módulo DECIDE: DATOS DE 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 atención 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.
Despúes de ejcutarlo el alumno encontrará los siguientes valores: El
tiempo
que
un
cliente
USUARIO
esta
dentro
de
la
agencia
es
(USUARIO.TotalTime) = 138.03 minutos. El tiempo que un cliente PROPIO esta dentro de la agencia es (PROPIO.TotalTime) = 12.808 minutos. El tiempo que un cliente VIP esta dentro de la agencia es (VIP.TotalTime) = 5.1631 minutos.
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 información de los CLIENTE.
93
Simulación 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.
a. Que cada tipo de cliente tenga su propio cajero. 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 están desocupados, este es atendido por el cajero de USUARIOS.
Solución: 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:
QURE TIPO DE CLIENTE ES ?
LLEGADA DE CLIENTES
0
0 0
True
DATOS DE CLIENTES PROPIOS
VENTANILLA DE PROPIOS 0
False
DATOS DE CLIENTES USUARIOS
VENTANILLA DE USUARIOS
SALIDA DE CLIENTES 0
0
LLEGADA DE VIPs
DATOS DE CLIENTES VIP
VENTANILLA DE VI P
0 0
94
Escuela Profesional de I ngeniería Industrial
El PROCESS “VENTANILLA PARA PROPIOS”:
Observe que el cajero para este tipo de cliente se llama CAJPRO.
El PROCESS “VENTANILLA PARA USUARIOS”:
95
Simulación de Sistemas
Observe que el cajero para este tipo de cliente se llama CAJUSUA. El PROCESS “VENTANILLA PARA VIP”:
Observe que el cajero para este tipo de cliente se llama CAJVIP. El modulo RESOURCE tiene ahora la forma:
Observe que se ha eliminado (en forma manual) el recurso CAJERO y se han creado los recursos mencionados lineas arriba.
El alumno al ejecutar el modelo encontrará los siguientes valores:
El tiempo que un cliente USUARIO esta dentro de la agencia es (USUARIO.TotalTime) = 11.015 minutos.
96
Escuela Profesional de I ngeniería Industrial
El tiempo que un cliente PROPIO esta dentro de la agencia es (PROPIO.TotalTime) = 109.07 minutos. El tiempo que un cliente VIP esta dentro de la agencia es (VIP.TotalTime) = 10.028 minutos.
Se le pide al alumno dé sus conclusiones administrativas para ver si esta opción mejora la atención al cliente.
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 lógica del modelo es similar al problema anterior, lo que cambia es los datos.
QURE TIPO DE
LLEGADA D E CLIENTES
0 True
CLIENTE ES?
DATOS DE CLIENTES PROPIOS
VE NTANILLA D E PROPIOS
0 0
0 False
DATOS DE CLIENTES USUARIOS
VEN TANILLA D E USUARIOS
SALIDA DE CLIENTES
0 0
LLEGADA DE VIPs
DATOS DE CLIENTES VIP
VEN TANILLA D E VIP
0 0
97
Simulación de Sistemas
La definición de recursos del problema 2.7.a es:
La definición de recursos del problema 2.7.b es:
Observe que se han definido dos recursos: CAJPROP, para los clientes PROPIO, con capacidad 2 y CAJUSUA, para clientes US UARIO, 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 número de
98
Escuela Profesional de I ngeniería Industrial
elementos que tiene el conjunto, dentro de este número está la relación 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 módulo 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.
Asimismo observamos que el recurso que atienda a este cliente es obtenido de un conjunto de ellos (Set, CAJVIP, 1, Preferred Order,).
El alumno al ejecutar el modelo encontrará los siguientes valores:
99
Simulación de Sistemas
El tiempo que un cliente USUARIO esta dentro de la agencia es (USUARIO.TotalTime) = 23.953 minutos. El tiempo que un cliente PROPIO esta dentro de la agencia es (PROPIO.TotalTime) = 48.837 minutos. El tiempo que un cliente VIP esta dentro de la agencia es (VIP.TotalTime) = 5.1722 minutos.
Se le pide al alumno de sus conclusiones administrativas para ver si esta opción mejora la atención al cliente. Se deja como ejercicio que el alumno resulva el ejercicio usando otra forma de asignar los recursos, por ejemplo definiendo 3 tipos de recursos cada uno con capacidad 1 y luego definiendo 2 tipos de conjuentos uno para clientes PROPIO y otro para clientes VIP.
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 varía de acuerdo a la hora. Esta variación 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 mañana. Modele este problema y determine los indicadores pedidos en las preguntas anteriores.
Solución: Notas: En este problema nos indican que el tiempo entre llegadas de los clientes sigue una distribución exponencial cuya media esta variando de acuerdo al tiempo. Para
100
Escuela Profesional de I ngeniería Industrial
modelar esta situación 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 módulo ASSIGN o desde el módulo VARIABLE. Usamos este último módulo cuando queremos que la variable inicie la simulación con un valor determinado diferente de cero (0) y usamos la definición en el módulo 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 simulación, por ello usaremos el módulo de datos VARIABLE:
Módulo VARIABLE
Descripción:
Este módulo se usa para definir la dimensión y los valores iniciales de las variables. Estas variables pueden ser referenciadas en otros módulos (Ejemplo en el Módulo DECIDE), se les puede reasignar otros valores mediante el módulo ASSIGN, y pueden ser usadas en cualquier expresión.
Parámetros:
Parámetro
Descripción
Valor Inicial
Ejemplo
Name
Identificador del
Variable 1
Contador
modulo, debe ser único es decir no repetirse para otro.
101
Simulación de Sistemas
Rows
Número de filas en
2
una variable dimensional. Columns
Número de
3
columnas en una variable dimensional. Statistics
Es una caja de
Sin chequear.
Con chequear.
Statistics
System
chequeo para determinar si se deben guardar estadísticas sobre la variable. Clear Option
Define el momento cuando el valor de la variable debe regresar a su valor inicial. Si se usa Statistics significa que se regresa al valor inicial cuando las estadísticas son borradas. Si se usa System significa que se regresa al valor inicial cuando el sistema es borrado. Si se usa None significa que nunca se regresa al valor inicial.
102
Escuela Profesional de I ngeniería Industrial
Initial Values
Se listan los valores iniciales de las variables. Este valor puede ser cambiado por medio del módulo ASSIGN.
Initial Value
Valor de la variable para iniciar la simulación.
Para nuestro ejemplo: Definimos la variable MEDIA:
Esta variable debe cambiar de valores conforme pasa el tiempo, esto lo hacemos mediante una red, como sigue:
CONTROL DE LA MEDIA
DE 930 A 1100 0
SEGUNDO VALOR DE LA MEDIA
0
DE 1230 A 1400
DE 1100 A 1230
TERCER VALOR DE LA MEDIA
0
CUARTO VALOR DE LA MEDIA
DE 1400 A 1600
QUINTO VALOR DE LA MEDIA
Dispose 2 0
0
0
103
Simulación de Sistemas
Este módulo CREATE, crea una sola entidad:
En los módulos PROCESS se deja transcurrir el tiempo sin usar recursos:
En los módulos ASSIGN se le asigna los nuevos valores a la variable MEDIA.
104
Escuela Profesional de I ngeniería Industrial
El resto de la red es similar al del problema 2.8:
QURE TIPO DE CLIENTE ES ?
LLEGADA DE CLIENTES
0 True
DATOS DE CLIENTES PROPIOS
VENTANILLA DE PROPIOS
0 0
0 False
DATOS DE CLIENTES USUARIOS
VE NTANILLA DE USUARIOS
SALIDA DE CLIENTES 0
0
LLEGADA DE VIPs
DATOS DE CLIENTES VIP
VE NTANILLA DE VIP
0 0
Lo único que debe de cambiar es la media de distribución exponencial del módulo CREATE:
La media era antes 1.5, ahora es la variable MEDIA.ç
Nota: El modelo completo sería:
105
Simulación de Sistemas
CONTROL DE LA MEDIA
DE 930 A 1100 0
SEGUNDO VA LOR DE LA MEDIA
DE 1100 A 1230
0
TERCER VALOR DE LA MEDIA
0
DE 1230 A 1400
CUARTO VALOR DE LA MEDIA
DE 1400 A 1600
QUINTO VALOR DE LA MEDIA
Dispose 2 0
0
0
QURE TIPO DE CLIENTE E S?
LLEGADA DE CLIENTES
0 True
0 0
DATOS DE CLIENTES PROPIOS
VE NTANILLA DE PROPIOS 0
False
DATOS DE CLIENTES USUARIOS
VE NTANILLA DE USUARIOS
SALIDA DE CLIENTES 0
0
LLEGADA DE VIPs
DATOS DE CLIENTES V IP
VE NTANILLA DE VIP
0 0
El alumno encontrará los siguientes resultados:
El tiempo que un cliente USUARIO esta dentro de la agencia es (USUARIO.TotalTime) = 53.021 minutos. El tiempo que un cliente PROPIO esta dentro de la agencia es (PROPIO.TotalTime) = 65.965 minutos. El tiempo que un cliente VIP esta dentro de la agencia es (VIP.TotalTime) = 5.1696 minutos.
106
Escuela Profesional de I ngeniería Industrial
b. Usando SCHEDULE Módulo SCHEDULE
Descripción:
Este módulo de datos puede ser usado juntamente con el módulo RESOURCE para definir la programación de uso de un recurso o con el módulo 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 Clásicos: Calendario de trabajo para el personal, incluidas las pausas.
Patrones de distribución de equipos. Volumen de clientes que llegan a un a tienda. Factores de la curva de aprendizaje para los nuevos trabajadores
Parámetros:
Parámetro
Name
Descripción
Identificador
Valor por defecto
del
Ejemplo
Schedule 1
HORARIO
Duration
Duration
modulo, debe ser único es decir no repetirse para otro. Format Type
Formato del Schedule que está siendo definido.
107
Simulación de Sistemas
Si el formato es Duration el Schedule es definido con una colección de valores de duración.
Si le formato es Calendar el Schedule es definido usando el Time Pattern editor Type
Tipo del Schedule
Capacity
Capacity
Hours
Minutes
1
2
que está siendo definido. Puede ser:
Capacity related: para programar recursos.
Arrival related: para el módulo CREATE.
Others: Diversas formas de retrasos. Time Units
Unidad de tiempo usada en el programa.
Scale Factor
Método de escala del SCHEDULE para aumentar o disminuir en los
108
Escuela Profesional de I ngeniería Industrial
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 duración. Los
valores
se
repiten después de que se termina su definición. Value
Representa capacidad
la 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
QURE TIPO DE CLIENTE E S?
LLEGADA DE CLIENTES
True
0 0
DATOS DE CLIENTES PROPIOS
VENTANILLA DE PROPIOS 0
False
DATOS DE CLIENTES USUARIOS
VENTANILLA DE USUARIOS
SALIDA DE CLIENTES 0
0
LLEGADA DE VIPs
DATOS DE CLIENTES VIP
VENTANILLA DE VIP
0 0
109
Simulación de Sistemas
Con el SCHEDULE no se puede programar los cambios de la media, lo que se puede programar son los ratios (ritmos) de llegada de los clientes. Por eso debemos de calcular estos ritmos.
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:
Horario
Media
Ratio de llegada
De 9:30 a 11:00
2
30
De 11:00 a 12:30
1.5
40
De 12:30 a 14:00
1
60
De 14:00 a 16:00
1.5
40
De 16:00 hasta el final
2
60
Esto valores son los que se deben programar en el SCHEDULE:
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
Escuela Profesional de I ngeniería Industrial
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 continuación:
Recuerde que LLEGADAS es el nombre del SCHEDILE creado. Dspués de ejecutar la simulación, el alumno encontrará los siguientes resultados:
El tiempo que un cliente USUARIO esta dentro de la agencia es (USUARIO.TotalTime) = 50.590 minutos. El tiempo que un cliente PROPIO esta dentro de la agencia es (PROPIO.TotalTime) = 61.404 minutos. El tiempo que un cliente VIP esta dentro de la agencia es (VIP.TotalTime) = 5.0233 minutos. 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 más adelante.
111
Simulación 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 mañana hasta las 6 de la tarde, después de esta hora se cierran las puertas para que ya no ingresen clientes, la atención del banco termina cuando todos los clientes que entraron hayan salido. Modele este problema y determine los indicadores pedidos en las preguntas anteriores.
Solución: Nota: En los problemas anteriores la simulación terminaba a las ocho horas de iniciada, así habian clientes que se quedaban dentro del banco (en cola o siendo atendidos) al terminar la simulación. Este final de atención 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 situación existen varias formas, aquí se mostrara una de ellas:
En el parámetro “Max Arrivals” de cada módulo CREATE que esista en su modelo, escriba la siguiente expresión: 999999*(“TIEMPO QUE SE PERMITE EL INGRESO DE CLIENTES” – TNOW).
“TIEMPO QUE SE PERMITE EL INGRESO DE CLIENTES” es la cantidad de horas, minutos, etc., en que esta permitido el ingreso al banco, para nuestro ejemplo de 9:30 de la mañana hasta las 6:00 de la tarde, es decir 8.5 horas o 510 minutos. La unidad de tiempo con que se debe trabajar es la unidad de tiempo que se definio en: Base Time Units de Replications Parameters en Run Setup. Asimismo se debe de dejar quela simulación pare cuando el sistema queda vacío, esto se logra dejando correr el sistema infinitamente (Infinite de Replications Parameters en Run Setup) ya que cuando el último cliente halla sido atendido la simulación termina automáticamente.
Para mostrar la solución de este problema usaremos la opción 2.8b del probkema 2.8 (se deja al alumno que lo haga con la otra opción).
112
Escuela Profesional de I ngeniería Industrial
El modelo: El modelo es similar al del problema 2.8B:
QURE TIPO DE CLIENTE E S?
L LE G A D A D E CLIENTES
0 True
DATOS DE CLIENTES PROPIOS
VEN TANILLA DE PROPIOS
0 0
0 False
DATOS DE CLIENTES USUARIOS
VE NTANILLA DE USUARIOS
SALIDA DE CLIENTES
0 0
L LE G A D A D E VIPs
DATOS DE CLIENTES VIP
VE NTANILLA DE V IP
0 0
La diferencia es que en cada modulo CREATE se ha escrito. 999999*(510-TNOW). Recuerde que la unidad base de simulación es minutos. Así:
El resultado más saltante es la duración de la simulación: 870 minutos, las puertas se cerraron a los 510 minutos, depues de este momento ya no ongresaron clientes, pero el sistema siguio trabajando hasta que el último se hall a retirado, esto ocurre a los 870 minutos. El valor de las variables que estamos observando en todos los ejemplos son:
113
Simulación de Sistemas
El tiempo que un cliente USUARIO esta dentro de la agencia es (USUARIO.TotalTime) = 53.038 minutos. El tiempo que un cliente PROPIO esta dentro de la agencia es (PROPIO.TotalTime) = 88.859 minutos. El tiempo que un cliente VIP esta dentro de la agencia es (VIP.TotalTime) = 5.0514 minutos.
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 depués. 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.
Solución:
Cuando se define un recurso, por defecto se considera que, este recurso, esta presente en el sistema durante toda la simulación. En este problema vemos que los recursos (cajeros) no van a estar durante toda la simulación, 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.
El horario se define por medio de SCHEDULE y luego se carga en el modulo PESOURCE.
Creación del horario.
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 simulación. Para este problema, por los horarios dispuestos, la capacidad de este recuros es:
114
Escuela Profesional de I ngeniería Industrial
Horario
En horas
Capacidad
De 9:30 a 11:30
2
30
De 11:30 a 17:30
6
40
De 17:30 a 19:30
2
60
De 19:30 hasta el
10
40
final
El SCHEDULE (CAPACIDAD) será: