Académique Documents
Professionnel Documents
Culture Documents
Entrenamiento Introductorio
Promodel
• LOCACIONES L
• ENTIDADES E L
• ARRIBOS DE ENTIDADES
E
• RECURSOS
L
• PATH NETWORK
• PROCESAMIENTO
L E L:EXIT
L L
L L
L
L E L
L
L
E L
E
RECURSOS
Representan a los recursos humanos o tecnológicos (robots, grúas, etc.) que
ayudan al traslado de las entidades entre locaciones, así como al control u
ejecución de los procesos de las entidades en las locaciones. Se desplazan según
una ruta de trabajo (Path Network).
ARRIBOS
Cualquier nueva entidad que alimente al sistema y que llegue a
una locación, se conoce como arribo.
Opción del ProModel que permite ajustar un conjunto de datos a una distribución de
probabilidad conocida, según el mejor nivel de significancia.
Paso 1
• Crear un nuevo modelo
– Seleccionar File New
– En la caja de dialogo “General
Information”, escriba el nombre del
modelo…en este caso registre: Tutorial
Model, y luego seleccione unidad de
tiempo (minutes) y unidad de distancia
(meters).
– Click sobre el botón OK
Paso 2
• Construir gráficos de Background
– Seleccionar desde el menú Build, la opción Background
Graphics Behind Grid
– Desde el menú Edit, del editor gráfico seleccionar
Import Graphic
– Cambiar el tipo de archivo (Files of type) a Windows
Metafile
– Click sobre el file denominado tutorialback.WMF y click
sobre el botón Open.
– Redefina el tamaño del gráfico importado para fijarlo en
la ventana de localización (layout).
Taller de Simulación
Paso 3
• Construir las locaciones (Locations) donde
se ejecutará el trabajo
– Seleccionar Build Locations
– Adicionar cuatro locaciones:
Incoming_Queue, Turning_Center,
Machining_Center and Outgoing_Conv
– Ubicar cada una de las locaciones sobre el
layout y adicionar etiquetas de texto.
Taller de Simulación
Botón NEW
Contador
Indicador Medición Turning_Center
Texto
Luz de estado
Punto mostrar Entidad
Locación región
Paso 4
• Adicionar una Entidad
– Seleccionar Build Entities
– Adicionar una Entidad con un click
sobre un gráfico adecuado y
renombrelo como Product
Taller de Simulación
Paso 5
• Adicionar un Path Network
– Seleccionar Build Path Networks
– Click Left con el mouse cerca a una Locación
– Click Right con el mouse cerca a la siguiente Locación
para crear un segmento del path
– Repetir los dos últimos pasos, asegurándose de que los
segmentos de path se inicien sobre el final del segmento
previo
– Click sobre el botón etiquetado como Interfaces…
– Click sobre cada “node” (al final de un segmento path)
entonces click sobre una locación adyacente para crear
la interface
Taller de Simulación
Paso 6
• Adicionando un Recurso
– Seleccionar Build Resources
– Adicionar un Recurso haciendo click sobre el gráfico
del Maquinista (Machinist)
– Click sobre el botón de las Specs… para abrir la caja
de dialogo de especificación de recursos
– Seleccionar el Path Network denominado Net1
– Click en el botón OK
Taller de Simulación
Step 7
• Adicionar la lógica de Procesamiento
– Seleccionar Build Processing
– Después de seleccionar Product desde la ventana Tools,
click en el layout sobre la Incoming_Queue, luego
sobre el Turning_Center, a continuación sobre el
Turning_Center, sobre el Machining_Center, y así
sucesivamente
– Finalizar seleccionando Route a Exit
– {Adicionar lineas de lógica como se muestra en la
animación}
Taller de Simulación
Paso 8
• Programar Arribos de Productos
– Seleccionar Build Arrivals
– En la ventana Tools, click sobre al Entidad
llamada Product
– En la ventana Layout, click sobre la Locación
llamada Incoming_Queue
– Cambiar la frecuencia de Arribos a 11.37 MIN
Paso 9
• Poner Opciones, grabar Modelo y Ejecutar!
– Seleccionar Simulation Options
– Click en el campo etiquetado como Run Hours
– Tipear 40 (para ejecutar 40 horas)
– Click sobre el botón OK
– Seleccionar Simulation Save & Run
Taller de Simulación
Periodo de tiempo de
estabilización del sistema
(warmup period)
Tiempo de simulación
(hour, minute, second,
day)
Número de réplicas
para la corrida de
simulación
Paso 10
• Visualizar Resultados de la Simulación
– Después de que la simulación es completada,
seleccionar Yes para visualizar los resultados (note
las entidades que no arriban a Incoming_Queue
dado que esta locación tiene capacidad limitada)
– {Visualizar gráficos y cambiar opciones de gráfico
como mostramos en animación}
RESULTADOS DE LA SIMULACIÓN
librería
de gráficos
unidad de
tiempo Lógica de
inicialización
y terminación
unidad de
distancia
procesamiento
arribos
variables
Horario de
atributos
programación ciclos arribo
actividades distribución de usuario
información costos
general del
modelo
Con el menú Build construimos la definición del modelo. El menú
contiene todos los bloques de construcción. Los bloques básicos son
Locaciones, Entidades, Recursos, Path Networks, Procesamiento y Arribos.
Locaciones (locations)
Icono representativo Capacidad
Down Time
Gráficas de Locaciones
Botón NEW
contador
indicador nivel
cola o faja
texto
luz de status
lugar de la entidad
región
icono representativo
Entidades
velocidad
nombre entidad
estadísticas
Path Network
tipo ruta trabajo segmentos ruta mapeo de recursos
Interfaces a nodos
forma recorrido
nombre ruta trabajo locaciones
unidades de recurso
Recursos
estadísticas
Down Time ( DT )
• Tiempo de parada o de mantenimiento de una locación o
un recurso.
• Para una locación un down time puede ser del tipo clock,
usage, entry, setup o called.
• Para un recurso el down time solo puede ser del tipo clock o
usage.
Tipos de DT
• Una localización puede parar por:
– Clock: por tiempo de simulación.
– Usage: por tiempo de uso.
– Entry: por nro. entidades procesadas.
– Setup: por cambio del tipo de entidad a procesar.
– Called:
• Un recurso solo puede parar por Clock o
Usage
DT por Clock
• Tiempo muerto o de parada por reloj (CLOCK): modela
tiempos muertos que ocurren dependiendo del tiempo
transcurrido de simulación. Tiempo muerto de reloj, inicia
de acuerdo al tiempo de simulación indicado, sin importar
cuántas piezas se han procesado, nivel de utilización, etc.
Entidad Regla
Locación
que sale de ruteo
• Routing
Para cada paso indicar que entidad sale de la locación, a que locación se
dirige, cual es la regla de ruteo y cual es la lógica de movimiento.
Por default la regla de ruteo es FIRST 1 que indica que la entidad se
moverá a la siguiente locación una vez esta tenga capacidad disponible.
ESPECIFICACIÓN DE LA OPERACIÓN
buscar
deshacer
construir
rehacer
pegar lógica
ayuda
imprimir
cortar compilar
copiar
Ciclos de arribo
Distribuciones de usuario
• Para programar las actividades semanales de recursos y/o locaciones, y dentro de ellas
los tiempos de parada por mantenimiento, recarga, descanso, etc. (down time) tanto
de las locaciones como de los recursos se debe utilizar la opción Shifts del menú
Build.
• Primero se define (DEFINE) el programa y luego se les asigna (ASSIGN) a los
recursos y/o locaciones correspondientes.
Instrucción WAIT
• Se utiliza en las locaciones para retrasar el
avance de la entidad a otra locación.
– Ejemplos:
•WAIT 3 (utiliza la unidad de tiempo por default
definido en Información General)
•WAIT 5 min
•WAIT 5 sec
•WAIT 5 hr
Instrucción MOVE
• Entre Locaciones
• Instrucción MOVE FOR, MOVE WITH y MOVE ON
– Se define en la lógica de movimiento
– Ejemplos:
• MOVE FOR 2 (unidad de tiempo por default)
• MOVE FOR 4 min
• MOVE WITH <res1>{,{p1}{,{p2}{,{p3}}}} {FOR <time>}
{THEN FREE}
Se usa esta sentencia para mover una entidad por intermedio de un
recurso.
• MOVE ON <path network>
se usa esta sentencia para mover una entidad a lo largo de una ruta de
trabajo (path network). Las entidades no pueden viajar sobre redes de
trabajo de grúas (crane).
• Considere el ejemplo donde varias entidades son combinadas permanentemente dentro de una sola
entidad Box. La entidad combinada Box, asume los valores de atributos de la última entidad que fue
combinada. Si las tres entidades, EntA, EntB y EntC son combinadas para formar una simple entidad
llamada Box, y la EntC fue la última entidad que fue combinada, entonces la entidad Box tendrá los
mismos valores de atributo como la EntC, es decir si la EntC tiene un atributo (Att1=5), entonces el
Att1=5 para la entidad combinada Box, tal como se muestra a continuación:
• Processing Routing
Entity Location Opn(min) Blk Output Dest Rule Move
• EntA Loc1 Att1=1 1 EntA Loc4 First 1 1 min
Wait 2 min
• EntB Loc2 Att1=3 1 EntB Loc4 First 1 3 min
Wait 3 min
• EntC Loc3 Att1=5 1 EntC Loc4 First 1 .5
Wait 6
• ALL Loc4 Combine 3 1 Box Loc5 First 1 1 min
• Box Loc5 ... ... ... ... ... ...
Instrucción COMBINE
• Para combinar entidades de un especifico tipo o de múltiples tipos dentro de una simple
entidad. Después que se combinan las entidades se puede renombrar la nueva entidad.
• Sintaxis COMBINE <expression> {AS <new entity name>}
• Ejemplos COMBINE 3
COMBINE 3 AS EntQ
• Notas
Si especifica una operación COMBINE para un tipo individual de entidad en una
locación, la consolidación incluirá sólo entidades de este tipo. Sin embargo si especifica la
palabra clave ALL, entidades de todos los tipos que se destinen a la locación serán
combinadas.
Cada vez que una entidad ejecuta la sentencia COMBINE, la sentencia verifica que la
cantidad combinada es igual o mas grande que la cantidad especificada.
En el ejemplo, la EntB tendrá un valor de atributo, Att1, igual a 2, después de que la EntA se acople
a la EntB.
• PROCESS ROUTING
Entity Loc Opn (min) Blk Output Dest Rule Move
EntA Loc1 WAIT 5.2 1 EntA Loc2 JOIN 1 0
EntA Loc3 JOIN 0
EntA Loc4 JOIN 0
Processing Routing
Entity Loc Opn(min) Blk Output Dest Rule Move
EntA Loc1 Att1=1 1 EntA Loc4 First 1 1 min
EntB Loc2 Att1=2 1 EntB Loc4 First 1 1 min
EntC Loc3 Att1=3 1 EntC Loc4 First 1 1 min
ALL Loc4 Group 3 1 Batch Loc5 First 1 1 min
Batch Loc5 Ungroup
ALL Loc5 ... ... ... ... ... ...
Note: Ud. Puede asignar un valor de atributo a la entidad agrupada, Sin embargo, una vez que las entidades son
desagrupadas, ellas retienen el valor de atributo que ellas poseian antes de ser agrupadas.
EntA BATCH
EntA
EntC EntC
• PROCESS ROUTING
Entity Loc Opn (min) Blk Output Dest Rule Move
• EntA Loc1 WAIT 4 1 EntA Loc2 FIRST 1 0
EntA Loc3 FIRST 0
EntA Loc4 FIRST 0
Regla Alternate
• Esta regla de ruteo causa que una locación sea seleccionada como una alternativa si esta
tiene capacidad disponible y la condición y una regla de ruteo precedente no pueden ser
satisfechas. Un ruteo ALTERNATE puede ser especificado después de cualquier otro tipo
de ruteo (incluyendo otros ruteos ALTERNATE ) excepto para ruteos BACKUP,
CONTINUE y DEPENDENT. Si la locación ALTERNATE no esta disponible, la entidad
espera hasta que esta llega a estar disponible o hasta que la regla de ruteo precedente es
satisfecha.
• Ejemplo: después que la entidad EntA completa una operación de 3 minutos en la
locación Loc1, esta es ruteada a una de las locaciones Loc2, Loc3 si esta recibe un
requerimiento SEND para ir a una de estas locaciones. Si ningún requerimiento SEND ha
sido emitido, la EntA va a la locación Loc4 si esta tiene capacidad disponible. Si no hay
capacidad disponible, la entidad espera hasta que la locación Loc4 llegue a estar
disponible o hasta que un requerimiento SEND es recibido por Loc2 o Loc3.
• PROCESS ROUTING
Entity Loc Opn (min) Blk Output Dest Rule Move
EntA Loc1 WAIT 3 1 EntA Loc2 SEND 1 0
EntA Loc3 SEND 0
EntA Loc4 ALT 0
Regla Probabilistica
• Esta regla de ruteo causa que uno de varias locaciones disponibles listadas en un bloque
de rutas sean seleccionadas aleatoriamente en base a las probabilidades asignadas
(expresadas como porcentajes). Despues que una locación es seleccionada, debe existir
capacidad disponible en la locación destino antes de que el ruteo tome lugar. Una regla
BACKUP o ALTERNATE puede ser especificada despues de una regla de ruteo
Probabilística si la locación seleccionada o no tiene capacidad disponible o esta parada.
Note que la suma de todos los porcentajes debe ser igual a 100%.
• Example: After EntA completes an 8 minute operation at Loc1, it is routed 80% of the
time to Loc2, 15% of the time to Loc3 and 5% of the time to Loc4. If no capacity is
available at the selected location, the entity waits until capacity is available.
• PROCESS ROUTING
Entity Loc Opn (min) Blk Output Dest Rule Move
EntA Loc1 WAIT 8 1 EntA Loc2 0.800 1 0
EntA Loc3 0.150 0
EntA Loc4 0.0500 0
Regla Random
• Esta regla de ruteo causa que una de las varias locaciones disponibles
listadas en un bloque de rutas sea seleccionada en forma aleatoria
(random), de modo que cada locación que tenga capacidad disponible
tenga igual oportunidad de ser seleccionada. Si no hay espacio disponible
en las locaciones, la primera que llegue a estar disponible es seleccionada.
• Ejemplo: después que la entidad EntA completa 3 minutos de operación
en la locación Loc1, esta es ruteada aleatoriamente a una cualquiera de
las locaciones Loc2, Loc3 o Loc4.
• PROCESS ROUTING
Entity Loc Opn (min) Blk Output Dest Rule Move
EntA Loc1 WAIT 3 1 EntA Loc2 RANDOM 1 0
EntA Loc3 RANDOM 0
EntA Loc4 RANDOM 0
Instrucción ACCUM
• Retrasa el proceso de las entidades hasta que cierta cantidad del mismo tipo se
haya acumulado en algún lugar del modelo. La locación debe contar con la
capacidad requerida para la acumulación. Una vez que se han acumulado, se
permite que todas ellas continúen en forma separada o independiente.
• Si la entidad a procesar se define con el parámetro ALL todas las entidades, sin
importar su tipo, entran en el proceso de acumulación.
• Ejemplos ACCUM 10
ACCUM Var1
Acumula 10 unidades de la entidad en una locación y luego deja que cada una
continúe independiente.
Load EntB
Unload
EntA EntA L1 L2 L3 EntA EntA
EntB EntB
Instrucción LOAD
• Trabaja en forma parecida a la instrucción JOIN. Excepto que las piezas cargadas
pueden ser descargadas más tarde, o desensambladas. Agrupa temporalmente
entidades de cierto tipo a la entidad actual.
• Las entidades a agrupar provienen de otra locación, y se dirigen mediante la regla
de ruteo If Load Request.
• Las entidades agrupadas mantienen su identidad y atributos, y se separan cuando
encuentran una instrucción UNLOAD y luego cada una continua
independientemente.
• Sintaxis LOAD <expression> {PERM}
{IFF<Boolean_expression>} {IN <time>}{,<priority>}
• Ejemplos LOAD 5, 99
LOAD 5 IFF Peso > 2 IN 5 min
LOAD Pallet_Capacity
LOAD 5 PERM IN 10 min
Instrucción UNLOAD
• Esta instrucción descargará la cantidad específica de entidades en la locación.
• Después, debe crearse un registro de proceso para cada una de las entidades que
hayan sido descargadas.
• Para representar la carga según la instrucción LOAD puede utilizarse en su
representación una nueva entidad a crear o un segundo gráfico para la entidad
sobre la cual se realizará la carga.
• Luego de utilizar la instrucción UNLOAD en una locación hay que establecer
en el ruteo la salida para las entidades cargadas y la entidad creada para cargar.
• Ejemplos SPLIT 10
SPLIT 10 AS Botella
SPLIT Var01 AS Lamina
• El uso de esta instrucción se recomienda solamente cuando
existan operaciones adicionales a las entidades dentro de la
localizacion actual. En caso contrario utilizar la instrucción
en la regla de ruteo First n.
Instrucción ROUTE
• Esta instrucción envía la entidad
hacia la localización especificada
por el numero de ruta y el numero
de bloque.
• Sintaxis ROUTE <nro. ruta>
• Ejemplos ROUTE 2
ROUTE Tipo_pieza
• Para especificar el numero de
bloque hay que marcar la casilla
Start New Block en la ventana
Routing Rule.
Documentación
• Para documentar al colocar el código en la
especificación de las operaciones o lógica de
movimiento, se pueden utilizar cualquiera de
los siguientes caracteres:
# Texto
// Texto
/* Texto ...*/
PATH NETWORK
• Para crear una ruta de trabajo por donde se desplazara el recurso o
entidad establezca los siguientes parámetros:
– Graphic: permite seleccionar el color de la trayectoria y si esta será visible o no
durante la simulación. Puede definir una grúa viajera.
– Name: Nombre de la trayectoria.
– Type: Permite definir si la trayectoria es pasante, es decir si los recursos pueden
pasarse entre ellos. Seleccione Crane si será usada por una grúa viajera.
– T/S: Permite definir los segmentos de una trayectoria y sus nodos.
– Interfaces: Permite asociar los nodos con las locaciones para que los recursos
puedan interactuar con las locaciones requeridas.
– Mapping: Permite realizar el mapeo de destinos y rutas.
– Nodes: Se crean automáticamente al crear la trayectoria. Son consecutivos.
Interfaces
Atributos y Variables
• Se pueden diferenciar a las entidades y las
Locaciones definiendo y asignando un
valor de atributo.
• Las variables permiten llevar el control de
lo que ocurre en el sistema.
Atributos
Instrucciones de Control
• Estas instrucciones se pueden clasificar en decisiones,
cuando uno o mas bloques de programación son ejecutados
en función de una determinada condición, o en ciclos,
cuando una o mas instrucciones son ejecutadas
repetidamente hasta que cierta condición sea verdadera.
• Instrucciones:
– IF <condición> THEN <acciones1> ELSE <acciones 2>
– WHILE <condición> DO <acciones1>
– DO <acciones> WHILE <condición>
– GO TO <etiqueta de dirección>
– WAIT UNTIL <condición>
• Ejemplos:
IF exportación = 5 THEN WAIT 4 min
IF Orden <> 6 OR PiezasProducidas > 0
THEN
Begin
Cliente = 5
WAIT 4 min
End
ELSE
Begin
Cliente = 3
Prioridad = 7
WAIT 5 min
End
Funciones de Distribución
• Las funciones de distribución son construidas para generar valores aleatorios que se ajustan
a una distribución especifica. Estas funciones pueden ser utilizadas en muchos lugares
donde es válida el uso de una expresión numérica.
• An axis shift may be entered as an optional argument after the stream number and therefore requires the entry of a stream
number. The following distributions may include a location parameter E, G, W, L, IG, P5, P6.
Costo de Locaciones
Costo de Entidades
Example SETRATE
• The logic below displays how you can uniquely assign the regular rate for each
unit of a resource, Operator. Operator has three units, meaning that each unit
can perform the same task. However, each of the three Operators has a different
hourly rate. We set these rates in the Initialization logic using the following:
Obtener Costos
• GETCOST( )
• Descripción:
retorna el costo de la entidad actual. Use esta función para retornar la
cantidad de dinero acumulada de la entidad actual.
• Ejemplo:
DISPLAY “El costo actual de la entidad es ", GETCOST()
• Ejemplos
INCENTCOST 20
INCENTCOST N(3,1)
INCLOCCOST 35
INCLOCCOST Var1
• Descripción
IncEntCost Incrementa el costo de la entidad en la cantidad especificada.
Valido en la lógica de operación y movimiento
• Componentes:
Resultados de la Simulación
Stat :: Fit
% operación y % bloqueo
Throughput (Producción):
¿Cuántas partes estoy produciendo?
salidas totales
Copyright 1994, 2014 PROMODEL Corporation
132
Dynamic Plot
Fin de la exposición