You are on page 1of 16

MODELO 5

§

§

§

Aplicaciones: – Clasificación de piezas, Inspección de una muestra, Retrabajo, Tiempo de Ciclo Características de ProModel – Atributos – Lógica IF-THEN, estatuto ROUTE – Distribuciones Discretas y Continuas – Funciones CLOCK() y LOG Interpretación de Datos – Evaluación de tiempos de ciclo

www.promodel.com.mx

Copyright 2001 PROMODEL Corporation

Estos tópicos se cubren en el Modelo 5.

106

fecha de entrega. Para definir un atributo.mx Los atributos son tomadores de valores similares a las variables. nacional/exportación etc. Los atributos se modifican y se asignan cuando una entidad ejecuta la línea de lógica que contiene un operador. tamaño de lote. Puede haber atributos para locaciones. clasificación § Utilizar operadores matemáticos e INC/DEC para cambiar valores de los atributos Copyright 2001 PROMODEL Corporation www. 107 . de la misma manera que trabajan las variables. ATRIBUTOS § Definición – Build/Attributes – Nombre. número de orden. Posteriormente escoger el tipo y la clasificación. pero están ligados a entidades específicas y usualmente contienen información acerca de la entidad.§ Atributos en ProModel: – número de serie.promodel. ir a Build/Attributes y crear un Identificador (ID). tipo.com. pero por ahora sólo examinaremos atributos de entidad.

el modelo ejecutará sólo la primer línea después del IF . Se requieren los estatutos BEGIN y END si más de una línea de lógica se va a ejecutar basada en una condición de IF .THEN según esa condición.THEN permiten al usuario ejecutar líneas específicas de lógica basado en ciertas condiciones. Si no hay estatutos BEGIN y END.THEN (ELSE) § Sintaxis – IF <expresión Booleana> THEN <estatuto> § Ejemplos IF aExportacion=5 THEN WAIT 2 min IF aOrden<>4 OR vPiezas_producidas>0 THEN BEGIN vCliente=5 WAIT 2 min END ELSE BEGIN vCliente=3 aPrioridad=7 WAIT 4 min END www. El estatuto ELSE permite continuar listando condiciones específicas. 108 .com. También se puede continuar con instrucciones ELSE IF .promodel.THEN.mx Copyright 2001 PROMODEL Corporation Los estatutos IF . Ver la ayuda en línea (Help) para más detalles.IF .THEN.

Ver los ejemplos de arriba.mx Copyright 2001 PROMODEL Corporation Recordando el material visto anteriormente.promodel. El estatuto ROUTE permite crear varios bloques de ruta y después controlar cuál línea de ruta ejecutar.Estatuto ROUTE § § § Utilizado para controlar el ruteo específico de entidades Estatuto Route en la lógica de operación Bloques de Ruta correspondientes www.com. El estatuto ROUTE seguido por un número ejecuta la ruta específica que se indica. la creación de dos bloques de ruta enviará entidades a ambos destinos. 109 .

DISTRIBUCIÓN DE USUARIOS § § § § El usuario puede definir una distribución para representar un conjunto de datos.com. Continua Acumulada. 110 . Las distribuciones pueden ser Discretas. No-Acumulada www. Continuas así como definir los parámetros en forma Acumulada y No-acumulada.mx Copyright 2001 PROMODEL Corporation Las Distribuciones de Usurio es una herramienta que nos ayuda a “crear” distribuciones para representar un conjunto de datos. Build/More Elements/User Distributions Tipo: Discreta. lo que permite tener cuatro diferentes tipos de distribuciones de usuario.promodel. cuando una distribución conocida no los puede representar de manera precisa.

mx Copyright 2001 PROMODEL Corporation 111 . 30% de las veces será de 10.com. 10% de las veces será de 30 www.Distribución de Usuario . 60% de las veces será de 20.promodel.DISCRETA § § Probabilidad de obtener cierto resultado Cantidad de respuestas finitas Ejemplo: Distribución (discreta y no-acumulada) para obtener el tamaño de grupo.

