Está en la página 1de 42

La presente guía muestra como usar las opciones principales del

software PROMODEL para construir modelos de simulación.

Los modelos son creados a partir de elementos básicos y se añade


mas detalle en cada fase nueva.

Gustavo Solis Vargas


INDICE

Elementos Básicos de un modelo pág. 3


Creación de un Proyecto Nuevo pág. 5
Definición de Locaciones pág. 6
Definición de Entidades pág. 10
Definición del Proceso pág. 11
Definición de Arribos pág. 13
Caso Propuesto: Ruta Secuencial pág. 14
Caso Propuesto: Ruta con Probabilidades pág. 15
Definiendo Variables pág. 17
Definiendo Atributos pág. 19

Gustavo Solis Vargas 2


Los sistemas que se desean modelar en ProModel son
representados usando 5 elementos básicos:

Locaciones: Usadas para representar actividades, zonas donde


ocurren transformaciones, se presta un servicio o zonas de espera.
Entidades: Son aquellas que fluyen a través del sistema y
representan ordenes de compras, solicitudes, clientes, pacientes,
entre otros.
Arribo: Es el punto de partida del proceso, se indica que entidad
llega, donde llega y como llega.
Proceso: es la lógica del modelo, describe las reglas del flujo de
las entidades.
Recursos: Son aquellos que apoyan en la ejecución de las
actividades, pueden ser cajeros en un banco, técnicos que prestan
servicio, médicos en un hospital, entre otros.

Gustavo Solis Vargas 3


Los elementos básicos para representar este sistema de una cola
y un servidor en el simulador ProModel es:
Locaciones: Un servidor y una cola.
Entidades: Clientes
Proceso: La regla de flujo que indica que el cliente va de la cola al
servidor y luego sale del sistema.
Arribos: Los arribos ocurren en la cola.
Recursos: No se usan en este ejemplo.

Notas:

Gustavo Solis Vargas


Antes de crear un proyecto se debe cerrar el proyecto actual y
definir un proyecto nuevo seleccionando la opción “File/Nuevo”,
luego, se define la unidad de tiempo, distancia y la librería gráfica
deseada.

Notas:

Gustavo Solis Vargas


Los primeros elementos a definir son las locaciones las que
representan actividades en un proceso o un conjunto de
actividades.

Las locaciones pueden ser actividades, zonas de espera o


almacenamiento, se les puede asignar cualquier gráfico.

Los pasos para definir locaciones son:


1. Seleccionar el ícono de locaciones en la barra de
herramientas.
2. Dar un click en el ícono deseado de la ventana de gráficos
(presionar y soltar el botón).
3. Dar un click en la ventana de “Layout”.

Notas:

Gustavo Solis Vargas


Una vez definida la locación deseada, definir los siguientes
elementos:
1) Darle un nombre en el campo “Nombre”.
2) Definir la capacidad deseada de la locación en el campo
“Cap”, la capacidad indica la cantidad de entidades que se
pueden procesar al mismo tiempo.
3) Definir la cantidad de unidades en el campo “Unidades”, si se
requiere dos estaciones de recepción se coloca el valor de 2 o
las que se requieran.

Notas:

Gustavo Solis Vargas


Las locaciones también son las zonas de espera, en este caso las colas o
almacenes.
Para definir una cola seguimos los siguientes pasos:

1) Dar un Click obre la herramienta de definición de cola mostrada en el


gráfico superior.
2) Dar un click izquierdo en la ventana de “Layout” para el inicio de la cola y
un click derecho para terminar la cola.

Notas:

Gustavo Solis Vargas


Al momento de definir las colas podemos escoger entre una cola y
un transportador.

Una cola:
Se usa en los bancos, donde esperan los clientes, bandejas de
entrada, colas de camiones, etc.

Un Transportador:
Es una faja transportadora, a esta faja se le puede asignar una
distancia y velocidad, típicamente se usan en sistemas de
manufactura para transportar productos.

Notas:

Gustavo Solis Vargas


Recordemos que las entidades son las que fluyen a través del
sistema, pueden ser clientes, órdenes de compra, requerimientos
de usuarios, tareas, pacientes, piezas a procesar, motores a
reparar, etc.

Para definir las entidades debemos seguir los siguientes pasos:


1) Seleccionar el ícono de Entidades en la barra de herramientas.
2) Dar un click en uno de los íconos de la ventana de gráficos.
3) Dar un nombre a la entidad.

Una vez definida la entidad, esta no aparece en la ventana


“Layout”, solamente queda definida.

Gustavo Solis Vargas


