Está en la página 1de 30

Taller de Simulación 2021-1

Osvaldo Galindo A.

Taller #4

Descripción del problema

La mayoría de los modelos de simulación emplean cantidades sustanciales de datos en su desarrollo y ejecución. En
SIMIO, el empleo de una tabla de datos, como se vio en el taller anterior, proporciona un medio conveniente para
almacenar y recuperar datos. En este taller utilizaremos las tablas más ampliamente mediante la construcción de un
proceso de manufactura que consta de varias estaciones de trabajo.

Un proceso de fabricación consta de tres estaciones de trabajo a través de las cuales se procesan cuatro tipos de partes.
Las estaciones de trabajo, A, B y C, están dispuestas de tal manera que las partes deben seguir el patrón circular
unidireccional como se muestra en el diseño de la Figura 1. Por ejemplo, si una parte se termina en la Estación C,
tendría que recorrer la distancia a la Estación A, luego la distancia a la Estación B antes de poder viajar a donde sale
del sistema. Queremos construir una simulación del sistema.

Figura 1: Diagrama del proceso.

Todas las partes llegan a la ubicación "Parts Arribe" y abandona el sistema en "Parts Leave". La velocidad de viaje
entre las estaciones es de dos millas por hora (constante). Tener presente que la velocidad predeterminada de SIMIO
para las entidades es de metros por segundo. Las distancias (yardas) entre las estaciones de trabajo se muestran en la
Figura 1.

1
Taller de Simulación
Cada parte llega de la siguiente manera:

• La Parte 1 (Part 1) llega con una distribución exponencial con una media de 0.25.
• La Parte 2 (Part 2) tiene un tiempo entre llegadas que promedia 17 minutos con una desviación estándar de 3
minutos.
• La Parte 3 (Part 3) puede llegar con un tiempo entre llegadas de 14 a 18 minutos de diferencia.
• La Parte 4 (Part 4) llega en lotes de cinco exactamente con 1 hora y 10 minutos de diferencia.

Cada una de las partes (entidades) sigue una secuencia (ruta) a través de las estaciones de manera diferente. De hecho,
no todos los tipos de piezas se procesan a través de todas las estaciones, como en las rutas de la Figura 2.

Figura 2: Ruta de cada parte en el proceso de manufactura.

Propiedades de las estaciones (SERVERS)

• La estación A tiene una máquina con un tiempo de procesamiento que oscila entre dos y ocho minutos y un
tiempo más probable (modal) de cinco minutos.

• La estación B tiene dos máquinas, cada una con un tiempo de procesamiento que oscila entre cinco y once
minutos y un tiempo más probable de nueve minutos.

• La estación C tiene una capacidad variable que varía entre dos y una máquina. Esta estación comienza con dos
máquinas, y luego de cuatro horas, su capacidad baja uno. Este proceso se repite durante el día. Cada máquina
tiene un tiempo de procesamiento que oscila entre dos y once minutos con una moda de seis minutos.

2
Taller de Simulación
Parte 1: MODELO INICIAL

Paso 1: Seleccionar e insertar cuatro SOURCES denominados SrcParts1, SrcParts2, SrcParts3, y SrcParts4, con lo
cual crearemos las cuatro diferentes partes que arriban a la simulación. Además, agregar cuatro MODEL ENTITY,
EntPart1, EntPart2, EntPart3, y EntPart4, y cambiar el color a cada uno. Los cuatro SOURCES son necesarios
dado que cada parte tiene su propio tiempo de arribo.

Figura 3: Insertar cuatro SOURCES y de cuatro MODEL ENTITY.

Paso 2: Insertar tres SERVERS (uno para cada estación SrvStationA, SrvStationB, y SrvStationC) y un SINK
denominado SnkPartsLeave.

Figura 4: Insertar tres SERVERS y un SINK.

3
Taller de Simulación
Paso 3: Probablemente el mejor método para simular el patrón de viaje circular es utilizar un BASICNODE en el
punto de entrada y salida en cada estación. Esto permite que las entidades sigan el patrón de secuencia sin tener que
pasar por un proceso innecesario. Un BASICNODE es un nodo simple para conectar dos enlaces diferentes, mientras
que un TRANSFERNODE también puede conectar diferentes enlaces, pero proporciona la capacidad de seleccionar el
destino, la ruta y / o solicitar un TRANSPORTADOR (vehículo). Agregar un BASICNODE frente a cada estación
(SrvStationA, SrvStationB, y SrvStationC).