Distribución de Usuario .promodel. 40% será entre 3. 30% será entre 5 y 6 minutos.5 minutos.mx Copyright 2001 PROMODEL Corporation 112 .5 y 5 minutos. 20% será entre 2 y 3.CONTINUA § § Probabilidad de obtener cierto resultado Cantidad de respuestas infinitas Ejemplo: Distribución (continua y no-acumulada) para obtener el tiempo de proceso. 10% será entre 6 y 8 minutos www.com.

De ahí.com. y después son clasificados de acuerdo al tipo de parte. EJERCICIO www. y al llegar se les asignan atributos.MODELO 5A. Existe una tasa de retrabajo del 30%. Crear lo siguiente: Locaciones fila_entrada torno molino fila_inspeccion inspeccion pre_salida Entidades Engrane capacidad inf 1 1 inf 1 1 113 .promodel. se mueven hacia una de dos máquinas y pasan a una fila donde una de cada cinco piezas se inspecciona.mx Copyright 2001 PROMODEL Corporation En el Modelo 5A tenemos piezas que llegan al sistema.

114 .1 min . .70 ruta tpo. mov.1 min fila_inspeccion Distribuciones de Usuario ID dist_llegadas dist_tiempo_inspeccion tipo discreta continua acumulada no no Ver las especificaciones de las distribuciones de usuario en la siguiente página.1 min .1 min .1 min 1 min .1 min .Proceso Entidad engrane engrane engrane engrane engrane engrane Llegadas entidad engrane Atributos ID tipo_de_pieza hora_de_llegada Variables ID contador_de_inspeccion piezas_retrabajadas tipo entera entera tipo entero real locación cant/oc primera vez 0 ocurr inf frecuencia 3 MIN fila_entrada 1 locación fila_entrada torno molino 3 MIN 4 MIN operación salida engrane engrane engrane engrane engrane engrane inspeccion pre_salida 1 MIN engrane engrane engrane destino torno molino fila_inspeccion fila_inspeccion pre_salida inspeccion fila_entrada pre_salida exit .1 min .30 .

70% de las piezas se van a pre_salida y 30% se envían de vuelta a fila_entrada. Llamaremos a la distribución dist_llegadas. Definir que el 45% de las veces se obtiene un valor de 1. Para hacer la clasificación de piezas con esta distribución añadir la siguiente línea a la lógica de llegadas: tipo_de_pieza = dist_llegadas().5 y 0.8 y 1 minutos. que indique que el 20% de las veces el proceso tarda entre 0. y aquéllas con el atributo tipo_de_pieza = 2 se envíen al molino.Se necesitará crear una Distribución de Usuario (Discreta y No-acumulada) que utilizaremos para clasificar las piezas cuando llegan. Para el tiempo de proceso de Inspección también requerirás crear una Distribución de Usuario (Continua y No-acumulada).25 y 0. indica que es un comando que “regresará” algún valor. las demás se envían directamente a pre_salida. y el 50% de las ocasiones tarda entre 0. (Utilizar el comando IF-THEN con el estatuto ROUTE). En la fila_inspeccion. Para utilizar el valor arrojado de esta distribución utilizar en el campo de operación de Inspección. el 30% de las veces entre 0. el estatuto WAIT como normalmente lo hemos hecho. Nombra a la distribución dist_tiempo_inspeccion. crear lógica que envíe una de cada cinco piezas a inspección. Ver página siguiente para explicación gráfica de esta distribución. (También con el comando IF-THEN y variables).8 minutos. En inspección. 115 . pero indicando utilizar la distribución: WAIT dist_tiempo_inspeccion() La sintaxis de utilizar el nombre de la distribución seguido por paréntesis. Ver página siguiente para explicación gráfica de esta distribución.5 minutos. Revisar el atributo tipo_de_pieza de las piezas en fila_entrada de tal forma que las piezas con el atributo tipo_de_pieza=1 se envíen al torno. y el 55% un valor de 2.

mx Copyright 2001 PROMODEL Corporation 116 .Distribuciones 50% 55 45 20% 30% 1 2 0.5 0.com.0 dist_llegadas() dist_tiempo_inspeccion() www.8 1.25 0.promodel.

