You are on page 1of 20

1ER LABORATORIO DE PROMODEL

Simulacin de una Barbera

Ejemplo elaborado por el Ing. Luis Zuloaga Rotta

Descripcin del Sistema: A una barbera llegan los clientes con un tiempo entre arribos distribuido exponencialmente y media 15.25 minutos. Los clientes que deciden utilizar los servicios esperan en un silln cuya capacidad alcanza slo para tres clientes. El barbero se acerca al silln para recoger al cliente y lo acompaa hasta el asiento donde lo atender; una vez all le brinda el servicio en un tiempo distribuido exponencialmente con media 10.5 minutos. Una vez finalizado el servicio el cliente se retira, y el barbero, si existen clientes esperando, se acerca al silln a recoger a un nuevo cliente. Considere que de todos los clientes que arriban el 35 % no dispone de mucho tiempo y no estn dispuestos a esperar por la atencin del barbero, as que optan por retirarse si existen 3 clientes o ms esperando por ser atendidos. Construya un modelo de simulacin con ProModel y simule 8 horas de trabajo de la Barbera. Considere que los clientes se movilizan con una velocidad de 25 mpm. a. Determine en este periodo de tiempo el nmero promedio de clientes que son atendidos por el barbero, cuantos se retiran sin ser atendidos as como la longitud de la cola mxima que se forma.
b. Si llegan 3 tipos de clientes distintos A, B y C, que segn informacin

histrica, mantienen una proporcin del 25%, 45% y 30% respectivamente, determine cuantos clientes de cada tipo son atendidos por el barbero en dicho periodo de tiempo y cuantos de cada uno dejan de ser atendidos?

1. Inicie ProModel 2. Para crear un nuevo modelo vaya a la opcin File del men principal y de click sobre New 3. Defina la Informacin General para el modelo a construir. a. Pngale un Titulo (Title) a su modelo b. Seleccione la unidad de Tiempo (minutes) y la unidad de distancia (meters). c. Busque y seleccione la Librera Grfica del ProModel: pepople.glb d. De click en Ok

4. A continuacin construir el Background como fondo para su modelo 5. Vaya a la opcin Build y hacia el final del men Build haga click sobre Background Graphics y luego seleccione Behind Grid (fondo para nuestro modelo). ProModel le mostrar una pantalla de edicin para el fondo incluyendo la librera de grficos seleccionada en la Informacin General. a. Puede construir el fondo utilizando las imgenes de la librera proporcionada o a travs del uso de las herramientas de dibujo que tiene a disposicin. Incluso puede importar grficos hacia la librera y utilizarlas dentro del fondo. b. Utilice su mejor capacidad para disear un buen fondo y hacer lo ms representativo posible con el sistema real. Para nuestro modelo hemos colocado dos paredes de fondo y un piso, adems de una puerta, un silln, un estante, una maceta, un reloj, la silla de servicio y hasta un perchero para colgar los sacos. Pura imaginacin c. Una vez finalizada la construccin del fondo vaya a la opcin Build y seleccione Locations para continuar con la incorporacin de los elementos del modelo para el sistema a simular.

6. Al seleccionar Locations de la opcin Build empezaremos a introducir las locaciones del modelo. Las locaciones son los lugares por donde pasarn las entidades o transacciones a quienes se les dar el servicio.

a. Las locaciones para nuestro modelo son: Ingreso, HaciaSillonEspera, Silln, Asiento, HaciaSalida y Salida.

b. Dado que algunas de estas locaciones ya se encuentran ubicadas en el fondo que hemos construido previamente, ya no debemos seleccionar alguna imagen y colocarla como locacin, en lugar de ello seleccionaremos de entre los grficos la que se denomina Entity Spot (lugar para Entidad) y la colocaremos sobre las locaciones que ya existen. Colocaremos una para la locacin Ingreso, tres para el Silln de espera (por la capacidad), una para el Asiento de servicio y una para la locacin Salida.

c. Introduciremos una locacin cola para las locaciones que hemos denominado HaciaSillonEspera y HaciaSalida seleccionando de la librera de grficos la que se denomina Conv/Que (Conveyor/Cola o faja transportadora/Cola). Una vez colocada sobre el fondo hacemos click sobre la figura en el lugar establecido y le definimos como cola, sin olvidar que se representan como lneas quebradas.

7. A continuacin definimos las Entidades utilizando Entities de la opcin de Build del men principal. a. Definimos a los clientes seleccionando el grfico que corresponde a la persona que necesitamos. En la ventana de Entities le asignamos a la entidad un nombre, colocamos Cliente, y le asignamos una velocidad (Speed) de 25 mpm.

b. A continuacin quitamos el check de New y seleccionamos el grfico de la misma persona, pero en posicin de sentado. Esto nos permite contar con dos posiciones para nuestra entidad: Graphic 1 y Graphic 2.