Figura 5: Insertar tres BASICNODE.

Paso 4: Conectar todos los objetos usando CONECTORES y PATHS. Agregar un BASICNODE frente a
SnkPartsLeave. Tenga en cuenta que debido a que no hay tiempo o distancia entre la pista circular y servidor,
utilizaremos conectores. Asegúrese de dibujar los conectores y las rutas en la dirección correcta.

Figura 6: Conectar los SOURCES, SERVIDORES y SINK con la pista circular.

4
Taller de Simulación
Paso 5: Cambie las propiedades de cada entidad para que ahora viajen a la velocidad deseada de dos millas por hora.
Mantener presionado Control (en el teclado) y seleccionar las cuatro entidades al mismo tiempo, luego ajustar la
velocidad.

Figura 7: Ajuste de la velocidad de cada entidad.

Paso 6: Cambie las propiedades de los cuatro SOURCES para que se correspondan con las partes correctas y tengan
los tiempos y entidades entre llegadas deseados. EntPart1 se originan en SrcParts1, EntPart2 se originan en
SrcParts2, EntPart3 se originan en SrcParts3, y EntPart4 se originan en SrcParts4. Elegir las distribuciones
Exponencial, Normal y Uniforme como tiempos entre llegadas para las partes uno, dos y tres, respectivamente.

SrcParts1 -> Random.Exponential (0.25) ; SrcParts2-> Random.Normal(13,3); SrcParts3 ->


Random.Uniform(14,18)

Figura 8: Ajuste del tiempo de arribo en SrcParts1, SrcParts2, y SrcParts3.

5
Taller de Simulación
Para la parte cuatro, SrcParts4, seleccionar un tiempo entre llegadas constante de 70 minutos y en propiedad, ajustar
“Entitties Per Arrival” a 5, como se muestra en la Figura 7.

Figura 9: Ajuste del tiempo de arribo en SrcParts4.

Paso 7: Ajustar la longitud de los PATHS según las distancias entre estaciones establecido en la Figura 1. Seleccionar
en cada PATH, Drawn To Scale->False y luego ajustar la longitud en yardas.

Figura 10: Ajuste de la longitud de cada PATH.

Paso 8: Ajustar los tiempos de procesamiento de cada SERVER según la descripción de la Figura 1. SrvStation,
Random.Pert(2 ,5, 8); SrvStationB, Random.Pert(5,9,11); and SrvStationC, Random.Pert(2 ,6, 11).

6
Taller de Simulación
Figura 11: Ajuste de las propiedades de SrvStationA.

Figura 12: Ajuste de las propiedades de SrvStationB.

Figura 13: Ajuste de las propiedades de SrvStationC.

7
Taller de Simulación
Parte 2: AJUSTE DE LAS CAPACIDADES

Ahora ajustaremos las capacidades de las estaciones A, B, y C. Para la Estación C, necesitaremos agregar un horario de
trabajo para acomodar los cambios en la capacidad, según como se describe a continuación.

Figura 14: Diagrama de flujo.

Paso 1: Establezca las capacidades para las estaciones A y B a uno y dos, respectivamente.

Figura 15: Ajuste de la capacidad de SrvStationB.

Paso 2: Para la Estación C, necesitaremos agregar un horario de trabajo para acomodar los cambios en la capacidad.
Esta estación varia su capacidad de dos a uno cada cuatro horas. Para ajustar esto, ir a la pestaña "Data" y seleccione
"Schedules" y modifique el horario predeterminado (StandardWeek) y el patrón de día (StandardDay). Cambie el
nombre del horario de trabajo a ScheduleForC y deje solo la propiedad Fecha de inicio para que permanezca como la
fecha predeterminada. SIMIO repetirá el ciclo de trabajo sobre cuántos días hay en el patrón de trabajo. Debido a que
nuestra simulación comenzará a las 12 a.m. y se ejecutará durante 40 horas, queremos establecer la propiedad Horario
de días de trabajo en 1 y dejar que el ciclo se repita después de las primeras 24 horas.

8
Taller de Simulación
Figura 16: Ajuste del “WorkSchedule”.

