Simulacion ProModel
Simulacion ProModel
Entrenamiento
Entrenamiento Introductorio
Introductorio
Promodel
Promodel 4.0
4.0
• LOCACIONES
L
• ENTIDADES
• RECURSOS
L
• PROCESAMIENTO
• ARRIBOS
L EXIT
L E
L
Copyright 1994, 1995 PROMODEL Corporation
5
RECURSOS
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.
L E Operación
E Regla y
Lógica Movimiento
L Destino
L EXIT
Copyright 1994, 1995 PROMODEL Corporation
7
ARRIBOS
ARRIBOS
Cualquier nueva entidad que se alimente al sistema se conoce
como llegada.
L E
L EXIT
Copyright 1994, 1995 PROMODEL Corporation
8
Paso
Paso 11
• 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
Paso 22
• 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
Paso 33
• 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
Sitio de Entidad
Locación región
Paso
Paso 44
• 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
Paso 55
• 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
Paso 66
• 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
Step 77
• 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
Paso 88
• 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
Paso 99
• 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
Paso
Paso 10
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}
EJECUTANDO
EJECUTANDO LA
LA
SIMULACIÓN
SIMULACIÓN
• F12 para grabar el
modelo
• F10 para correr un
modelo
• Simulation/Run
• Simulation/Save and
Run
• Cuadro de Diálogo de
Opciones
unidad de
distancia librería
de gráficos
CONSTRUCCIÓN
CONSTRUCCIÓN
(( BUILD
BUILD ))
locaciones
entidades
rutas trabajo recursos
procesamiento
arribos
variables
programación
atributos
actividades ciclos arribo
distribución usuario
costos
Locaciones
Locaciones (locations)
(locations)
Icono representativo Capacidad
Down Time
Gráficas
Gráficas de
de Locaciones
Locaciones
Botón NEW
contador
indicador nivel
cola o faja
texto
luz de status
lugar de la entidad
región
icono representativo
Entidades
Entidades
velocidad
nombre entidad
estadísticas
Path
Path Network
Network
tipo ruta trabajo segmentos ruta mapeo de recursos
Interfaces a nodos
forma recorrido
nombre ruta trabajo locaciones
unidades de recurso
Recursos
Recursos estadísticas
Ciclos
Ciclos de
de arribo
arribo
Distribuciones
Distribuciones de
de usuario
usuario
MENÚ
MENÚ DE
DE SIMULACIÓN
SIMULACIÓN
RESULTADOS
RESULTADOS YY
HERRAMIENTAS
HERRAMIENTAS
(( OUTPUT
OUTPUT yy TOOLS
TOOLS ))
Tiempos
Tiempos de
de Proceso
Proceso
• Se utiliza en las locaciones
• Instrucción WAIT
– Ejemplos:
• WAIT 3 (utiliza la unidad de tiempo por default
definido en Información General)
• WAIT 5 min
• WAIT 5 sec
• WAIT 5 hr
Sentencia
Sentencia Wait
Wait Until
Until
• Retrasa el procesamiento en el bloque de la instrucción hasta
que una especifica expresión booleana (la cual prueba el
valor de una o mas variables) es verdadera.
Movimiento
Movimiento
• 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
• ALL Loc5 ... ... ... ... ... ...
Sentencia
Sentencia COMBINE
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.
COMBINE COMBINE
COMBINE ))
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.
Regla
Regla Join
Join múltiple
múltiple
• Esta regla de ruteo causa que una locación de destino sea seleccionada cuando
un requerimiento JOIN es fijado para la locación. Desde que una entidad a
acoplar no usa la capacidad operativa, no es necesario chequear por capacidad
disponible en la locación destino. Si múltiples destinos JOIN son examinados
para un requerimiento de acople (JOIN) la selección es en el orden en el que
ellos son listados.
• Example: Después que la EntA completa 5.2 minutes de operación en la la
locación Loc1, esta esta is ruteada a cualquiera de las locaciones Loc2, Loc3 o
Loc4 para ser acoplada en cumplimiento de un requerimiento JOIN.
• 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
Regla de
de ruteo
ruteo de
de Entidades
Entidades
Cantidad de Salida es cinco (5). Cinco piezas se obtienen de
1 pieza de materia prima
Regla
Regla Alternate
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
Regla Probabilistica
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.500 0
Regla
Regla Random
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
Sentencia
Sentencia GET
GET
• Captura un recurso o combinación de recursos (cuando estan disponibles) de acuerdo
a una prioridad opcionalmente especificada.
• Si la entidad ya posee uno de los recursos especificados desde una sentencia previa
GET o sentencia MOVE WITH, aún así la entidad tratara de obtener una unidad
adicional de este recurso.
Sentencia
Sentencia USE
USE
• Obtiene un recurso o combinación de recursos de acuerdo a una prioridad
opcionalmente especificada, cuando estan disponibles. Una vez que el recurso
ha sido capturado este es usado por una cantidad especifica de tiempo, y
entonces liberado cuando el tiempo especificado es completado.
• Si la entidad ya posee uno de los recursos especificados desde una previa
sentencia GET, JOINTLY GET o MOVE WITH, aún así la entidad tratará de
capturar una adicional unidad del recurso.
Funciones
Funciones de
de Distribution
Distribution
• 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.
Costos
Costos
• GETCOST( )
• Descripción:
retorna el costo de la entidad actual. Use esta función para retornar la
cantidad de dinero asignada a una entidad.
• Ejemplo:
DISPLAY “El costo actual de la entidad es ", GETCOST()
Costos
• INCENTCOST expression
INCLOCCOST expression
• 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
Costos
• INCRESCOST <cost expression> {,<resource>}
INCRESCOST 10
INCRESCOST GETRESRATE(Operator)*20, Operator1
• Componentes
% operación y % bloqueo
Throughput (Producción):
¿Cuántas partes estoy produciendo?
salidas totales
Copyright 1994, 1995 PROMODEL Corporation