Ellos ocurren con algún grado de aleatoriedad. 117 . que discutiremos más adelante.promodel. aunque pueden ser utilizadas en muchas partes dentro de ProModel. Esto generalmente se hace con un software de ajuste de curvas. No todos los eventos son discretos en el mundo real. Las distribuciones son uno de los métodos de ProModel para reflejar este tipo de efectos dentro del modelo. las distribuciones están asociadas con tiempos de proceso. esto sin mencionar la tarea de escoger los parámetros correctos para la distribución.mx Copyright 2001 PROMODEL Corporation Escoger la distribución correcta es una tarea difícil.com.Distribuciones § § Utilizadas para crear aleatoriedad y representar tiempos de operación de la vida real Utilizar el Constructor de Lógica para crearlas www. En nuestro caso.

Al final del proceso donde las entidades salen del sistema se incluye esta lógica: LOG “Tiempo de Ciclo” . En la locación a donde llegan las entidades escribiremos esta lógica: hora_de_llegada = CLOCK() Esto asigna el tiempo del reloj a cada entidad que pasa por la lógica. Un ejemplo de tiempo de ciclo se muestra a continuación: Se ha definido un atributo llamado hora_de_llegada (tipo real).mx Copyright 2001 PROMODEL Corporation Las funciones CLOCK y LOG permiten mantener el registro de los eventos a lo largo del tiempo (como tiempos de ciclo. La función CLOCK regresa un número real. por lo que los atributos y variables a los que se les asigna la función CLOCK deben de ser tipo Real. hora_de_llegada Esto provoca que del valor del reloj de la simulación se reste el valor almacenado en el atributo hora_de_llegada y se registre este dato con el encabezado “Tiempo de Ciclo”. <expresión> – Al reloj de la simulación se le resta esta “expresión” y se almacena el resultado con el “texto” como encabezado – Los resultados se encuentran al final del reporte de salida www. (min) minutos.promodel. 118 . (hr) horas.com. (sec) segundos § LOG – Utilización: LOG <texto>.Funciones CLOCK() y LOG § CLOCK() – Utilización: CLOCK(<unidades de tiempo>) – Retorna el valor del reloj de la simulación – () default. tiempos de respuesta) en el modelo.

promodel.com.LOG Tiempo_de_llegada = clock() Log. tiempo_de_llegada www.mx Copyright 2001 PROMODEL Corporation 119 . “Vida en el sistema”.

Cambiar los tiempos de proceso en las siguientes locaciones: Entidad engrane engrane Locación torno molino Operación N(3.1) MIN Cambiar el tiempo de transporte siguiente: Entidad Engrane Locación Origen inspeccion Locación Destino fila_entrada Tiempo E(1) min OJO: Los tiempos a modificar deberán seguir con su estatuto correspondiente.MODELO 5B.1) MIN N(4. y rastrearemos las piezas a través del sistema para calcular los tiempos de ciclo.promodel.com. ejemplo: WAIT N(3. EJERCICIO www.. 120 .mx Copyright 2001 PROMODEL Corporation En el Modelo 5B añadiremos distribuciones al modelo para los tiempos de proceso.. Llevar una bitácora del tiempo de salida en pre_salida utilizando el mismo atributo y el estatuto LOG.1) min Poner un “sello” del tiempo a la pieza cuando ésta entra a la fila_entrada utilizando un atributo con el estatuto CLOCK()..

com.promodel.Interpretación de Datos § Cálculo del Tiempo de Ciclo – Reporte de bitácora en los resultados – Entradas individuales www. ¿Cuáles fueron el mínimo y el máximo tiempo de ciclo? ¿A que se atribuyen estos tiempos? ¿Qué hay acerca de la forma de la gráfica? 121 .mx Copyright 2001 PROMODEL Corporation Podemos examinar las estadísticas totales para el tiempo de ciclo al final del Reporte General en el reporte de bitácoras (Log). Tiempos individuales pueden ser graficados utilizando gráficas de Series de Tiempo.