Ahora seleccione la pestaña "DayPattern" para modificar el patrón de día de StandardDay. Cambie la propiedad Hora
de inicio de la primera fila a las 12:00 a.m. con una duración de 4 horas. Ajuste la capacidad (Value) a 2. Luego,
agregue cinco nuevos períodos de trabajo especificando la Hora de inicio, la Duración y el valor de la capacidad.

Figura 17: Ajuste del “DayPattern”

Paso 3: Vuelva a la pestaña "Facility" y configure la capacidad de la Estación C a "WorkSchedule" y agregue su


horario de trabajo, es decir, ScheduleForC.

Figura 18: Ajuste de la capacidad de la Estación C.

Paso 4: Guarde y ejecute el modelo durante 40 horas, comenzando a las 12:00 am y observe las rutas que recorren las
diferentes partes (entidades).

9
Taller de Simulación
Parte 3: INCORPORANDO SECUENCIAS

En el modelo actual, las entidades se mueven en el sistema sin seguir la secuencia especificada para cada parte. Sin
embargo, queremos que las entidades sigan una secuencia deseada en las estaciones como se ve en la Figura 19. Nos
gustaría asegurarnos de que las entidades continuarán a lo largo del patrón circular hasta que lleguen al nodo que las
lleva a su estación particular. Para lograr esto, utilizaremos "SequenceTables" (de la pestaña "Table").

Figura 19: Ruta de cada parte.

Paso 1: Ir a la pestaña “Table”, y hacer clic en el botón "Add Table” y escoger “Add a Sequence Table". Cambiar el
nombre de la nueva tabla SequencePart1 para que corresponda con el primer tipo de entidad.

Paso 2: Ahora agregue la secuencia de nodos que desea que siga la Parte 1 (es decir, Estación A, Estación C y Salida).
Solo necesita incluir los nodos visitados en cada estación, así como la salida. Una vez que se ha establecido la
secuencia de entidades, siempre recorrerá la ruta más corta para llegar al primer nodo de la lista. La secuencia correcta
para la Parte 1 se presenta en la Figura 20.

Figura 20: Sequence Table Parte 1.

Paso 3: A continuación, agregue tres tablas de secuencia (es decir, SequencePart2, SequencePart3 y SequencePart4)
que corresponden con las Partes 2, 3, y 4. Establezca las secuencias para cada una de las otras tres partes en sus tablas
de secuencia correspondientes. Asegúrese de que el último nodo esté asociado con el SINK.

10
Taller de Simulación
Figura 21: Sequence Table Parte 2.

Figura 22: Sequence Table Parte 3.

Figura 23: Sequence Table Parte 4.

Paso 4: Ahora regrese a la pestaña "Facility" y haga clic en la entidad EntPart1. Ir a propiedades, luego "Routing
Logic". Seleccionar “Initial Sequence” y escoger "SequencePart1. Haga lo mismo para cada uno de los otros tipos de
entidad (EntPart2, EntPart3, y EntPart4) y sus secuencias asociadas.

Figura 24: Ajustar “Routing logic” de EntPart1.


11
Taller de Simulación
Paso 5: Para cada uno de los siete TRANSFERNODES (nodos de salida en cada SOURCE y SERVER), ir a
propiedades, “Routing Logic”, y seleccionar “By Sequence”.

La primera vez que una entidad pasa a través de un nodo de transferencia donde su destino es "Por secuencia", el nodo
establece el destino de la entidad en el índice de la primera fila de la “Sequence Table”. Después de eso, cada vez que
una entidad pasa a través de un nodo de transferencia con el tipo de destino "Por secuencia", el índice de fila de la tabla
aumenta en uno y el destino de la entidad se establece en el siguiente nodo de la tabla.

Figura 25: Ajustar “Routing logic” en cada uno de los siete TRANSFERNODES.

Paso 6: Ejecute la simulación durante 40 horas a una velocidad lenta para asegurarse de que cada una de las partes
siga su secuencia adecuadamente.

Desactive las llegadas de todas las partes menos una. Ir al SOURCE que desee desactivar y fijar “Entities per Arrival”
a cero, esto permitirá revisar la secuencia de cada parte.

¿El modelo funciona correctamente?