8. Luego para esta entidad Cliente asignamos un tiempo entre arribos utilizando la opcin Arrivals del men de la opcin Build. Haciendo click sobre el borde donde dice Entity ProModel nos muestra una ventana desde donde seleccionamos la entidad cliente, luego indicamos a que locacin arribar, colocamos Ingreso, la cantidad que arribar cada vez (Qty Each), el tiempo en el que arribar el primer cliente (First Time) colocamos 0, la cantidad de ocurrencias para este arribo (Occurrences) colocamos 1, y la frecuencia para el tiempo entre arribos (Frequency), colocamos E(15.25) que representa a la distribucin exponencial con media 15.25 minutos.

9. Ahora definiremos los recursos utilizando Resources de las opciones del men Build. Primero seleccionamos una imagen de la librera de grficos proporcionada por ProModel y colocamos el nombre de Barbero. Definimos el nmero de unidades de este recurso dejando los valores por defecto que nos presenta el ProModel (por ejemplo vemos que el nmero de unidades es 1 y que no tiene tiempo de parada DownTime).

10. Seguimos con la construccin de nuestro modelo definiendo la ruta de trabajo para el recurso que hemos definido. Utilizamos la opcin Path Networks del men Build. a. En la ventana que nos muestra ProModel colocamos el nombre como RutaTrabajo. A continuacin hacemos los click necesarios sobre el fondo para ubicar la ruta de trabajo definiendo tres paths (definimos un path haciendo un click inicial, un click para quebrar la ruta si es necesario y doble click para finalizar el path), con ello definimos un nodo inicial y un nodo final. Colocamos el siguiente path empezando en el nodo final del anterior. Para nuestro caso la ruta es cerrada, es decir el nodo inicial del primer path coincide con el nodo final del tercer path. Por defecto cada path es bidireccional (BI) como podemos observar en la ventana de Paths que nos presenta ProModel; es bidireccional ya que el recurso podr desplazarse de ida y vuelta por dicho paths cuando en base al tiempo de recorrido el recurso lo considere necesario.

b. Para que el recurso pueda interactuar con una locacin hay que definir interfaces entre la ruta de trabajo por donde se desplazar el recurso y la locacin. Para ello en la ventana de Path Network hacemos click sobre Interfaces y definimos las interfaces haciendo click sobre el nodo de la ruta de trabajo cercano a la locacin y click sobre la locacin. En nuestro caso establecemos interfaces entre la RutaTrabajo y el SillonEspera, y entre la RutaTrabajo y el Asiento. Cuando la interface queda establecida el ProModel muestra una lnea punteada.

11. Ahora asignaremos esta ruta de trabajo al recurso. Vamos a la opcin Resources del men Build y seleccionamos a nuestro recurso Barbero y hacemos click en Specs de la ventana que nos muestra ProModel. A continuacin seleccionamos el pathnetwork que le asignaremos al recurso, en nuestro caso RutaTrabajo y hacemos click sobre Return Home if Idle (retorne a casa si esta ocioso) y seleccionando el nodo que actuar como casa, nosotros seleccionamos N1. A continuacin colocamos la velocidad del recurso cuando este libre (speed empty) y cuando est llevando algo (speed full), nosotros colocamos 25 mpm. Finalizamos dejando los otros valores asignados por defecto haciendo click sobre Ok.

12. Finalizaremos nuestro modelo definiendo las operaciones y actividades del procesamiento (opcin processing del men Build). El ProModel nos muestra dos ventanas, una denominada Process y la otra Routing. a. Sobre la ventana Process hacemos click sobre Entity y seleccionamos Cliente. Luego hacemos click sobre Location y seleccionamos Ingreso. Luego hacemos click sobre Operation y escribimos Wait 2 (se toma un tiempo de 2 minutos en la locacin Ingreso). Luego pasamos a la ventana Routing y seleccionamos la entidad de salida (hacemos click sobre Output), nosotros seleccionamos Cliente, seguidamente definimos la locacin de destino haciendo click sobre Destination, nosotros seleccionamos HaciaSillonEspera. Seguimos, definiendo la regla de ruteo (Rule), nosotros dejamos la regla por defecto First 1 (primero disponible), y se finaliza con la lgica de movimiento (Move Logic), nosotros la dejamos en blanco ya que el Cliente se desplaza por s mismo y solo.

