La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Simulación Dr. Ignacio Ponzoni

Presentaciones similares


Presentación del tema: "Simulación Dr. Ignacio Ponzoni"— Transcripción de la presentación:

1 Simulació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

2 Ciclo de Vida de un Modelo Computacional para Simulación
Formulación del Problema Fijar Objetivos Recolección de Datos Construir Modelo Conceptual Corridas y análisis Traducción del Modelo ¿Verificado? ¿Validado? Diseño de experimentos ¿Más corridas? Reportes No Si

3 VIMS (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)

4 Simulació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.

5 Metodología con VIMS Problema Sistema Real Alto nivel de abstracción
Diagranas de Ciclo de Actividades Diagramas de Flujo UML Modelo Conceptual Es un modelo conceptual más concreto que el anterior. Traducimos el modelo conceptual inicial en términos de los constructores provistos por el paquete VIMS. Modelo VIMS El verdadero modelo computacional, queda oculto detrás de la implementación de los constructores. Modelo Computacional

6 Simulació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.

7 Ventajas 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.

8 Simul8 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.

9 Ambiente Gráfico

10 Constructores de Modelos Puntos 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. Memos: Let you make notes about any object in the simulation (so that the model is well documented). Batching Arrivals: This controls the number of items which arrive at one time. If an "arrival" occurs at time 10:30 and the number of items set to leave the "Work Entry" object is "Fixed" 20, then 20 items of the specified work item type will arrive at 10:30. Routing Out from a Work Center/Conveyor: Use the routing-out dialog to tell SIMUL8 where work items should go next after being at a work center. If one work center is connected to the next with one simple connection (arrow) then the routing dialog has no options. If there is a choice of two or more locations to go to then the routing dialog box can be used to change the routing rules. Labels: Labels can be attached to any "work item" going through the simulation model. For example you might attach an label "Illness" to work item type "Patients" and set this label to a code number as they enter your simulation of a hospital. Each code number would represent a type of illness and could be used to route the patients though the different "work centers" in the simulation model. Labels can contain either text or numbers. Tell work centers to change the values of labels using the LABEL ACTION button in the work center dialog. Labels can be used to: - tell work centers which distributions to use for sampling work times. - prioritize work items as they enter a queue. - control the image which is used to display the work item on the screen, and Length of the item. - batch work together as it enters a work center. Erase: Permite borrar el Punto de Entrada de Trabajo. 

11 Constructores de Modelos Áreas de Almacenamiento
Representan los lugares por donde las entidades esperan para ser procesadas. En términos de DEVS, representa un Repositorio. Shelf Life: Use SHELF LIFE (or max waiting time) in storage bins to control how long a work item can usefully stay in a queue. Setting the shelf life by itself is not sufficient to change the way your model works - you must also say what is to happen to the work item when its time expires. Set up a route arrow to a work center which has its ROUTING IN set to "EXPIRED ONLY". This work center will then not normally take work items from the queue (storage bin). It will only accept work items whose time has expired. Time expired work items will be sent to any other destination from the storage bin if they reach the front of the queue without being removed by a work center which is set to search for expired items (this might happen if your "expired items" route is busy). If you want to avoid this then your "expired items" work center should simply pass the work items onto wherever they need to go (with a zero processing time) to avoid the possibility of blocking expired items. You can make shelf life a variable which is different for each work item by using a work item's label to contain the amount of time before the work item should expire. Tell a storage bin to use a particular label for this by double-clicking the box in which you would type a fixed shelf life. Minimum Wait Time: When simulating some processes (e.g. an oven) you might want to use a storage bin to act as a simple work center but one which can contain many work items. However you would want to set a minimum time that the work items must stay in the storage. Initial contents in Storage Bins: Some times you may not want your model to start its run completely empty of work items. In this case you may place work items into storage bins. High Volume: A High Volume Work Center (check the high volume box in the work center dialog) is particularly useful for BPR and FMCG type applications. In these cases very high volumes of work may be processed at work centers and it may not be necessary to individually distinguish between every piece of work a work center does. For example, documents being processed by a work center may each be different but a "data entry" work center does not need to simulate them differently. This contrasts with lower volume applications where every piece of work may be very different (eg patients in a hospital where every patient has different labels and is treated differently depending on these labels. In high volume work centers work also tends to be done in batches. High volume work centers make use of the Quantity Label. Every work item type which goes through a high volume work center must have the quantity label attached to it. High volume mode lets SIMUL8 process large numbers of transactions very quickly in batches while still retaining the ability to consider work individually (in terms of timing etc). The timing information you place in a work center dialog box for a high volume work center is the time it will take to work on one unit of work in the batch. For example if the timing panel in the work center dialog says FIXED 10 and the Quantity label for a work item is set to 20 then it will take 200 minutes to process the work item. If the timing panel specifies a distribution then SIMUL8 will automatically adjust that distribution to one which is appropriate for the batch of work. If you use batching out (from the routing out dialog) a high volume work center will split the quantity label across the newly generated work items. (More). You can ask batching out to use the batch size as the new value for the quantity label. In which case it will automatically generate sufficient work items to use up all of the quantity in the work item which was in the work center. (More) If you use the percent routing out rule at a high volume work center then the work item (batch) is automatically split into as many work items as there are routes leaving the work center and the quantity label is changed to be as close as possible to the percentages specified. Remember you do not need to use high volume mode at every work center which processes work items which are actually batch of work.

12 Constructores de Modelos Centros de Trabajo
Modelan el trabajo realizado por los servidores del sistema. En términos de DEVS, representan las Actividades del sistema.

13 Constructores de Modelos Punto 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. Work Centers – Graphics: Use the Work Centers Graphics Dialog to configure the way each work center is displayed. By default work centers are displayed using one icon (image). However you can animate them by choosing different ways to display the work center when it is in different states. To animate a Work Center select GRAPHICS in its dialog box and select a different image for each state in which it can appear. Optionally the work item which is currently at the work center can be shown on the screen. Work Centers can change the images used to display work items as the work items flow through the work center.

14 Entidades de los Modelos Items 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.

15 Entidades de los Modelos Recursos
Son entidades necesarias cuando las estaciones de trabajo compiten por recursos. Por ejemplo, si hay un único operario para varias máquinas.

16 Caso de Estudio Fá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.

17 Caso de Estudio Fá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.

18 Caso de Estudio - Modelo Conceptual Diagramas de Flujo
Arribos Cola de Engranajes Máquinas (x3) Lavado Despacho (max 25) [capacidad 22/hr] [capacidad 3x6/hr]

19 Caso de Estudio - Modelo Conceptual Diagramas de Ciclo de Actividades
Diagrama de Ciclo de Actividad de un Engranaje ¿Lug.Cola > 0? ¿Hay una máquina libre? Arribando En Cola Lug.Cola-1 Siendo Moldeada Máq. Libres-1 Lug.Cola+1 ¿Lug.Cola = 0? Fuera Bloqueada ¿Lavadora está libre? Siendo Lavada Máq. Libres+1 Lavadora ocupada Lavadora libre

20 Caso de Estudio Mapeo del Proceso

21 Caso de Estudio Definició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.

22 Caso de Estudio Generació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)

23 Caso de Estudio Cola 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.

24 Caso de Estudio Estaciones de Trabajo
Se definen las estaciones de trabajo, indicando: Distribución (exponencial) y tiempo de servicio promedio.

25 Caso de Estudio Estación de Lavado
Similarmente a las estaciones de trabajo anteriores, está estación se define indicando nombre, distribución y parámetros.

26 Caso de Estudio Punto de Salida
Por último, definimos el punto de salida del sistema. Se indica, además del nombre, las características gráficas.

27 Caso de Estudio Punto de Salida

28 Caso de Estudio Resultados: Cola de Espera

29 Caso de Estudio Resultados: 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.

30 Caso de Estudio Resultados: Lavado

31 Caso de Estudio Resultados: Despacho

32 Simul8 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.

33 Simul8 y Tiempos de Viaje Definiendo un Tiempo de Viaje

34 Caso de Estudio Extendiendo 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.

35 Caso de Estudio Extendiendo el modelo
Mostrar pantalla

36 Caso de Estudio Diseñ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.

37 Caso de Estudio Diseño de Experimentos
Resultados sin tiempo de warm-up.

38 Caso de Estudio Diseño de Experimentos
Resultados con un tiempo de warm-up de 240 minutos.

39 Caso de Estudio Diseñ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.

40 Caso de Estudio Resultados

41 Interrupciones 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.

42 Interrupciones Planificadas
Supongamos que el pulidor 1 tiene interrupciones planificadas de 20 minutos de duración cada 2 horas.

43 Interrupciones Imprevistas

44 Distribuciones 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%

45 Distribuciones Empíricas
Se selecciona dentro del menú Objects, la opción: Distributions

46 Distribuciones 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 Nº de Inspecciones 109 83 8 Límites Superiores 2.5 5.0 7.5 10.0 Frecuencia relativa 0% 54.5% 41.5% 4.0%

47 Distribuciones Empíricas

48 Distribuciones 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 9:00 a las 10:00 (i.e. Un TEA de 30 min). 8 lotes por hora desde las 10:00 a las 14:00 (i.e. Un TEA de 7.5 min). 2 lotes por hora desde las 14:00 a las 16:00 (i.e. Un TEA de 30 min).

49 Distribuciones 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 minutos minutos minutos minutos minutos minutos minutos minutos minutos minutos minutos minutos

50 Distribuciones dependientes del Tiempo Modificando el Reloj

51 Distribuciones dependientes del Tiempo Definiendo Distribuciones de Arribos
Definimos dos distribuciones de arribos:

52 Distribuciones dependientes del Tiempo Definiendo Distribuciones de Arribos

53 Recomendaciones Lectura sugerida: Ejercitación recomendada:
Capítulo 8 del libro Computer Simulation in Management Science de Michael Pidd. SIMUL8 User’s Manual. Ejercitación recomendada: Student Workbook: “An Introduction to Simul8”, Jim Shalliker & Chris Ricketts.


Descargar ppt "Simulación Dr. Ignacio Ponzoni"

Presentaciones similares


Anuncios Google