12
Taller de Simulación
Parte 4: NUEVO PROCESO DE LLEGADAS Y TIEMPOS DE PROCESAMIENTO

Ahora nos indican que las partes llegan en un único flujo de llegadas en lugar de cuatro, es decir, con una tasa única de
llegada con un tiempo entre llegadas exponencial con una media de 10 minutos. Todavía hay cuatro tipos de partes,
pero el tipo que llega al sistema es aleatorio, en función de los porcentajes especificados en la Figura 26. El número de
cada parte que arriba no cambia (lo que significa que la Parte 4 llega 5 a la vez).

Figura 26: Porcentaje de arribo de cada parte.

Anteriormente, los tiempos de procesamiento en las distintas estaciones eran los mismos independientemente del tipo
de parte. Ahora descubrimos que los tiempos de procesamiento dependen del tipo de parte como se muestra en la
Figura 27. Las secuencias son las mismas que antes, pero aquí se han agregado los tiempos de procesamiento.

Figura 27: Tiempo de procesamiento en cada estación.

Ahora se nos pide incorporar el nuevo proceso de llegada y los tiempos de procesamiento que varían por estación.

Paso 1: Elimine todos los SOURCES excepto uno, el cual llamaremos SrcParts. Volveremos a especificar las
características de SrcParts después de especificar los tiempos de procesamiento.

Figura 28: Ajuste del modelo anterior (ahora solo tenemos SrcParts).

13
Taller de Simulación
Paso 2: Para modelar los tiempos de procesamiento que dependen del tipo de parte, estos tiempos se agregarán a las
tablas de secuenciación originales. Cuando a la entidad se le asigna un destino (es decir, se selecciona una fila en la
tabla de secuencia), se puede acceder a la columna de tiempo de procesamiento para esa fila.

Paso 3: Vaya a la pestaña "Data" y haga clic en la tabla SequencePart1 que está asociada con la Parte 1. Dado que los
tiempos de procesamiento pueden ser de cualquier distribución (es decir, cualquier expresión válida), agregue una
nueva columna del tipo expression desde Table Tools, denominada ProcessingTimes. Asegúrese de que la nueva
columna tenga las unidades apropiadas haciendo que Unit Type sea "Tiempo" y que las Unidades predeterminadas sean
"Minutos".

Figura 29: Insertar una nueva columna en SequencePart1.

Paso 4: Establezca los tiempos de procesamiento para SrvStationA (es decir, la primera fila) en Random.Pert (2,5,8),
SrvStationC (es decir, la segunda fila) en Random.Pert (2,6,11) y finalmente el SnkPartsLeave o la tercera fila
permanecerán en cero como se ve en la Figura 30.

Figura 30: Ajustar del tiempo de procesamiento en SequencePart1.

14
Taller de Simulación
Paso 5: Repita los últimos dos pasos anteriores para las tablas de secuencia de las tres partes restantes utilizando los
tiempos de procesamiento apropiados de la Figura 27.

Figura 31: Ajuste del tiempo de procesamiento en SequencePart2.

Figura 32: Ajuste del tiempo de procesamiento en SequencePart3.

Figura 33: Ajuste del tiempo de procesamiento en SequencePart4.

Paso 6: Para que un SOURCE (SrcParts) produzca múltiples tipos de entidades, se debe crear una nueva tabla de
datos (Data Table) para especificar las entidades que arriban y su probabilidad de llegada. Agregue una nueva tabla de
datos llamada TableParts con cuatro columnas con los tipos especificados en la Figura 34.

Entity: está disponible en “Object Reference Property”


Expression: está disponible en “Property”
Real: está disponible en “Property”
Integer: está disponible en “Property”

Figura 34: Creación de TableParts para que SrcParts produzca múltiples tipos de entidades.

15
Taller de Simulación
Paso 7: Luego, especifique cada entidad como una nueva fila con los tiempos de procesamiento apropiados, los
porcentajes de mezcla parcial (probabilidad de arribo de las partes) y la tabla de secuencia como se muestra en la
Figura 35.

Figura 35: Ajuste de TableParts.