Una vez definidos los elementos básicos como las locaciones y las
entidades hay que definir la lógica que los relaciona, siguiendo los
siguientes pasos:
1) Para definir el proceso seleccionar el ícono de procesamiento
en la barra de herramientas.
2) Dar un click sobre la salida de la cola, esto creará un registro
automáticamente en la ventana de procesos.
3) Dar un click sobre la locación recepción, esto creará el registro
correspondiente en la ventana de enrutamiento.

Gustavo Solis Vargas


En los pasos anteriores definimos el flujo que indica que el cliente
va de la cola a la recepción, ahora, debemos darle seguimiento a
este flujo indicando que el cliente irá de la recepción a la salida del
sistema, esto lo realizamos siguiendo los siguientes pasos:
1) Dar un click sobre la recepción, esto creará un registro
automáticamente en la ventana de procesos.
2) Dar un click sobre el botón “Ruta a la salida”, esto creará el
registro correspondiente en la ventana de enrutamiento.

Gustavo Solis Vargas


Ya hemos definido los elementos básicos del modelo, solo falta
indicar cuantos clientes llegan y como llegan, estos son los arribos.
En este caso, los clientes arriban a la cola, el proceso para definir
el arribo es:
1) Seleccionar el ícono de definición de “Arribos”
2) Seleccionar la entidad que llega de la ventana de gráficos, en
este caso el cliente.
3) Dar un click al inicio de la cola, esto creará un registro de
arribos automáticamente.
Entidad, indica la entidad que llega, para este caso, el cliente.
Locación, indica la locación a la que llega la entidad.
Cant. Por arribo, indica cuantos clientes llegan cada vez que hay
un arribo.
Primera vez, indica la hora del primer arribo.
Ocurrencias, indica cuantas veces se repite el arribo.

Gustavo Solis Vargas


Frecuencia, indica cada cuanto tiempo se da cada arribo.

Gustavo Solis Vargas 13


Desarrolle el modelo propuesto en el diagrama superior, donde se
tienen tres actividades, cada una con una cola previa y una
solicitud sigue el flujo de pasar por cada actividad, pasando antes
por su cola previa.

Los tiempos para cada actividad son E(5), N(5,1) y U(4,2),


colocarlos usando la sentencia WAIT en cada caso.

Notas:

Gustavo Solis Vargas


En ocasiones el destino de una entidad se define por medio de una
probabilidad.
Para modelar estos casos hacemos uso de la “reglas de ruteo”

En este caso modelaremos el proceso donde se atienden


requerimientos de usuarios de “nivel_1” que llegan para ser
atendidos en un nivel básico, a partir de esta atención, el 60% son
resueltos y enviados a informar y validar la solución, mientras que
el 40% no son resueltos y escalan como “nivel_2” enviados a ser
procesados por el especialista.
De los requerimientos procesados con el especialista, el 80% son
resueltos y enviados a informar y validar la solución, mientras que
el 20% no son resueltos y escalan como “nivel_3” enviados a ser
procesados al área de investigación.
Todos los requerimientos de nivel_3 son procesados y enviados a
informar y validar la solución, luego termina el proceso.

Gustavo Solis Vargas


Las demoras en el desplazamiento son modeladas usando la
sentencia MOVE FOR.
En el modelo anterior, los requerimientos tienen demoras en los
desplazamientos.

Move for 1
hace que el desplazamiento demore 1 unidad de tiempo, la unidad
de tiempo es la que e seleccionó en la configuración inicial.

Move for 1 min


hace que el desplazamiento demore 1 minuto.

Move for 1 hr
hace que el desplazamiento demore 1 hora.

Gustavo Solis Vargas


Las variables son usadas para recolectar estadísticos de
desempeño del sistema modelado.

Un variable tiene la característica de almacenar los valores que se


le asigno y permite mostrar al final de la simulación un histórico de
valores asignados, el valor máximo, el mínimo, promedio, entre
otros.

En el modelo definiremos las variables:


V_CANTIDAD_DE_REQ_PROCESADOS
V_REQ_EN_PROCESO

Gustavo Solis Vargas


Las variables son definidas seleccionando el ícono de “Variables”
en la barra de herramientas.

Estas variables pueden ser de tipo entero o real y podemos


seleccionar los tipos de estadísticos deseados para cada variable.

En el modelo definiremos las variables:


V_CANTIDAD_DE_REQ_PROCESADOS
V_REQ_EN_PROCESO

Gustavo Solis Vargas


