Pro Model 2014
Pro Model 2014
Entrenamiento
Entrenamiento Introductorio
Introductorio
Promodel
Promodel
• LOCACIONES L
• ENTIDADES E L
• ARRIBOS E
• RECURSOS L
• PATH NETWORK
• PROCESAMIENTO
L E EXIT
L E
Copyright 1994, 2014 PROMODEL Corporation
7
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. Se desplazan
según una ruta de trabajo (Path Network).
ARRIBOS
ARRIBOS
Cualquier nueva entidad que alimente al sistema y que llegue
a una locación, se conoce como arribo.
L E1
L E2
L EXIT
Copyright 1994, 2014 PROMODEL Corporation
9
PROCESAMIENTO
PROCESAMIENTO
El Procesamiento describe las operaciones que se llevan a cabo en una
locación, tales como la cantidad de tiempo que la entidad pasa en dicha
locación, los recursos necesarios para realizar el trabajo, y cualquier cosa que
suceda en la locación, incluyendo seleccionar el siguiente destino para la
entidad. E
L
Entidad en una
Locación realiza
L E Operación
Regla y Lógica de
Movimiento para
E trasladarse a nueva
Locación
L Locación de Destino
L EXIT
Copyright 1994, 2014 PROMODEL Corporation
10
Restricciones de la versión
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
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
Punto mostrar 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
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
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}
MENÚ
MENÚ DE
DE ARCHIVOS
ARCHIVOS (( FILE
FILE ))
librería
de gráficos
unidad de
tiempo Lógica de
inicialización
y terminación
unidad de
distancia
CONSTRUCCIÓN
CONSTRUCCIÓN
(( BUILD
BUILD ))
locaciones
entidades
rutas trabajo recursos
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.
Copyright 1994, 2014 PROMODEL Corporation
47
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
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
deshacer
buscar
construir
rehacer
pegar lógica
ayuda
imprimir
cortar compilar
copiar
SIMULACIÓN
SIMULACIÓN
• Run (F10)
para correr un modelo
• Save & Run
• Options
Permite definir el directorio
donde se registraran los
reportes de salida, el
periodo y tiempo de
simulación, el tiempo de
calentamiento (Warmup
Time), el tipo de reportes
de salida y el numero de
réplicas para cada
simulación.
Ciclos
Ciclos de
de arribo
arribo
Distribuciones
Distribuciones de
de usuario
usuario
(( Shift
Shift ))
Definición del programa de
actividades semanales según
horario de trabajo (azul) y de
los tiempos de parada (DTs en
rojo) para recursos y/o
locaciones.
Instrucción
Instrucción WAIT
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
Instrucción 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.
Instrucción
Instrucción MOVE
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
Instrucción 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.0500 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
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.
• 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.
• Ejemplos LOAD 5, 99
LOAD 5 IFF Peso > 2 IN 5 min
LOAD Pallet_Capacity
LOAD 5 PERM IN 10 min
y luego deja que cada una continúe independiente.
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.
• 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 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.
Interfaces
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
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.
• CLOCK ( )
LOG
Utilización: CLOCK ( ) <unidades de tiempo>
Retorna el valor del reloj de la simulación
( ) default, (hr) horas, (min) minutos, (sec) segundos
• LOG <string>, <expresion>
Al reloj de la simulación se le resta esta “expresión” y se
almacena el resultado con el “texto string” como encabezado.
Los resultados se encuentran al final del reporte de salida
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
Obtener Costos
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
Incrementar Costos de
•
Recursos
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, 2014 PROMODEL Corporation
126
Dynamic Plot
Lógica de Inicialización y de
Finalización
• Podemos mostrar un resumen de la descripción del sistema al
inicializar la simulación.
• Esta lógica se define a través de la Información General que se
especifica cuando se crea un nuevo modelo de simulación.
• Cree un resumen del modelo a simular utilizando el botón
Model Notes al lado del Titulo del Modelo y luego displayelo
marcando la casilla Display Notes de la opción Simulation
Options.
• Se puede crear el grafico de una variable y displayar su
evolución desde el principio de la simulación, utilizando los
comandos Dynplot “Titulo_grafico” o View “nombre_grafico”
en la ventana de la Lógica de Inicialización.