Paso 8: Para utilizar los tiempos de procesamiento dependientes de la estación, cambie el tiempo de procesamiento de
cada uno de los servidores (SrvStationA, SrvStationB, y SrvStationC) que sean TableParts.ProcessingTime. Esta
lógica especifica que el tiempo de procesamiento provendrá de la columna “ProcessingTimes” de la tabla de datos
TableParts. A medida que las partes se mueven a través de su tabla de secuencia individual (es decir, fila a fila),
recuperará el tiempo de procesamiento para la fila actual.

Figura 36: Ajuste de los tiempos de procesamiento en SrvStationA, SrvStationB, y SrvStationC.

16
Taller de Simulación
Paso 9: Para generar múltiples tipos de partes en SrcParts, el tipo de entidad debe cambiarse al que declaramos en la
tabla TableParts. Ir a SrcParts, especifique el tipo de entidad que procederá de TableParts.PartType. Esto permitirá
que el tipo de entidad provenga de una de las cuatro entidades especificadas en la tabla.

Figura 37: Definición de Entity type en SrcParts.

Paso 10: Establezca el tiempo entre llegadas de las entidades en SrcParts como Exponencial con una media de diez
minutos. Además, hay que indicar que el número de entidades por llegada serán seleccionadas de la tabla
TableParts.NumberToArrive.

Figura 38: Ajuste del tiempo entre llegadas y la cantidad de entidades por arribo en SrcParts.

17
Taller de Simulación
Paso 11: Para determinar qué tipo de parte se crea, se deben utilizar los porcentajes de mezcla (probabilidades) de cada
parte declarada en TableParts. Los SOURCES tiene una categoría de propiedad llamada "TableRowReferencing " que
puede asignar una tabla y una fila de esa tabla a la entidad. Hay dos asignaciones posibles: Antes de crear entidades y
en entidad creada. Queremos hacer la asignación antes que la entidad sea creada. Por lo tanto, especifique en SrcParts,
lo que se indica en la Figura 38.

Figura 39: Ajuste para crear las entidades en el modelo.

Paso 12: Guardar la simulación y ejecutar por 40 horas. Compruebe el funcionamiento del sistema.

¿Cuál es la utilización de cada uno de los SERVIDORES?

¿Cuál es el tiempo general para todos los tipos de partes en el sistema?

18
Taller de Simulación
Parte 5: TABLAS DE RELACION

El modelo original utilizaba solo cuatro tipos de partes, sin embargo, es posible que necesitemos agregar partes
adicionales. Esto requeriría agregar una nueva entidad, agregar filas en TableParts junto con crear una nueva tabla de
secuencia para cada parte. Cada adición ahora requiere tiempo de diseño para continuar actualizando el modelo y
agregando tablas de secuencia. Estas limitaciones hacen poco realista implementar el modelo actual en problemas de la
vida real. En cambio, ¿podemos manejar estas especificaciones desde una hoja de cálculo que contiene el número de
partes y sus secuencias?

Una de las construcciones de modelado inventivas en SIMIO es el uso de tablas de relación. SIMIO ha implementado
capacidades limitadas de base de datos que pueden facilitar el modelado de relaciones. La Figura 40 muestra un
"diagrama relacional" donde la tabla de datos TableParts está relacionada con la tabla SequencePart a través de la
clave primaria (PK) en TableParts que identifica de forma exclusiva cada fila de la tabla (es decir, no puede ser
ninguna duplicada). La tabla secundaria (es decir, SequencePart) hereda la clave primaria de la tabla primaria (es decir,
TableParts) que se denota como una clave externa (FK).

Figura 40: Tabla de relación en SIMIO.

Ahora, utilizaremos Tablas de Relación para poder extender el modelo anterior a casos prácticos en la industria donde
el numero de entidades puede crecer drásticamente.

Paso 1: Primero, ya no necesitaremos cuatro tipos de partes, ya que queremos hacer este modelo genérico.
Elimine todas menos una de las ENTIDADES, la cual denominaremos EntParts. Desde la sección de “Additional
Symbols”, agregue cinco símbolos adicionales asegurándose de colorear cada entidad nueva como se ve en
la Figura 41, lo cual nos ayudara a identificar las partes que arriban al sistema.

Figura 41: Ajuste de los símbolos adicionales en EntParts.

Paso 2: En SrcParts, establezca en propiedades, establezca Entity Type a EntParts.

Figura 42: Ajuste de EntParts.