Los atributos permiten que cada entidad o locación tengan valores
asociados a cada uno de ellos, en el caso de atención de
requerimientos, definiremos el atributo: A_NIVEL_REQ
Este atributo tendrá los valores 1,2 o 3 que nos permitirá saber de
que nivel es el requerimiento, estos valores son asignados en el
proceso.

En el proceso de la cola 1 colocar:


A_NIVEL_REQ = 1

En el proceso de la cola 2 colocar:


A_NIVEL_REQ = 2

En el proceso de la cola 3 colocar:


A_NIVEL_REQ = 3

Gustavo Solis Vargas


Una vez definido el nombre del atributo hay que definir el tipo de
atributo, esto es, si es de tipo entero o real, luego la clasificación,
esto implica si el atributo está asociado a una entidad o locación.

Si se clasifica como asociado a un entidad, todas las entidades


tendrán este atributo.

Si se clasifica como asociado a un locación, todas las locaciones


tendrán este atributo.

Gustavo Solis Vargas


IF THEN ELSE
Permite ejecutar las sentencias deseadas si se cumple con la condición u otro
conjunto de sentencias si no se cumple la condición.

Sintaxis:
IF < condición > THEN
{
Ejecuta si cumple la condición
}
ELSE
{
Ejecuta si NO cumple la condición
}

CLOCK()
Retorna la hora del simulador

Gustavo Solis Vargas


Definir las variables:
V_REQ_NIVEL_1_PROCESADOS
V_REQ_NIVEL_2_PROCESADOS
V_REQ_NIVEL_3_PROCESADOS

Para procesarlos se requiere de:


A_NIVEL_REQ
IF THEN ELSE

Notas:

Gustavo Solis Vargas


Recordemos que el tiempo de ciclo es el tiempo que transcurre
desde que inicia el proceso hasta que finaliza, para calcular el
tiempo de ciclo requerimos:

A_HORA_ARRIBO
V_TIEMPO_DE_CICLO
CLOCK()

Gustavo Solis Vargas


La sentencia ROUTE permite seleccionar un bloque de ruta, en
este caso tendremos una actividad de control de calidad y
enviaremos una de cada 5 solicitudes a ser revisadas.

Este selección no se da por probabilidad, se da contando siempre


la cuarta solicitud que será revisada.

Notas:

Gustavo Solis Vargas


Para definir un nuevo bloque donde serán enviados los
requerimientos para el control de calidad, se requiere definir un
nuevo destino hacia la cola 5, luego, se obtiene el cuadro de
diálogo de las reglas de ruteo dándole doble click en el campo
regla.

En este cuadro marcar la opción “Iniciar un nuevo bloque”

Notas:

Gustavo Solis Vargas 25


Ahora que ya se creó el nuevo boque, seleccionaremos el destino
dependiendo de la condición requerida, enviar al control de calidad
uno de cada 5 requerimientos.

Los elementos requeridos son:


V_CONTADOR_CONTROL
IF THEN ELSE
ROUTE

Gustavo Solis Vargas 26


En algunos procesos tenemos la necesidad de crear una entidad a
partir de otra, por ejemplo, cuando una entidad “cliente” realiza un
pedido, se genera otra entidad “orden de compra” y a partir de ese
punto, ambos siguen flujos en paralelo.

Notas:

Gustavo Solis Vargas


Una vez que la entidad “cliente” es atendido en la recepción, se
crea la entidad “Orden de compra”, esto se logra abriendo el
cuadro de reglas de rutas y marcando las opciones:
1) Iniciar un nuevo bloque
2) Nueva entidad

Notas:

Gustavo Solis Vargas


Una vez creada la “orden de compra”, el cliente se dirige a la zona
de espera, donde esperará hasta que el producto esté listo para
ser entregado.

Por otro lado, y en forma paralela, la orden de compra es


procesada y producto de dicho proceso, se crea el producto que es
enviado a la zona de entrega.

En la zona de entrega, el producto debe juntarse (se ensambla)


con el cliente y saldrá un cliente con su producto.

Notas:

Gustavo Solis Vargas


Para ensamblar las entidades usaremos la sentencia JOIN, esta
sentencia tiene dos partes,

Parte 1:
La que realiza el requerimiento de ensamblaje, en este caso el
producto, por lo tanto en el proceso de la zona de entrega se
coloca:
JOIN 1 CLIENTE.

Parte 2:
La que realiza el cliente que está esperando en la “zona de espera”
hasta que el producto lo llame, por lo tanto en la regla de ruteo del
cliente que se dirige desde la zona de espera a la zona de entrega
se coloca “si JOIN requerido” en el cuadro de “reglas de ruteo”

Gustavo Solis Vargas


En este caso propuesto, ensamblaremos las cajas vacías con los
monitores en la actividad 1, obteniendo una caja llena como
resultado.
La caja llena va por la faja de cajas hacia la actividad 2, donde se
ensamblan una paleta vacía con una caja llena, obteniendo una
paleta llena como resultado.
La paleta llena va al embarque y de ahí es enviada fuera del
sistema.

Notas:

Gustavo Solis Vargas


Los recursos son usados para apoyar en la ejecución de las
actividades, pueden ser de dos tipos:

Dinámicos:
Requiere una red de desplazamiento (Path Network) para que los
recursos se puedan desplazar, por ejemplo, un montacargas o un
ingeniero que se desplaza a diversas oficinas.

Estáticos:
No requieren desplazarse, por ejemplo un cajero en un banco, un
analista de atención en una mesa de ayuda, un brazo robot.

Gustavo Solis Vargas


Para definir los recursos, seguimos los siguientes pasos:

1) Seleccionamos la opción “Construir / Redes de ruta”


2) Dar un click en uno de los íconos deseados para definir el
recurso.
3) Si el recurso es dinámico, asociar la ruta en el campo de
“Especificaciones”.
4) Si el recurso es estático seleccionar el botón “Agregar” en la
posición de layout.

Gustavo Solis Vargas


Los “Path Networks” son segmentos ubicados en el layout del
modelo.
Se usan para definir una ruta de desplazamiento de las entidades
o recursos.

Esta compuesto por uno o varios segmentos y no necesariamente


todos ellos deben estar unidos.

Para definir un Path Network seleccionar “Construir / Redes de


ruta”

Gustavo Solis Vargas


Definición de Rutas:

La creación de rutas es un proceso simple, se da un click izquierdo


para comenzar y un click derecho para terminar.

Si se desea crear otro segmento, podemos partir dando un click


izquierdo sobre un nodo existente y así sucesivamente.

Notas:

Gustavo Solis Vargas


El uso de rutas requiere definir primero las rutas, esta tarea fue
realizada previamente, la segunda definición es la de interfaces,
para realizar esto seguimos los siguientes pasos:

1) Damos un click en el botón de “Interfaces” .


2) Damos un click en el nodo más cercano a la locación deseada.
3) Damos un click en la locación deseada.

Debemos definir las interfaces para todas las locaciones con las
cuales interactúa el recurso dinámico.

Gustavo Solis Vargas


Una vez definido el recurso, sólo queda usarlos, para esto usamos
las siguientes sentencias:

GET RECURSO
Captura un recurso.

FREE RECURSO
Libera un recurso.

MOVE WITH RECURSO


Captura un recurso para desplazar la entidad.

USE RECURSO FOR 4


Usa un recurso durante 4 minutos.

Gustavo Solis Vargas


Tenemos sistemas donde los arribos ocurren de acuerdo a
variaciones durante el día, en el gráfico superior podemos ver que
en intervalos de una hora existe un pico de arribos de 11:00 a
12:00 horas y también de 15:00 a 16:00 horas, este tipo de
comportamiento se modela usando los ciclos de arribos.

Notas:

Gustavo Solis Vargas


Para definir un ciclo de arribos, primero tabulamos la cantidad de
arribos en los intervalos de tiempo requeridos (60 min, 15 min, etc),
luego hallamos los porcentajes para cada intervalo y finalmente,
hallamos los porcentajes acumulados.

Notas:

Gustavo Solis Vargas


Una vez calculados los porcentajes acumulados por cada intervalo
de tiempo seguimos los siguientes pasos:
1) Seleccionamos “Construir / Ciclos de arribo”
2) Colocamos el nombre deseado al ciclo de arribos.
3) En el campo Cant/%, seleccionamos “Porcentaje”
4) En el campo Acumulativa, seleccionamos “Si”
5) Damos un click en el campo “Tabla”
6) Colocar los valores del rango de tiempo en el campo “Tiempo”
y los porcentajes en el campo “Cant /%”

Gustavo Solis Vargas


Una vez definido el ciclo de arribos hay que usarlo, para usar el
ciclo de arribos seguimos los siguientes pasos:
1) Seleccionar “Construir / Arribos”
2) En el campo “Cant. Por arribo” seleccionar el ciclo de arribos y
la cantidad deseada para ser distribuida de acuerdo a los
porcentajes definidos.
3) En el campo frecuencia colocar 24 Hr si desea que el ciclo de
arribos se repita cada día.

Notas:

Gustavo Solis Vargas

También podría gustarte