b. Se continua ingresando las operaciones a partir del destino previo de la entidad Cliente, en nuestro caso HaciaSillonEspera. En la ventana Process abriendo una segunda linea colocamos el cursor y nuevamente haciendo click sobre Entity seleccionamos Cliente, ya que es la entidad de salida definida en el proceso anterior; hacemos click sobre Location de la ventana process y seleccionamos la locacin donde se encuentra el Cliente, en nuestro caso HaciaSillonEspera. Seguimos definiendo la Operacin que realizar el Cliente en dicha locacin, nosotros no colacamos nada ya que lo el Cliente hace en esa locacin es solo esperar y avanzar hacia la siguiente locacin. Continuamos en la ventana Routing definiendo la entidad de salida haciendo click sobre Output, luego seleccionamos la locacin de destino haciendo click sobre Destination, nosotros seleccionamos SillonEspera; dejamos el valor por defecto para la regla de ruteo (Rule) y la lgica de movimiento (Logic Move) colocamos Graphic 2 ya que deseamos utilizar la otra posicin del Cliente y aparezca sentado en el Silln. c. Debe continuar con los otros procesos haciendo lo mismo y segn como se muestra en la imagen adjunta capturada de ProModel. Note que para el caso del traslado del Cliente hacia el Asiento donde se le brindara el servicio este se realiza acompaado por el Barbero; para ello en la lgica de movimiento (Logic Move) colocamos Move with Barbero (muvase al Cliente con el Barbero). Adems note que cuando el Cliente se encuentra en el Asiento de servicio la operacin es por un tiempo de servicio exponencial con media 8.5 minutos, para ello hacemos click sobre Operation de la ventana Process, colocamos Graphic 2 (ya que necesitamos al Cliente en posicin sentado); escribimos Wait E(10.5) y luego Free Barbero, para liberar al recurso Barbero que acompa al Cliente desde el SillonEspera y le brind el servicio; en la lgica de movimiento (Logic Move) de la venta Routing colocamos Graphic 1 ya que una vez finalizado el servicio el Cliente se retira del Asiento por su cuenta en la posicin caminando (Graphic 1) y no sentado (Graphic 2) como se encontraba en el Asiento.

d. Recuerde que luego de ingresar todas las actividades de procesamiento el ltimo ruteo del Cliente desde la locacin del modelo denominada Salida hacia la locacin de destino Exit (locacin que existe por defecto en ProModel) finaliza la elaboracin de nuestro modelo. 13. Ahora para ejecutar nuestro modelo utilizamos la opcin Simulation del men principal, y seleccionamos Save&Run (Grabe&Ejecute el modelo de simulacin) o presione la tecla F10 si ya tiene grabado su modelo.

14. Para incluir la condicin de que de todos los clientes que arriban el 35 % de ellos se retira si existe una cola mayor o igual a tres (03) haremos lo siguiente: a. Incluimos una nueva locacin denominada Retiro del tipo cola (Queue) haciendo click sobre la imagen colocada en el fondo.

b. Definimos la variable del sistema TamCola que nos controlar el tamao de la cola de ingreso y la variable VarDecision para desviar el 35% de los Clientes a la decisin de evaluar el TamCola; si la cola es mayor o igual a tres (03) se retira. Tambin se incluye la variable Nroretiros para llevar un control de los clientes que se retiran de la Barbera por no contar con mucho tiempo y encontrar tres o ms clientes esperando por ser atendidos.

c. Para lograr esto ltimo en la ventana Process de la opcin Processing del men Build, agregamos la variable VarDecision (definida previamente como una variable del tipo real) basada en un nmero Random igualndola a la funcin matemtica Rand(1); si esta variable es menor o igual a 0.35 el Cliente procede a evaluar la condicin If Then . Else en relacin con el tamao de la cola, preguntamos si la variable TamCola es mayor o igual a 3, si es verdad procede a la locacin Retiro (Route 2) caso contrario procede a la locacin HaciaSillonEspera (Route 1). Si la variable VarDecision es mayor a 0.35 sigue a la locacin HaciaSillonEspera (Route 1).

d. En el Routing que sigue a la operacin anterior incluimos la nueva ruta insertando un nuevo bloque (Blk). El bloque 1 representa a la Route 1 y

el bloque 2 representa a la Route 2; la ruta 2 se dirige hacia la locacin Retiro. Se inserta un nuevo bloque haciendo click sobre Rule en la ventana Routing.

e. Para llevar un control sobre el tamao de la cola de espera incrementamos la variable TamCola cuando el Cliente se encuentre en la locacin HaciaSillonEspera, y haremos un decremento en la variable TamCola cuando el Cliente se dirija a la locacin Asiento acompaado por el Barbero, haciendo click sobre Move Logic de la ventana Routing.

f. Incrementaremos la variable Nroretiros al definir la lgica del movimiento cuando el Cliente decide retirarse del sistema.

15. Finalizamos ejecutando nuestro modelo definiendo el tiempo de simulacin seleccionando Options de la opcin Simulations del men principal. Hacemos click sobre Warmup Period (para incluir un periodo de calentamiento para la simulacin del sistema) y colocamos 6 horas de calentamiento (en Warmup Time) y 8 horas para el tiempo de simulacin (Run Time). Adems incluimos un nmero de rplicas (Number of Replications) igual a tres (03) i damos click en Ok.