19
Taller de Simulación
Paso 3: En la pestaña Data, elimine todas las columnas de TableParts, excepto las columnas Part Mix y Number to
Arribe. Inserte una nueva columna del tipo Integer desde Propery llamada ID. Desde la sección “Table Tools”, se
puede mover la nueva columna a la izquierda y establecer la columna como PK (primmary Key) usando el botón “Set
Column As a Key”. Luego, establezca la ID para cada uno de los tipos de parte en un número único (es decir, 1, 2, 3 y
4), como se Ilustra en la Figura 43.

Figura 43: Nueva columna en Table Parts ID as PK.

Paso 4: Seleccione la tabla de secuencia SequencePart1 y cámbiele el nombre a SequencePart. Agregar una nueva
columna desde el botón “Foreign Key Property”, denominada ID. En propiedades, especificar en Table Key
TableParts.ID como clave de la tabla primaria para relacionar la columna como se ve en la Figura 44. Establezca la ID
para todas las filas actuales para que sea 1.

Figura 44: Nueva columna en Sequence Part.

20
Taller de Simulación
Paso 5: Seleccione la pestaña SequencePart2, seleccione todas las filas y copie las filas, luego vuelva a la tabla
SequencePart. Seleccione la última fila y luego pegue todos los valores copiados. Cambie las ID de esta nueva parte a
2.

Figura 45: Traspaso de la información desde SequencePart2 a SequencePart.

Paso 6: Repita el paso anterior para las últimas dos tablas de secuencia (SequencePart3 y SequencePart4)
estableciendo sus ID en 3 y 4 respectivamente como se ve en la Figuras 46 y 47.

Figura 46: Traspaso de la información desde SequencePart3 a SequencePart.

Figura 47: Traspaso de la información desde SequencePart4 a SequencePart.

21
Taller de Simulación
Paso 7: Una vez que la tabla está configurada, seleccione la tabla TableParts nuevamente y observe que cada una de
las filas ahora tiene un signo expansor (+) asociado. La Figura 48 muestra los registros relacionados para la Parte 1. Si
a una entidad se le asigna una fila de la tabla TableParts, se le asignarán automáticamente los registros relacionados en
la tabla SequencePart.

Figura 48: Vista de TableParts ahora relacionada con SequencePart.

Paso 8: Necesitamos modificar las propiedades de la entidad (EntPart) para utilizar la nueva tabla de secuencia y la
identificación de cada una cambiando el símbolo de su imagen. En la sección Animación (Animation), cambie “Current
Symbol Index” actual a "TableParts.ID-1" para que el color cambie apropiadamente. También asegúrese de que la
Propiedad de secuencia inicial esté establecida en "SequencePart". Tenga en cuenta que la entidad solo recibirá los
registros relacionados y no toda la tabla SequencePart.

Figura 49: Ajustes en EntPart.

22
Taller de Simulación
Paso 9: En cada uno de los tres servidores, cambie el tiempo de procesamiento para que sea el valor de referencia
SequencePart.ProcessingTimes en lugar de TableParts.ProcessingTimes ya que esta columna ahora solo está en la
tabla relacionada.

Figura 50: Ajustes del tiempo de procesamiento en los servidores.

Paso 10: Guarde y ejecute el modelo.

¿El modelo actual cumple con todas las características del problema?

¿Existen diferencias en los resultados entre el modelo anterior y el actual en los resultados obtenidos? Efectué una
comparación.

23
Taller de Simulación
Parte 6: CREACION DE ESTADISTICAS

SIMIO produce automáticamente estadísticas para varios objetos dentro de la simulación. Por ejemplo, hay estadísticas
como el número y tiempo en el sistema de un MODELENTITY, mientas que, para cualquier SERVIDOR, hay
estadísticas relacionadas con una utilización, un número en la estación INPUTBUFFER, el tiempo de espera en la
estación, etc. Sin embargo, estas estadísticas pueden ser insuficiente en algunos problemas reales. Por ejemplo, nuestro
último modelo tiene solo un tipo de entidad, por lo que las estadísticas de MODELENTITY no están separadas por el
tipo de parte. ¿Qué pasaría si quisiéramos saber, en promedio, cuántas Partes 3 hay en el sistema durante la
simulación y cuál es el tiempo promedio que estas partes pasan en el sistema?

