Beruflich Dokumente
Kultur Dokumente
Apunte Clase
Simulación
Simulación Discreta con Simul8
Contenido
Contenido ............................................................................................................................................ 2
1 INTRODUCCIÓN A LA SIMULACIÓN ................................................................................................ 3
2 QUE ES UN EVENTO DISCRETO Y CÓMO TRABAJA EN UN SOFTWAR DE SIMULACIÓN ............... 7
3 INTRODUCCIÓN A LOS ELEMENTOS DE LA SIMULACIÓN ........................................................... 10
4 PROFUNDIZACIÓN DE LOS ELEMENTOS DE SIMUL8 .................................................................... 25
4.1 Propiedades de los elementos ................................................................................................. 25
WORK ENTRY POINT (WEP) ............................................................................................................... 25
STORAGE AREA (BUFFER) .................................................................................................................. 30
WORK CENTER ................................................................................................................................... 32
WORK EXIT POINT (WExP) ................................................................................................................. 35
RESOURCES........................................................................................................................................ 36
ANIMACIONES ................................................................................................................................... 40
TURNOS DE TRABAJO ........................................................................................................................ 44
PARADAS - Work Center .................................................................................................................... 46
DISPONIBILIDAD DEL RESOURCE ....................................................................................................... 47
5 CONTROL DE TIEMPOS – DISTRIBUCIONES .................................................................................. 48
6 LABELS – IDENTIFICACIÓN DE WORK ITEMS ................................................................................ 54
7 CHANGE OVER TIMES ................................................................................................................... 63
8 VISUAL LOGIC ................................................................................................................................ 65
1 INTRODUCCIÓN A LA SIMULACIÓN
Simular es el proceso de construir y utilizar un modelo virtual que represente la realidad, con el
objetivo de verificar el impacto que tienen algunas variables sobre ésta.
La simulación permite explorar un modelo electrónico del proyecto que se está gestionando, tanto el
proyecto sea un hospital, un centro administrativo, una fábrica, o cualquier otra cosa. El tipo de
modelo que se construye es siempre “time-based” (basado en tiempos), y toma en cuenta todos los
recursos y restricciones involucradas, y la forma en que todos ellos interactúan a medida que el
tiempo pasa.
Esto significa que el modelo puede representar la realidad, esto es, algo que se pruebe en el modelo
se comportará de la misma manera en que se comportará en la organización real. Con la simulación
se pueden probar rápidamente ideas a una fracción de costos que probándolas en la organización
real.
Simul8 es una de las tantas herramientas de simulación existentes en el mercado. El mismo permite
mostrar flujos de trabajo, un evento a la vez, gráficamente a través de un sistema; así como también
todas sus interacciones claves con recursos y equipamientos. Permite visualizar cómo interactúan los
diferentes elementos que forman parte del sistema o proceso para luego proceder a su análisis.
Simul8 es una herramienta de simulación muy apropiada para los que se inician en la construcción de
modelos ya que no se necesita grandes conocimientos de informática y de estadísticas, permite
trabajar con gráficos animados y posteriormente extraer los resultados para su análisis.
Visio
Autocad
Excel
Visual Basic
Algunos inconvenientes:
Existe el riesgo de tomar malas decisiones basadas en modelos de simulación que no han sido
validados y verificados adecuadamente.
Las primeras etapas, relevar datos, crear el modelo, demandan la mayor parte del trabajo, tiempo y
costos; sin obtener hasta el momento resultados. Sin embargo todo lo invertido se recupera
ampliamente una vez validado el modelo cuando de manera muy sencilla se logran introducir
cambios al sistema y obtener resultados de forma inmediata y sin ningún costo.
Otro aspecto a tener en cuenta, es que un modelo que pase las pruebas de validación no garantiza
que los resultados obtenidos del mismo sean óptimos. Esto se debe a que la simulación sólo
permite comparar alternativas, pero no nos brinda la información acerca de cuál es la mejor o si
existen otras mejores aún.
1.5 Aplicaciones
Aplicaciones empresariales:
Procesos de fabricación: fue una de las primeras aéreas beneficiadas con estas técnicas. La
simulación se emplea tanto para el diseño como para la ayuda a la toma de decisiones
operacionales.
Antes de empezar a construir una simulación vale la pena realizar un paso atrás y pensar sobre lo que
se va a simular y por qué.
Profesionales de simulación pasan mucho tiempo en el inicio de un proyecto para comprender cuáles
son los problemas y formular maneras de ponerlos en una simulación. El proceso que atraviesan se
puede resumir así:
One-line, one-server system, donde las unidades de tráfico se representa con círculos, el
cuadrado es el recurso limitado. La línea de espera para el servicio es llamado queue. La
combinación de estos elementos se denomina “queuing system”
Arribos Partidas
Partidas
Arribos
Línea de espera
Tres servidores
similares
Arribo Partida
s s
Como se observa, son numerosos los sistemas de flujo de transacciones. Se pueden encontrar en
manufactura, salud, transporte, comunicación, etc.
Frecuentemente se dan casos en que dos o más eventos ocurren en el mismo tiempo. En estos casos,
el valor del reloj de la simulación permanece fijo mientras los eventos de idénticos tiempos se llevan
a cabo uno después del otro. El tiempo real transcurre mientras el software trabaja para actualizar
los estados en ese punto de tiempo simulado.
Tiempo real
Un punto en el El mismo punto en el
Tiempo simulado Tiempo simulado
Hay casos en que se debe tener en cuenta la secuencia en que ocurren los eventos ya que pueden
ser lógicamente dependientes entre sí. En otros casos los eventos pueden ocurrir en forma
independiente pero en el mismo punto de tiempo de simulación.
En la nueva versión:
Haciendo click en “Clock Properties” se desplega la solapa para la configuración del clock.
Donde:
Time Units: Acá se define la unidad de tiempo que se utilizará en el modelo de simulación. Podemos
seleccionar como unidades de tiempo: días, horas, minutos o segundos. Por ejemplo si tuviese un
modelo de simulación que utiliza una Distribución Fija y el tiempo es 10, la interpretación de 10 está
definida por las unidades seleccionadas. Así, si el reloj está determinado en horas, entonces, se
consideran 10 horas.
Time Format: A través de esta opción se establece el formato con el cual es mostrado el reloj en la
simulación.
Simple unit count from zero. Podemos configurar la cantidad de decimales y agregar una
descripción.
Percent
Days: A través de esta opción, no solo se modifica el formato del reloj sino también el número de
días por semana que se corren en el modelo.
Running Time: Running time se utiliza para establecer la hora de comienzo y el número de horas por
día.
3.3 Calendarios
Se puede definir una fecha específica para iniciar la simulación:
También es posible definir un calendario para “Blockear” ó “Activar” ciertas actividades dentro de la
simulación.
Si en el calendario se especifica un tiempo Activo a una actividad, la misma solo trabajará en ese
periodo. (En las versiones anteriores solo se puede Block out un periodo para una o varias
actividades).
SIMUL8 está diseñado para imitar el layout de una fábrica u otra organización, por esto asume que
las distancias entre Queues y Work Centres deberían estar reflejadas en el tiempo de viaje de los
objetos. Simul8 toma como Standard lo siguiente:
Se puede acceder a la opción Travel Times a través del menú Tools, opción Preferences, ó File –
Preferences en las versiones más nuevas.
Los tiempos de viaje pueden ser personalizados presionando la opción Set to Zero y estableciendo
que los tiempos serán establecidos vía Routing Out para cada Work Center.
(Versión 2012)
Run
Reset clock to star
Step
Stop
Show/hide
Make multiple Route route arrows
Velocidad runs drawing
de la
model
Simulación
Make multiple runs: Permite correr varias simulaciones rápidamente sin que se muestre en la
ventana.
Show/Hide Route Arrows: Permite visualizar en la ventana las flechas que vinculan los elementos de
la simulación.
Work Item
A cada Work Item puede colocársele “etiquetas” (Labels) para diferenciar productos, grado de
proceso, colores, modelos, etc.
Hay una imagen estándar que se utiliza para mostrar un Work Item en la pantalla (bolas), sin
embargo cada Work Item Type puede tener su propia imagen por defecto, y a su vez es posible que
algunos Work Item tengan sus propias imágenes individuales que pueden cambiar a medida que
fluyen a través de Work Center.
SIMUL8 presenta 5 herramientas básicas, las cuales, por su generalidad, o bien por combinación de
algunas de ellas, permiten representar todos los elementos que pueden encontrase en un proceso,
sea éste de cualquier tipo.
Work Center
Resources
Storage Area
Work Exit
Point
El Work Entry Point es el lugar donde ingresan los ítems de trabajo a la simulación.
Pueden existir tantos Work Entry Point como se requiera, las cuales pueden ser controladas para que
sigan un patrón determinado o una distribución probabilística particular.
Algunos ejemplos:
- Ingreso de Materia Prima en una fábrica
- Ingreso de Pedidos en un almacén
- Ingreso de llamadas en un Call Center
- Ingreso de pacientes en un hospital
Storage Area
Aquí los ítems son almacenados mientras esperan que los Resource o los Work Center estén
disponibles.
Pueden mostrarse como una imagen fija, una cola o bien un tanque.
En los Storage Area, puede definirse un tiempo de “caducidad” para los Work Item, pudiendo por
ejemplo vencerse los productos de una fábrica o personas cansarse de esperar en un cola y decidir
no tomar el servicio.
Algunos ejemplos:
- Cola de espera en un supermercado
- Almacén en una fábrica
- Llamadas en espera en un Call Center
Work Centers
El Work Center es el lugar donde se le realiza un trabajo al Work Item o bien se lo redirecciona hacia
otro elemento de la simulación o bien se le cambian los parámetros al Work Item (label, imagen,
etc.).
Este trabajo por lo general toma tiempo y puede requerir la disponibilidad de recursos para ello. En
un Work Center el Work Item puede ser transformado de alguna manera, y luego de que el trabajo
este terminado, puede enviar los Work Item a otro objeto o a varios objetos de la simulación, en
función de las reglas de ruteo que se establezcan.
Algunos ejemplos:
- Máquina en una fábrica
- Consultorio en un Hospital
- Un puesto de trabajo
- Un punto de decisión
Resources
Algunos ejemplos:
- Operario que trabaja en varias máquinas
- Médico de guardia que atiende en varios consultorios
- Herramienta que se comparte entre varios puestos de trabajo
Es el lugar por donde los Work Item una vez procesados salen de la simulación.
Cada vez que un Work Item sale del sistema por un Work Exit Point se registra el tiempo total que
estuvo en la simulación.
Pueden existir tantas como se necesiten.
Algunos ejemplos:
- Productos terminados en una fábrica
- Desperdicios en una fábrica
- Clientes satisfechos o no satisfechos
- Pacientes dados de alta en un hospital
Primer Ejemplo
1) Clic en el icono Work Entry Point y clic en la ventana de trabajo para introducir el
objeto en la simulación.
2) Clic en el icono Storage Are y luego clic en la ventana.
3) Clic en el icono Work Center y clic en la ventana.
4) Picar el icono Work Exit Point y clic en la ventana.
Una vez que se tienen todos los elementos en la ventana, el paso siguiente será vincularlos (por
defecto, el software ya creó una vinculación, si esto no ocurriera o la secuencia creada por defecto
no es la requerida se procede según el paso Nº 5).
Donde:
Sin activar el warm up period, observemos en diferentes números aleatorios como varía el primer
buffer del modelo.
Hacemos Clock / Run en el modelo a una velocidad media y observemos que pasa con el gráfico del
buffer 1.
Ahora usamos Clock / Change random Nos and Run y repetimos esta secuencia varias veces donde se
verán diversos escenarios con diferentes números aleatorios.
Para investigar la variación de un período a otro, se requiere un número de repetidas corridas del
mismo modelo de simulación para igual período de tiempo pero con diferentes rangos de números
aleatorios. En el ejemplo en que venimos trabajando, vamos a realizar 5 réplicas de corridas de
manera manual usando Trials / Random Sampling.
(Advanced –Random Sampling en versiones nuevas).
Hacemos correr la simulación usando el Random Stream Set Number del 1 al 5 y vamos anotando los
resultados de trabajos realizados. Para el cálculo del promedio de y la desviación estándar usamos el
Excel.
Promedio
Desviación estándar
Lo anterior significa:
Si realizamos más corridas vamos a obtener una mejor estimación para el promedio y la desviación
estándar.
Antes de utilizar el TRIAL debemos configurar el “Results Summary” para colectar los “Indicadores de
Performance Claves” (Key Performance Indicators – KPIs). Los resultados que nos interesan son el
tiempo promedio en el sistema y la
cantidad de trabajo completados en la
simulación.
De la misma forma seleccionamos el valor del tiempo promedio en el buffer 1 (Average Queuing
Time).
Realizamos el mismo procedimiento pero cambiando ahora la cantidad de número de corridas a 20.
Deberíamos observar un mejoramiento en la precisión cuando el número de corridas aumenta (se
reduce el intervalo de confianza).
Podemos cambiar los arribos de trabajos y hacer el conduct trial y comparar los diferentes
resultados.
Destildando la poción se observa como el primer ingreso se genera recién en el tiempo 1 (inter-
arrival time seteado en el WEP).
Unlimited arrival
Se tilda esta opción si el trabajo debe ingresar a la simulación exactamente cuando es requerido,
por ejemplo, cuando el Work Center al cual alimenta está disponible. En este caso, el WEP no debe
alimentar objetos pasivos como ser Storage Area.
None
Sin arribos automáticos.
Schedule sheet
File
Define los arribos a partir de los datos cargados en un archivo tipo csv. (No abordado en esta
etapa).
Routing out
Tiempos:
WEP: 1 fixed
WC: 1 fixed
Batching
El Storage Area (Queue) es un elemento pasivo dentro de la simulación ya que los ítems de trabajo
esperan hasta que otro elemento relacionado los necesite.
En general te informa acerca de la cantidad de Work Items que pasaron por el Storage Area, la
cantidad mínima, promedio y máxima de Items que presentó el Storage Area y el tiempo mínimo,
promedio y máximo del ítem en el mismo (permanencia en cola).
WORK CENTER
Timing
Permite colocar diferentes distribuciones estándares o bien crear nuevas para el tiempo de
proceso del Work Item
Efficiency
Datos:
Tiempo WEP: 1 Fijo (Colocar First at start time)
Tiempo WC: 1 Fijo
El WC proceso 100 Work Item a una eficiencia (por defecto) del 100%
Routing Out
WC Results
Results
RESOURCES
En las propiedades del WC1, clic en Resource, luego en Add, se abrirá la ventana Resource Objects,
donde se puede seleccionar el recurso que quiero asignar.
- Requiere resources before collecting any work ítems: Requiere que el R este en el WC para
tomar el WI.
- Try to stay here until work in queue is done: El R permanece en el WC hasta que los WI que
se encuentren en cola se
procesen.
Travel
Tiempos: WEP, WC1 y WC2 Estándar
Resource: Cantidad 1
From: Desde
To: Hasta
Time: colocar el tiempo de
viaje desde un WC a otro.
Availability
Siguiendo el ejemplo, con todos los parámetros estándares correr la simulación y observar el
resultado:
Se observa que con una disponibilidad de del 90% del Resource 1, el modelo proceso 98 WI en vez de
106 que realizaba con una disponibilidad del 100%
Results
Observar los resultados del Resource 1
Utilization: muestra en % la
utilización del recurso
Traveling: muestra en % el tiempo
que el recurso estuvo viajado
Units of Resource in use: muestra
como se utilizaron los recursos
- Currently: Cuántos recursos se
están utilizando en este
momento
- Mínimun, Average, Maximun:
cantidad mínima, promedio y
Este gráfico muestra la cantidad de recursos utilizados en función del tiempo de la simulación.
ANIMACIONES
Imagen del WI
En el menú principal, en “Object” seleccionar “Work Item Type”, luego en “Image” seleccionar
“Select”, se despliega una lista de imágenes estándar, se puede elegir la imagen de esa lista o
seleccionar “Add from library” y buscar la imagen que se necesite.
Static Image
Queue
En las propiedades de los elementos, seleccionar Graphics, luego en “Image” aparecen varias
opciones para colocar una imagen distinta al WC según sus estados:
Ejemplo: Cambiar todas las imágenes del WC, correr paso a paso y observar las imágenes.
Bloqueado Parado
TURNOS DE TRABAJO
Para cada tipo de parada, se le debe asignar el tiempo entre paradas (Time Between Breakdowns) y
el tiempo de reparación (Time to Repair).
Time to Repair
En las propiedades del recurso, en Availability, en Detail, puede asignarse el tiempo entre ausencias
(Time Between Absence) y el tiempo de retorno (Time to Return).
Esto es aplicable en todos los casos donde se puedan utilizar distribuciones de probabilidad para
controlar tiempos dentro de los elementos de la simulación.
• Named Distributions
• Probability Profile Distributions
• Time Dependent Distributions
• Time Absolute Distributions
• External Distributions
• Combination Distributions
• Label Based Distributions
• Access Information Store
• Bounded
Named Distributions
Simul8 permite crear y nombrar distribuciones y luego usarlas en diferentes lugares de la simulación.
Ejemplo:
Creamos una distribución que va a ser utilizada por un cierto grupo de máquinas y queremos que
esté disponible para cada una de ellas:
Esta distribución puede ser configurada enteramente para generar cualquier forma de distribución.
Para ello, se cambian los porcentajes correspondientes a cada barra azul. Cuando se cambia el
porcentaje de una barra, el resto se ajusta automáticamente
Probabilidad Discreta/Continua
En algunas situaciones puede dares el caso de que la velocidad de una parte del sistema está
relacionada al tiempo del día. Estas distribuciones permiten simular esto y están creadas en base a
“Named Distributions”. Por lo tanto, se debe crear una “Named Distribution” para cada parte del día
en el que se identifique que es necesario una distribución diferente.
Ejemplo
Esta Time Based Distribution será asignada al WEP en el modelo mostrado a continuación:
Será posible observar como en el turno mañana (TM) el buffer se llena a gran velocidad, ya que el
tiempo entre arribos es bajo; luego, cuando se realiza el cambio a TT, como los arribos están muy
distanciados, el buffer se va vaciando hasta que se realiza el siguiente cambio de distribución.
Combination Distributions
Permite colocar juntas un número de distribuciones individuales. Esto puede usarse para crear
formas especiales de distribuciones o para permitir que situaciones inusuales sean adicionadas a una
performance normal.
Esta distribución permite especificar CUANDO se quiere que un evento ocurra (a diferencia del
enfoque habitual en el cual se especifica CUANTO tiempo va a transcurrir desde ahora hasta que el
próximo evento ocurra).
Es útil en situaciones que se repiten dentro del mismo horario cada día.
Bounded Distribution
Esta distribución es simplemente una distribución estándar con la adición de un límite superior e
inferior. Esto previene de valores extremos o indeseables.
Si la opción Resampled está seleccionada, el valor que excede el límite es descartado hasta que se
genera un nuevo valor dentro de los límites. Si la opción no está seleccionada y el valor generado cae
fuera de los límites, el valor es seteado al valor del límite (superior o inferior según corresponda).
Introducción
Cada work item que ingresa a la simulación es idéntico a los restantes. En un comienzo, las labels
fueron usadas para identificar work ítems pero sus aplicaciones son mucho más extensas que la mera
identificación.
Esta sección examina las formas de usar labels para controlar el flujo de work ítems y sus
interacciones con work centers y almacenes.
Labels
Hasta el momento hemos asumido que todos los work ítems son exactamente iguales. SIMUL8 utiliza
labels para identificar work ítems de otros artículos de trabajo. Las labels son unidas a los work ítems
por lo que cada work item posee un sistema común de etiquetas. Cada etiqueta en el sistema puede
tener un valor único.
Cuando a un work item se le asigna una label o un conjunto de labels, este adquiere una identidad o
una personalidad que lo hace único. Esto puede ser usado luego para realizar funciones de ruta de un
work center o decirle a un work center cuanto tiempo tomar para procesar el work item.
Las labels pueden ser usadas para muchas funciones.
Los lugares estándar en SIMUL8 donde las labels pueden ser usadas son:
Storage Bins
Priorizar trabajo en una cola. Las labels pueden ser usadas para definir el orden en un almacén. Los
trabajos de alta prioridad son colocados en primer lugar en la cola y serán procesados primero.
Shelf life. Una label puede ser usada para definir cuanto tiempo puede esperar cada work item en el
almacén antes de ser desechado por culminar su vida útil.
Collect and Match. Si se utiliza la función collect, es posible reorganizar los work ítems basándose en
los valores de las etiquetas. Esto es útil si el proceso no trabaja con un sistema FIFO.
Change over. Es posible aplicar un Change over time siempre que cambie el tipo de trabajo que está
siendo efectuado en el work center.
Cuando el centro de trabajo comienza a procesar un tipo diferente de trabajo (determinado por el
valor de la label) , y se quiere adicionar un tiempo para el “set up” del work center, se utiliza el
“change over “ en el Routing In del WC para determinar ese tiempo adicional y además determinar
cuál label indicará el cambio.
Routing. Las labels pueden ser usadas para decir a un work item que ruta seguir desde un work
center.
Batching. Si se utiliza la función batching, la label puede usarse para definir cuantos work ítems
abandonarán el work center.
Es posible cambiar la información estándar de tiempo con una nueva distribución que leerá
información de tiempo desde el work item.
Una label es usualmente utilizada como algo absolutamente general como tipo o color. Esto implica
que cada work item tendrá atada una label llamada “Type” y otra llamada “Colour”.
A su vez es posible agregar un número a la label (Value) y el número puede ser único para cada ítem.
Esto significa que el nombre de la label es un término global que se aplica igualmente a través de
todos los work ítems, pero el valor es un término local que se aplica individualmente a cada work
item en particular.
1. Crear labels:
Antes de usar una label, esta debe ser creada. Seleccionar el menú Objects, Label option y luego el
botón New. Cambiar el título de la label Type y aceptar la opción Número. De este modo se crea la
label y se encuentra disponible a través de todo el modelo.
Se debe decir al work items que esta label es una de sus características.
Para asignar la label al work item, seleccionar el menú Object, Work item types y luego hacer clic en
add.
Marcar el tipo de label en el cuadro de diálogo y hacer clic en OK para asignar la label al work item.
2. Usar labels:
Presionar el botón Step para que el work item ingrese al work center 1.
Seleccionar el Work Center 1 y luego cliquear sobre su botón Contents. Esto muestra el Work item y
cualquier label que tenga asignado.
El valor actual de la label es cero (valor por defecto) y debe ser fijado a un valor sensible.
La regla que se sigue es:
Hay dos tipos de trabajo en este modelo. Type 1 será enviado al almacén 1 y Type 2 será enviado al
almacén 2.
Ahora debemos dar a la label Type un contenido y establecer como cambiará la ruta.
El valor de la label puede ser asignado al Work Center o al Work Entry Point. En este caso, usaremos
el Work Entry Point para asignar el valor. En el Work Entry Point seleccionar el botón Label Actions.
En este caso se utiliza la label para decirle al WC hacia donde enviar los WI. Vimos que la ruta se
determina en el Routing Out del WC.
Seleccionan dicha opción en el WC, elegimos para determinar la ruta la label. Si hacemos correr la
simulación, todos los ítems se dirigirán al Store 1.
El “contenido” de la Label está relacionado a Lista de Destino en el cuadro de diálogo del Routing
Out.
Hay una regla muy simple: el primer destino tiene el valor 1, el segundo 2, etc. Si una Label tiene por
contenido 1, entonces el ruteo basado en la label enviará el trabajo al primer destino de la lista.
Se puede probar cambiando el valor del contenido de la label a 2 en el WEP y hacienda correr el
modelo.
Se puede hacer que el contenido de la label sea un valor variable; existen dos formas:
Haciendo correr el modelo y revisando el cuadro de contenido podemos ver que ocurrió esta vez.
Se puede usar una distribución de probabilidad también en el caso de que la posibilidad de que el
valor sea 1 o 2 no sea igual. Podemos crear una nueva distribución con los valores de probabilidad
que nosotros asignemos.
El el menú Objects\Labels, seleccionar la opción Create a new Label y llamarla Time. Luego asignar
esa label al Work Item
Para utilizar una Label para tiempos, es necesario dar la instrucción al WC para que revise el valor de
la Label de un work item.
Para ello necesitamos crear una nueva distribución. (Menú Objects\Distribution\ New)
Seleccionar la opción Label Based. Esta instrucción le va a indicar al WC que utilice el contenido de la
Label para setear al tiempo de operación
Presionar Next y elegir la label que creamos con anterioridad (Time)
Para utilizar las labels para cambiar la imagen cuando un elemento completa un trabajo en un WC,
asegurar que una de las Lables del WI está configurada de alguna de las formas que se describen a
continuación.
La LABEL debe estar enumerada en ACTIONS del WC, su valor puede o no ser cambiado por ACTIONS.
LABELS de texto
Si un WI tiene una LABEL de texto con el nombre IMAGE y esa LABEL está listada en ACTIONS en un
WC entonces la imagen del WI será cambiada a la imagen nombrada en dicha Label. (SIMUL8 busca
una imagen cuyo nombre coincide con el texto que figura en la LABEL del WI).
LABELS Numéricas
Si un WI tiene una LABEL numérica con un nombre que comienza con IMAGE: y esa Label está listada
en ACTIONS del WC, entonces SIMUL8 tomará el resto del nombre de la label y añadirá a éste el valor
de la label y luego recuperará la imagen que coincida con ese nombre.
Por ejemplo una label llamada IMAGE:Product que contiene el número 4 logrará que el WC cambie la
imagen del WI a Product4 (si dicha imagen existe en la librería).
EJERCICIO L1:
Change- Over times pueden ocurrir a intervalos de tiempo regulares, como parte de una política de
mantenimiento planeado, o cuando el tipo de producto procesado tiene un cambio.
Uno de estos tipos debe ser seleccionado para poder usar Change Over time.
Para entender el uso, crear el siguiente modelo:
Tiempos:
WEP: 5, Fijo
WC: 10, Fijo
Change Over según Label: 1, Fijo.
Cambiar los Gráficos en el WC cuando se genera el Change Over, para visualizar cuando ocurre:
8 VISUAL LOGIC
Visual logics permite añadir reglas detalladas al modelo de simulación. Esto permite decirle a la
simulación cómo comportarse exactamente tal como la operación que se está modelando.
La diferencia entre Visual Logic y programación es que VL (Visual Logic) guía paso a paso a medida
que uno elije que lógica utilizar, de esta forma evita errores en la sintaxis.
Work Complete
Process Time (Pre-Sample)
Determinar
Examinar labels disciplinas Routing
Determinar tiempos de ciclo out
Setear atributos
Actualizar
estadísticas
Setear labels
After Loading
Actions Distribution (Pre-Sample)
Examinar labels
Determinar parámetros de la
Determinar tiempos
distribución
de proceso
Setear labels
Before Selecting
On Exit
Seleccionar un objeto
específico localizado
en otro objeto de la Determinar valores de
simulación. labels
Usar reglas de Nota: no conveniente para
Batching o Collect asignar ruta
Stop Run
End Warm Up
Cada vez que
el botón es
Inicializar presionado
Estadísticas
Así, la primera parte de la VL es llamada Reset y la última End Run o End Trial.
Es posible correr algunas VL en un intervalo regular. Estas son On Time Check VL y pueden ser
llamadas en un momento particular y predeterminadas por el usuario en intervalos de tiempo.
VL no aparece en la simulación como un código único y extenso, sino que es dividido en los lugares
apropiados donde es necesario usarlo.
Hay muchos lugares donde es posible introducir reglas VL, por ejemplo:
On Work Complete
Before Exit
On Exit Work Center
On Action (in Work Centers)
On Action (in Work Entry Points)
On Route In (before selecting a work item)
On Route In (after selecting a work item)
On Action (in Storage Bin initialization)
On Reset
On EndRun
On Start Run
On Stop Run (when the stop button clicked but not at the end of a run)
On End Trial (at the end of multiple runs)
On Time Check (at any time you decide)
También es posible ver todas las VL del modelo ingresando a la opción Tools/All Visual Logic:
Call command.
Conditional Block Editor, a través de la opción IF (ELSE / WHILE)
Loop Control
Set Value editor
Lo que pretende el modelo es utilizar el WC4 únicamente cuando no hay mucho trabajo esperando
para el WC3 (WC muy costoso que se quiere aprovechar al máximo), pero solamente si se está
formando una cola considerable, previa al WC2, porque éste se ha retrasado con su trabajo.
Específicamente, si hay menos de 3 WI esperando para ser procesados por el WC3 y si hay cola
esperando por el WC2; entonces en este caso se enviará trabajo al WC4 en lugar de al WC2.
Para añadir esta lógica a la simulación, se selecciona el Routing out del WC1, opción On Work
Complete:
Correr la simulación y visualizar el resultado. Revisar el “Result” para el WC4 y el WC3 para ver el %
de utilización.
En el sistema ingresan tres tipos de producto (identificados como tipo 1, 2 y 3) los cuales demandan
distinto tiempo de procesamiento en una misma máquina. Previamente a ese procesamiento, los
tres productos pasan por una operación común que insume el mismo tiempo cualquiera sea el
producto.
En este caso, se puede representar a la misma máquina con tres WC diferentes, cada uno con el
tiempo que insume procesar cada producto; bloqueando los demás WC cuando uno de ellos ha
recibido una pieza y la está trabajando.
El WC1 se designará para procesar tipo de Producto 1, de igual manera se creará la relación WC2:
Producto 2 y WC3: Producto 3.
Tiempos:
WEP: 1 Exponencial
WC: 1, Promedio
WC1: 1, Promedio
WC2: 2, Promedio
WC3: 3, Promedio
Se añade la Label Producto al ingreso en el WEP, con una distribución de probabilidad de ingreso
para cada producto como se indica, de modo tal de identificar que tipo de Producto está ingresando:
Producto 1 : 50%
Producto 2: 20%
Producto 3: 30%
Correr las simulación y visualizar cómo cuando trabaja uno de los WC está trabajando una de las
piezas (con tipo de Producto según corresponda) los demás WC no pueden tomar piezas para
trabajar; ya que en realidad, los tres WC representan a una misma máquina.
9 ALMACÉN DE INFORMACIÓN
Hacer clic sobre New para crear un nuevo soporte de información (Global Data Item). Estos se
conocen también como variables.
Estas variables son globales y son muy similares a las labels, con la excepción de que no son
asignadas a un work item. Esto hace que sean
más flexibles que las labels e implica que podrían tener una variedad de nuevas aplicaciones.
Como puede verse en la figura anterior, las variables pueden ser de diferentes tipos. Las formas más
comúnmente utilizadas son Number y Spread Sheet.
Es posible crear y cambiar el valor inicial de la variable así como el valor al momento de “reset”.
El “Contect value” puede cambiar durante el correr de la simulación y volver al “Reset value” cuando
el botón Reset en la simulación es presionado.
Una variable Spread Sheet se parece a una hoja de datos pero no regresa a ningún valor particular
cuando el botón Reset es presionado. Esto significa que el Spread Sheet puede ser usada para
almacenar información.
Debugging
Monitor de simulación
Mediante el Botón Run se puede observar lo que ocurre al momento de la simulación, lo que está
programado ocurrir y el historial de los eventos.
Es interesante saber que es posible monitorear el valor de una Label en lugar del WI. Para ello,
configurar en el menú Tools/Preferences/Display:
Visual Data
Permite mostrar en la pantalla el actual valor que tiene cualquier Variable (Global Item).
Para visualizar esto se retomará el Ejemplo2, y se creará una nueva Variable llamada “Contador
WC1”:
Esta sentencia simplemente deshabilita una línea de VL de modo que se pueda testear si tiene el
efecto esperado cuando se está simulando.
Al correr la simulación aparece el siguiente mensaje indicando que se está cumpliendo esa línea de la
sentencia VL:
Watch Window
Siguiendo el ejemplo: