Title: Sin t
1Simulación Dr. Ignacio Ponzoni
Clase XVII Construcción de Modelos de Simulación
de Eventos Discretos usando VIMS Parte
1 Departamento de Ciencias e Ingeniería de la
Computación Universidad Nacional del Sur Año 2005
2Ciclo de Vida de un Modelo Computacional para
Simulación
3VIMS (Visual Interactive Modelling Systems)
- Rápidamente, las técnicas utilizadas para VIMS
fueron fusionadas con distintas metodologías para
simulación dinámica, lo cual dio origen a varios
de los paquetes de simulación más utilizados en
la actualidad - MicroSaint (Micro Analysis and Design, 1992)
- Simul8 (Visual Thinking International, 1993)
- PowerSim (PowerSim Corporation,1993)
- Stella (High Performance Systems, 1994)
- ProModel (Benson, 1996)
- AutoMod (Rohrer, 1996)
- SimProcess (CACI Products Company, 1996)
4Simulación utilizando VIMS
- Cuando simulamos utilizando un paquete de tipo
VIMS, debemos especificar el modelo conceptual a
través de los constructores brindados por el
paquete. - El usuario sólo debe preocuparse de especificar
la topología de los procesos del sistema y la
correcta parametrización de las unidades que los
componen. - La traducción al modelo computacional de
simulación es realizada internamente por el
software de forma totalmente transparente al
usuario.
5Metodología con VIMS
Problema
Sistema Real
Modelo Conceptual
Modelo VIMS
Modelo Computacional
6Simulación utilizando VIMS
- La mayoría de estos paquetes de software
- Están basados en Interacción de Procesos,
- Promueven un modelado Orientado a Objetos,
- Brindan interfaces con lenguajes de programación
a fin de extender las funcionalidades de sus
constructores, y - Permiten visualizar el funcionamiento del sistema
durante la ejecución de la simulación a través de
animaciones.
7Ventajas y Desventajas
de utilizar VIMS en Simulación
- La clave del éxito de estos paquetes de
simulación reside en que cualquier tipo de
usuario, independientemente de su formación
profesional, pueda construir un modelo de
simulación sin necesidad de poseer conocimientos
sobre programación. - El usuario sólo necesita describir claramente el
proceso que desea simular. - La principal desventaja es que el modelador debe
acotarse al conjunto de constructores brindados
por el paquete de software.
8Simul8
- Es un paquete VIMS para simulación de eventos
discretos. - Los elementos básicos para la construcción de los
modelos son las colas y centros de trabajo (o
puntos de servicio). - Los elementos del modelo pueden ser
parametrizados especificando capacidades,
tiempos de servicio, restricciones lógicas, etc. - Permite introducir código en Visual Basic, a fin
de poder modelar comportamiento complejo que
escapa a las características básicas de sus
constructores.
9Ambiente Gráfico
10Constructores de ModelosPuntos de Entrada de
Trabajo
- Representan los lugares por donde arriban las
entidades que circulan por el sistema. - Es el constructor de Simul8 para los Generadores
de Arribos. - En términos de DEVS representa un Tiempo entre
Arribos.
11Constructores de ModelosÁreas de Almacenamiento
- Representan los lugares por donde las entidades
esperan para ser procesadas. - En términos de DEVS, representa un Repositorio.
12Constructores de ModelosCentros de Trabajo
- Modelan el trabajo realizado por los servidores
del sistema. - En términos de DEVS, representan las Actividades
del sistema.
13Constructores de ModelosPunto de Salida
- Representan los lugares por donde las entidades
dejan el sistema una vez finalizado su proceso. - En estos puntos, el sistema computa estadísticas
de las entidades procesadas.
14Entidades de los ModelosItems de Trabajo
- Representan las entidades que circulan por el
sistema, siendo procesadas por las estaciones de
trabajo. - Son generadas en los puntos de entrada de manera
automática.
15Entidades de los ModelosRecursos
- Son entidades necesarias cuando las estaciones de
trabajo compiten por recursos. - Por ejemplo, si hay un único operario para varias
máquinas.
16Caso de EstudioFábrica de Engranajes
- Una fábrica manufactura engranajes mediante el
siguiente proceso - Los moldes de los engranajes arriban
individualmente. - Los engranajes son ingresados a un área de
almacenamiento en donde esperan para ser
procesados. - Los moldes son procesados por tres máquinas que
funcionan en paralelo, las cuales transforman
estas piezas en engranajes. - Los engranajes son enviados a la sección de
lavado. - Los engranajes son despachados a los clientes de
la fábrica.
17Caso de EstudioFábrica de Engranajes
- De la recopilación de datos se sabe que
- El tiempo entre arribos sigue una distribución
exponencial con una media de un arribo cada 4
minutos. - El tiempo de servicio para construir un engranaje
está distribuido exponencialmente con una media
de una pieza procesada cada 10 minutos. - El tiempo de lavado de un engranaje sigue una
distribución normal con una media de 2.75 minutos
y un desvío estándar de 0.5 minutos.
18Caso de Estudio - Modelo Conceptual Diagramas de
Flujo
19Caso de Estudio - Modelo Conceptual Diagramas de
Ciclo de Actividades
Diagrama de Ciclo de Actividad de un Engranaje
Lug.Cola gt 0?
Hay una máquina libre?
Lug.Cola 0?
Fuera
Lavadora está libre?
20Caso de EstudioMapeo del Proceso
21Caso de EstudioDefinición de Entidades
- Primero definimos la entidad (o item de trabajo)
de está simulación engranaje.
- Es importante notar que el item denominado
engranaje es en realidad sólo un molde cuando
ingresa, y posteriormente es transformado en un
engranaje propiamente dicho.
22Caso de EstudioGeneración de Arribos
- Se define la generación de arribos indicando
- Nombre del Work Entry Point
- Distribución
- Tiempo entre arribos promedio
- Tamaño del lote
- (Batching)
23Caso de EstudioCola de Espera
- Se define la cola de espera que forman los
engranajes indicando - El nombre del repositorio.
- Su capacidad.
- Su tiempo de vida en la cola.
- Su política de cola.
- Su representación gráfica.
24Caso de EstudioEstaciones de Trabajo
- Se definen las estaciones de trabajo, indicando
- Distribución (exponencial) y tiempo de servicio
promedio.
25Caso de EstudioEstación de Lavado
- Similarmente a las estaciones de trabajo
anteriores, está estación se define indicando
nombre, distribución y parámetros.
26Caso de EstudioPunto de Salida
- Por último, definimos el punto de salida del
sistema. - Se indica, además del nombre, las características
gráficas.
27Caso de EstudioPunto de Salida
28Caso de EstudioResultados Cola de Espera
29Caso de EstudioResultados Máquina 1
Porcentaje de tiempo que estuvo esperando
recibir un molde.
Porcentaje de tiempo que estuvo trabajando.
Porcentaje de tiempo que estuvo bloqueada por no
poder pasar su engranaje a la estación de lavado.
30Caso de EstudioResultados Lavado
31Caso de EstudioResultados Despacho
32Simul8 y Tiempos de Viaje
- En Simul8 es posible especificar el tiempo de
viaje que le insume a un item desplazarse de un
Punto de Entrada o Estación de Trabajo a un
Repositorio. - El software asume por defecto que el tiempo de
viaje - desde un Repositorio a una Estación de Trabajo es
0, - desde una Estación de Trabajo a otra Estación de
Trabajo es 0, - desde un Punto de Entrada o Estación de Trabajo a
un Repositorio es un valor positivo relacionado
con la distancia en pantalla. - Para muchas simulaciones, es mejor no tener
tiempos de viaje por defecto. En su lugar,
conviene indicar que por defecto todos los
tiempos de viaje son 0, y luego ingresar
únicamente los valores para los que difieren de 0.
33Simul8 y Tiempos de ViajeDefiniendo un Tiempo de
Viaje
34Caso de EstudioExtendiendo el modelo
- Supongamos ahora que deseamos extender el modelo
de la fábrica a fin de considerar que los
engranajes, luego de ser lavados, son pulidos e
inspeccionados antes de dejar la fábrica. - Consideraremos que
- Los engranajes lavados van a un área de
almacenamiento, la cual posee una capacidad
limitada de 20 unidades. - Dos pulidores trabajando en paralelo se encargan
de pulir las piezas que arriban al área de
almacenamiento (Normal, media 6 y ds 1). - Los engranajes, luego pulidos pasan a otra área
de almacenamiento, en donde son demoradas hasta
ser inspeccionadas. - Hay una única estación de inspección
(Exponencial, media 2.5). - Los engranajes, una vez inspeccionados, dejan la
planta.
35Caso de EstudioExtendiendo el modelo
36Caso de EstudioDiseño de Experimentos
- El sistema, tal como ha sido diseñado posee la
siguiente estructura y parametrización - Arribos Tiempo entre arribos exponencial con
media de 4 min. - Cola de engranajes Capacidad para 25 items.
- Máquinas (3) Tiempo de servicio exponencial,
media 10 min. - Sin buffer para lavado (los engranajes que están
esperando a una lavadora bloquean a los
operarios). - Lavadoras (1) Tpo. servicio normal, media 2.75
min, DE 0.5 min. - Cola para pulido Capacidad para 20 items.
- Pulidores(2) Tiempo de servicio normal, media
6 min, DE 1 min. - Cola para inspección Capacidad 10 items.
- Inspección (1) Tiempo de servicio exponencial,
media 2.5 min.
37Caso de EstudioDiseño de Experimentos
- Resultados sin tiempo de warm-up.
38Caso de EstudioDiseño de Experimentos
- Resultados con un tiempo de warm-up de 240
minutos.
39Caso de EstudioDiseño de Experimentos
- Luego, se selecciona para cada elemento de
interés (estaciones de trabajo, repositorios,
etc.) que valores se incluirán en el reporte de
salida. - Finalmente, se indica cuantas réplicas realizar,
y cual será la semilla base para la generación de
números aleatorios.
40Caso de EstudioResultados
41Interrupciones
- Muchos sistemas reales sufren interrupciones de
servicio que generan la detención del
funcionamiento de un equipo, o incluso de todo el
sistema. - Estas interrupciones de servicio pueden estar
- Planificadas (por ejemplo, el mantenimiento
preventivo de un equipo), - Imprevistas (por ejemplo, un falla que provoca
que un equipo salga de operación). - En general estas interrupciones implican
especificar en el modelo una distribución para
tiempo entre interrupciones, y una distribución
para indicar la cantidad de tiempo que el equipo
o sistema estará detenido.
42Interrupciones Planificadas
- Supongamos que el pulidor 1 tiene interrupciones
planificadas de 20 minutos de duración cada 2
horas.
43Interrupciones Imprevistas
44Distribuciones Empíricas
- Las distribuciones empíricas pueden ser
utilizadas cuando ninguna de las distribuciones
teóricas se ajusta a la muestra relevada para
modelar una variable aleatoria. - En Simul8 se pueden definir distribuciones
empíricas, tanto discretas como continuas. - Supongamos que los moldes de engranajes arriban
el lotes cuyo tamaño posee la siguiente
distribución discreta
Tamaño del Lote 1 2 3 4 5 6
Frecuencia Relativa 5 45 20 15 10 5
45Distribuciones Empíricas
- Se selecciona dentro del menú Objects, la opción
Distributions
46Distribuciones Empíricas
- Asumamos también que el tiempo de servicio para
la inspección de piezas posee la siguiente
distribución continua - En Simul8 se puede definir una distribución
empírica continua particionada en clases, donde
dentro de cada clase se asume que los datos están
distribuidos uniformemente.
Tiempo de Inspección 0-2.5 2.5-5.0 5.0-7.5
Nº de Inspecciones 109 83 8
Límites Superiores 0 2.5 5.0 7.5 10.0
Frecuencia relativa 0 54.5 41.5 4.0 0
47Distribuciones Empíricas
48Distribuciones dependientes del Tiempo
- Cuando un sistema nunca alcanza un estado
estacionario, resulta importante poder definir
distribuciones probabilísticas que puedan variar
en el tiempo. - Por ejemplo, supongamos que la fábrica de
engranajes funciona 7 horas al día, durante 6
días de la semana, y que nuestro período de
simulación es una semana. - Y supongamos que los arribos de moldes de
engranajes siguen una frecuencia que depende del
momento del día - 2 lotes por hora desde las 900 a las 1000 (i.e.
Un TEA de 30 min). - 8 lotes por hora desde las 1000 a las 1400
(i.e. Un TEA de 7.5 min). - 2 lotes por hora desde las 1400 a las 1600
(i.e. Un TEA de 30 min).
49Distribuciones dependientes del Tiempo
- La duración de la simulación es
- 60 (min/hs) x 7(hr/dia) x 6(dia/sem) 2520
(hr/sem) - Luego, si segmentamos el tiempo en momentos en
que la cola de espera tiende a crecer o tiende a
decrecer, tenemos
Cola crece Cola decrece
60...300 minutos 480...720 minutos 900...1140 minutos 1320...1560 minutos 1740...1980 minutos 2160...2400 minutos 300...480 minutos 720...900 minutos 1140...1320 minutos 1560...1740 minutos 1980...2160 minutos 2400...2520 minutos
50Distribuciones dependientes del
TiempoModificando el Reloj
51Distribuciones dependientes del TiempoDefiniendo
Distribuciones de Arribos
- Definimos dos distribuciones de arribos
52Distribuciones dependientes del TiempoDefiniendo
Distribuciones de Arribos
53Recomendaciones
- Lectura sugerida
- Capítulo 8 del libro Computer Simulation in
Management Science de Michael Pidd. - SIMUL8 Users Manual.
- Ejercitación recomendada
- Student Workbook An Introduction to Simul8,
Jim Shalliker Chris Ricketts.