Las estadísticas se pueden clasificar en dos categorías principales: estadísticas TALLY (basadas en obervaciones) y
estadísticas STATE (que dependen del tiempo). La estadística TimeInSystem es un ejemplo de observación o
estadísticas TALLY. En este caso, cada entidad que llega aporta una sola observación (el tiempo esa entidad gasta en el
sistema) y Simio rastrea e informa las estadísticas de resumen para estos valores. La estadística STATE, como el
número en la cola, el número en el inventario, etc., es un estadístico ponderado en el tiempo, de modo que el tiempo
que persiste un valor es usado para calcular el valor estadístico.

Si bien la estadística STATRE puede parecer más complicada, es la más fácil de especificar en SIMIO. Por ejemplo,
agreguemos primero una estadística STATE para determinar el número promedio de Parte 3 en el sistema y luego
agreguemos una estadística TALLY para los tiempos promedio en el sistema.

Paso 1 (State): Antes de crear una estadística STATE, es necesario crear una variable de estado que contendrá los
valores, por ejemplo, el número de Partes 3 en el sistema. SIMIO monitoreará el valor de la variable de estado a través
de una estadística ESTADO y ajustare su valor de acuerdo con el tiempo que persiste un valor particular durante la
simulación. Dado que el número de Partes 3 en el sistema es una característica basada en el modelo (no asociada con
entidades particulares), necesitamos definir una variable de estado basada en el modelo. Desde la sección Definitions
→ States, inserte una nueva variable de estado entera discreta con el nombre GStaPart3NumberInSystem como se ve
en la Figura 48.

Figura 51: Definición de la variable de estado GStaPart3NumberInSystem en el modelo.

24
Taller de Simulación
Paso 2 (State): La variable de estado debe incrementarse cuando una Parte 3 ingresa al sistema y luego disminuirse
cuando una Parte 3 abandona el sistema. Usaremos las asignaciones de estado (State Assigment) “Before Exiting” en
SrcParts para que antes que la entidad entre al sistema, la variable de estado incremente su valor como se muestra en
la Figura 52, indicando lo siguiente en cada campo. La función Math.If () simplemente prueba si TableParts.ID tiene el
valor de "3" que se refiere a la Parte 3 y luego agrega "1" a la variable de estado; de lo contrario, la expresión agrega
"0".

Figura 52: Aumento del valor de la variable de estado GStaPart3NumberInSystem.

Paso 3 (State): De manera similar, la variable de estado se puede disminuir en las Asignaciones de estado (State
Assigment) “On Entering” de SnkPartsLeave, como se muestra en la Figura 53, indicando lo siguiente en cada campo.

Figura 53: Disminución del valor de la variable de estado GStaPart3NumberInSystem.

Paso 4 (State): Ahora todo lo que necesita hacer es insertar STATESTATISTIC desde la sección Definitions →
Elements llamada StateStatNumberPart3InSystem que observa la variable de estado como se ve en la Figura 54.

Figura 54: Definición de STATESTATISTIC.

Paso 5 (State): Guarde su modelo y ejecute su simulación. En resultados, observar el valor de la estadística de estado,
denominada StateStatNumberPart3InSystem.

25
Taller de Simulación
Paso 6 (Tally): Ahora, nos gustaría recopilar tiempo en el sistema para la Parte 3, que es una estadística TALLY. La
estadística TALLY necesita registrar observaciones individuales. Las estadísticas de conteo o Tally se pueden recopilar
en cualquier nodo BÁSICO o TRANSFERENCIA. A diferencia de las estadísticas de ESTADO, la estadística TALLY
debe definirse primero. Ir a la sección Definitions→ Elements e inserte una estadística Tally llamada
TallyStatTimePart3InSystem. Especifique Time en Unit Type.

Figura 55: Definición de una estadística TALLY.

Paso 7 (Tally): Seleccione el nodo Input @ SnkPartsLeave (es decir, el que está conectado al SINK). En la sección
Tally Statitisc” on Entering. Seleccione Add en el repeating Property Editor, y especifique lo que se indica en la Figura
56. Tenga en cuenta que una Condición personalizada hace que solo se recopile el tiempo de la Parte 3 en el sistema.

Figura 56: Definición de una estadística TALLY.

Paso 8 (Tally): Ahora ejecute su simulación durante las 40 horas. Observe el valor de TallyStatTimePart3InSystem.