16. Finalizamos ejecutando nuestra simulacin presionando F10. No olvide de grabar su modelo. Durante la ejecucin podemos hacer ms lenta o ms rpida la simulacin moviendo el slice de la barra superior hacia la izquierda o hacia la derecha (ms rpida).

17. Para ver el reporte de resultados de nuestra simulacin aceptamos la pregunta que nos hace ProModel al finalizar la ejecucin de nuestra simulacin. Usted quiere ver los resultados? 18. Al aceptar la pregunta el ProModel genera los resultados de nuestra simulacin mostrndonos en primer lugar la informacin general de la simulacin. Luego podremos analizar el estado de las Locaciones, Entidades, Recursos y variables.

19. Dejamos la respuesta a la siguiente pregunta para que Ud. la obtenga utilizando una distribucin de usuario, seleccionando User Distributions de la opcin More Elements de Build. Tambin debe incluir tres variables adicionales para controlar el nmero de clientes que son atendidos por cada tipo.

A continuacin mostramos el archivo, en formato texto, del modelo construido para la Barbera. Este archivo se genera con la opcin File y seleccionando View Text si desea visualizarlo en pantalla o Print Text y luego To Text File si desea generar un archivo texto.

******************************************************************************** * Formatted Listing of Model: * * C:\Users\Luis Zuloaga\Documents\Barberia2.MOD * ******************************************************************************** Time Units: Minutes Distance Units: Meters ******************************************************************************** * Locations * ******************************************************************************** Name Cap Units Stats ...... Rules Cost ------------------------ ----- ----------- -------------- -----------Ingreso 1 1 Time Series Oldest, , HaciaSillonEspera INFINITE 1 Time Series Oldest, FIFO, Asiento 1 1 Time Series Oldest, , Salida 1 1 Time Series Oldest, , HaciaSalida INFINITE 1 Time Series Oldest, FIFO, SillonEspera 3 1 Time Series Oldest, , Retiro INFINITE 1 Time Series Oldest, FIFO, ******************************************************************************** * Entities * ******************************************************************************** Name Speed (mpm) Stats Cost ---------- ------------ ----------- -----------Cliente 25 Time Series ******************************************************************************** * Path Networks * ******************************************************************************** Name Type T/S From To BI Dist/Time Speed Factor ----------- ----------- ---------------- -------- -------- ---- ---------- -----------RutaTrabajo Passing Speed & Distance N1 N2 Uni 11.53 1 N2 N3 Uni 20.88 1 N3 N1 Uni 31.91 1 ******************************************************************************** * Interfaces * ******************************************************************************** Net Node Location -------------------- -----------RutaTrabajo N1 SillonEspera N3 Asiento ******************************************************************************** * Resources * ******************************************************************************** Res Ent Name Units Stats Search Search Path Motion Cost -------- ----- -------- ------- ------ ----------- -----------------------Barbero 1 By Unit Closest Oldest RutaTrabajo Empty: 25 mpm Home: N1 Full: 25 mpm (Return) ******************************************************************************** * Processing * ******************************************************************************** Process Routing Entity Location Operation Blk Output Destination Rule Move Logic -------- ----------------- ------------------ ---- -------- ----------------- ------- -----------Cliente Ingreso Wait 2 VarDecision=RAND(1) If VarDecision<0.35 then Begin If TamCola>=3 then Route 2 ELSE Route 1 End Else Route 1 1 Cliente HaciaSillonEspera FIRST 1 2 Cliente Retiro FIRST 1 Inc Nroretiros Move for 1.5 Cliente HaciaSillonEspera Inc TamCola Wait 1 1 Cliente SillonEspera FIRST 1 GRAPHIC 2

Cliente SillonEspera

Cliente Asiento

FIRST 1 Graphic 1 Dec TamCola move with Barbero

Cliente Asiento Graphic 2 Wait E(10.5) Free Barbero Cliente HaciaSalida Wait 1 Cliente Salida Wait 2

1 1 1

Cliente HaciaSalida FIRST 1 Graphic 1 Cliente Salida Cliente EXIT FIRST 1 FIRST 1

Cliente Retiro 1 Cliente EXIT FIRST 1 Move for 2.5 ******************************************************************************** * Arrivals * ******************************************************************************** Entity Location Qty Each First Time Occurrences Frequency Logic -------- -------- ---------- ---------- ----------- ---------- -----------Cliente Ingreso 1 INF E(15.25) ******************************************************************************** * Variables (global) * ******************************************************************************** ID Type Initial value Stats ----------- ------------ ----------------------TamCola Integer 0 Time Series VarDecision Real 0 Time Series Nroretiros Integer 0 Time Series

You might also like