26
Taller de Simulación
Parte 7: OBTENCION DE LAS ESTADISTICAS DE TODAS LAS PARTES

Dado que las estadísticas como el tiempo en el sistema y el número en el sistema serían útiles para cada tipo de parte
(1,2, 3 y 4), ampliaremos la recopilación de estadísticas a todos los tipos de parte en lugar de solo la Parte 3.

Paso 1 (State): Primero, creemos el tiempo en las estadísticas del sistema. Vaya a la sección Definitions →States y
modifique la definición de GStaPart3NumberInSystem. Cambie el nombre de la variable a GStaPartNumberInSystem.
Establezca la propiedad tipo de dimensión de la variable de estado en un "Vector" con filas "4", como se muestra en la
Figura 53. Esto creará cuatro variables de estado almacenadas en un vector, una para cada tipo de parte.

Figura 57: Redefinición de la variable de estado GStaPart3NumberInSystem.

Paso 2 (State): A continuación, cambie las asignaciones de estado (“State Assigment”) en SrcParts y SnkPartsLeave
para aumentar y disminuir el número en el sistema para cada tipo de parte, respectivamente, como se muestra en la
Figura 53. Tenga en cuenta el uso de la fila (TableParts.ID) en el vector

Figura 58: Aumento y disminución de los valores de GStaPartNumberInSystem.

Paso 3 (State): Ahora puede definir estadísticas de estado para todas las partes. En Definitions →Elements, cree tres
estadísticas de estado más denominadas StateStatNumberPart1InSystem, StateStatNumberPart2InSystem y
StateStatNumberPart4InSystem. Debe especificar la variable de estado para cada una de las estadísticas utilizando la
variable de estado (vector) previamente definida, GStaPartNumberInSystem. La especificación para la Parte 1, 2, 3, y 4
se muestra en la Figura 59, 60, 61, y 62, respectivamente.

27
Taller de Simulación
Figura 59: Definición de la estadística de estado StateStatNumberPart1InSystem

Figura 60: Definición de la estadística de estado StateStatNumberPart2InSystem

Figura 61: Definición de la estadística de estado StateStatNumberPart3InSystem

Figura 62: Definición de la estadística de estado StateStatNumberPart2InSystem

28
Taller de Simulación
Paso 4 (Tally): Ahora defina las estadísticas TALLY para los otros tres tipos de partes (Partes 1, 2 y 4), tal como se
hizo para TallyStateTimePart3InSystem. Usando la sección Definitions →Elements inserte una Estadística de conteo
llamada TallyStatTimePart1InSystem, TallyStatTimePart2InSystem, y TallyStatTimePart4InSystem. Especifique Time
en Unit Type, en todas las definiciones.

Figura 63: Definiciones de estadísticas TALLY TallyStatTimePart1InSystem, TallyStatTimePart2InSystem, y


TallyStatTimePart4InSystem

Figura 64: Especificaciones de TALLY TallyStatTimePart1InSystem.

Paso 5 (Tally): Navegue a la sección Data → Table y seleccione TableParts. “Selecione Element Reference Propery”
e inserte a Tally Statistic denominada TallyStatTimeinSystem, que nos permitirá especificar una estadística de conteo
para cada parte. Por lo tanto, cada entidad (es decir, tipo de parte) sabrá qué estadística actualizar. Complete las tablas
como se muestra en la Figura 65.

Figura 65: Nueva columna en TableParts con Tally Statistic.

29
Taller de Simulación
Paso 6 (Tally): Una vez que se ha asignado la referencia de fila de la Tabla, cada MODELENTITY (parte) tendrá una
estadística TALLY asociada que eliminará el uso de una lógica de decisión complicada para determinar qué estadística
TALLY actualizar. Seleccione el nodo Input @ SnkPartLeave (delante de SnkPartLeave) y en propiedades seleccionar
Tally Statistics haga clic en On Entering. Use en Tally Statistic Name TableParts.TallyStatTimeinSystem, y las
especificaciones que se presentan en la Figura 66.

Figura 66: Actualizacion de Tally Statistics en el nodo Input @ SnkPartLeave.

Paso 7: Ahora vuelva a ejecutar la simulación y examine los resultados.

30
Taller de Simulación

También podría gustarte