Teoría VI
Software de Simulación
Materia:Simulación.
Cátedra:Dra. Marcela Printista, Lic. Silvia M. Molina, Lic. Cristian Tissera.
Carrera:Lic. En Cs. De la Computación, Prof. en Cs. de la Computación.
Año:2010
Categorización del Software de Simulación
Lenguajes de programación de propósito general: C,
C++, JAVA, etc.
Lenguajes de programación de simulación: GPSS/H,
SIMAN V, SLAM II, etc.
Entornos de Simulación, esta categoría incluye
muchos productos distinguidos de una manera u otra, pero comparten algunas características: ARENA,
Categorización del Software de Simulación
Un survey sobre software de simulación es publicado
por la OR/MS Today:
http://www.lionhrtpub.com/orms/surveys/Simulation/Si mulation.html
Journal of Simulation
http://www.palgrave-journals.com/jos/index.html
Simulación – Teoría VI: Software de Simulación- Año 2010
Selección del software a utilizar
Existen varias características a tener en cuenta para la elección de un lenguaje:
La disponibilidad de manuales,
El compilador del lenguaje,
La documentación y diagnóstico de errores,
La eficiencia (tiempo de organizar, programar,
compilar y ejecutar).
Selección del software a utilizar
Existen varias características a tener en cuenta para la elección de un lenguaje:
Los costos involucrados (instalación, mantenimiento, actualización, operación).
Conocimiento del lenguaje.
Justificación económica.
Simulación – Teoría VI: Software de Simulación- Año 2010
Lenguajes de propósitos generales
Ayudan a entender los conceptos básicos referente a la simulación
Se deben programar todos los algoritmos para la
planificación de eventos, administración del tiempo de simulación, cálculos de estadísticas, generación de muestras, generación de reportes, etc.
Lenguajes de propósitos generales
Proveen generadores de números aleatorios.
En lenguajes como C++ y Java se pueden incluir algunas librerías que proveen acceso a
funcionalidades de simulación estandarizadas,
ocultando detalles minuciosos de bajo nivel. Ejemplo: APIs SSF.
Simulación – Teoría VI: Software de Simulación - Año 2010
Lenguajes de propósitos específicos
Ventajas
Reducción en la tarea de programación,
Mejor definición del sistema,
Mayor flexibilidad para cambios,
Mejor diferenciación de las partes que forman el
sistema,
Se relacionan mejor las entidades.
Lenguajes de propósitos específicos – GPSS
GPSS (General Purpose Simulation System)
Es un lenguaje altamente estructurado
Orientado a sistemas de colas
El sistema a ser simulado se describe a través de un
diagrama de bloque
Simulación – Teoría VI: Software de Simulación - Año 2010
Lenguajes de propósitos específico - GPSS
Las entidades (denominadas transacciones ) se
pueden ver como fluyendo a través de los diagramas de bloques.
Los bloques representan eventos, demoras y otras
acciones que afectan el flujos de las entidades.
Lenguajes de programación de simulación de propósitos especial - GPSS
Un modelo de simulación en GPSS es el resultado de: convertir el diagrama de bloques a declaraciones de bloques más la incorporación de declaraciones de control.
Simulación – Teoría VI: Software de Simulación - Año 2010
Lenguajes de programación de simulación de propósitos especial – GPSS
Por ejemplo, para un sistema de colas con un solo
servidor, las expresiones son de la forma: 1. GENERATE (llegar al sistema)
2. QUEUE (unirse a la cola de espera)
3. DEPART (dejar la cola y entrar al servicio)
4. SIZE (tomar el servicio)
5. ADVANCE (adelantar el reloj para considerar el tiempo de servicio)
6. RELEASE (dejar el servicio)
7. TERMINATE (salir del sistema)
Entornos de Simulación - Arena
Puede ser usado para la simulación de sistemas
discretos y continuos.
Ofrece la facilidad de uso, flexibilidad y capacidad de
modelado que se requiere para representar cualquier proceso de la empresa:
Procesos de aprovisionamiento: almacenaje, fabricación, logística y distribución.
Gestión administrativa y el servicio y atención al cliente.
Simulación – Teoría VI: Software de Simulación - Año 2010
Entornos de Simulación
Proporciona la tecnología que se necesita para completar todas las fases de la simulación:
Construcción de modelos de simulación:
Tecnología de templates,
Integración con Ms Visio
Entornos de Simulación
Integración y análisis de datos de entrada:
Módulos para lectura y escritura en archivos de datos,
Integración con Excel y Access, Herramienta Input Analizer.
Simulación – Teoría VI: Software de Simulación - Año 2010
Entornos de Simulación
Visualización y animación de los procesos y estados del
sistema representados en los modelos:
Conexión con software de realidad virtual para Arena VRAbox,
Importación desde AutoCAD, Arena Symbol Factory,
Librerías de objetos de animación, gráficos y display de estados del sistema.
Entornos de Simulación
Control de la ejecución de las simulaciones y facilidades de la
depuración de modelos.
Realización de informes y herramientas para análisis de
resultados
Informes Crystal Reports,
Exportación de informes a Excel, Word, Html, entre otros,
Herramienta de análisis de resultados Output Analyzer.
Simulación – Teoría VI: Software de Simulación - Año 2010
Entornos de Simulación
Experimentación y comparación de alternativas:
Process Analyzer
Optimización de procesos (software complementario):
Optquest para Arena, ISSOP.
Costes basados en actividades
Integración y comunicación con otras aplicaciones
Entornos de Simulación
Familia de Software
Arena Professional Edition
Arena Basic Edition
Arena Factory Analyzer Edition
Arena Contact Center Edition
Arena Enterprise Suite versión
Arena 3D PlayerArena OptQuest
Simulación – Teoría VI: Software de Simulación - Año 2010
Entornos de Simulación
http://www.arenasimulation.com/
Entornos de Simulación
http://www.arenasimulation.com/
Simulación – Teoría VI: Software de Simulación - Año 2010
El entorno de simulación Arena
Es una potente herramienta para crear y ejecutar experimentos sobre modelos. Pasos a seguir:
1. Crear un modelo básico
2. Refinar el modelo
3. Simular el modelo
4. Analizar los resultados de la simulación
5. Seleccionar las mejores alternativas
El entorno de simulación Arena
Conceptos preliminares.
Evento: es una ocurrencia instantánea que cambia el estado de un sistema.
Actividad: es una duración de tiempo de una longitud específica.
Clock: es una variable representando el tiempo simulado.
Proceso: es una secuencia de eventos que ocurre en un tiempo determinado
Simulación – Teoría VI: Software de Simulación - Año 2010
El entorno de simulación Arena
El entorno de simulación Arena
Conceptos preliminares.
Entidad: cualquier objeto o componente en el sistema que requiere explícitamente
representación en el modelo (servidor, cliente, máquina, etc.)
Para Arena: son los ítems (clientes, documentos partes) que están siendo atendidas, producidas o actuando de alguna manera en el proceso.
Simulación – Teoría VI: Software de Simulación - Año 2010
El entorno de simulación Arena
Conceptos preliminares.
Los modelos de simulación discreta pueden desarrollarse a través de 3 enfoques:
Simulación orientada al evento, Simulación orientada a las entidades,
Simulación orientada al proceso: describe
el proceso a través del cual las entidades
Entorno de construcción de modelos
Para la construcción de modelos se utilizan dos tipos de módulos:
Flowchart modules (módulos de diagramas de flujo).
Describen la lógica del proceso. Es el conjunto de objetos que son colocados en la ventana del modelo para describir el proceso de simulación.
Simulación – Teoría VI: Software de Simulación - Año 2010
Entorno de construcción de modelos
Para la construcción de modelos se utilizan dos tipos de módulos:
Data modules (módulos de datos): tiempos, costos,
parámetros.
Entorno de construcción de modelos
Paneles de organización de módulos:
Panel de proceso básico: se encuentran los módulos
que mínimamente se necesitan para modelar un proceso básico.
Panel de proceso avanzado: se encuentran los módulos para modelar funcionalidades más complejas.
Simulación – Teoría VI: Software de Simulación - Año 2010
Entorno de construcción de modelos
Para la construcción de modelos se utilizan los módulos organizados en los siguientes paneles:
Panel de transferencia avanzado:incluye los
módulos necesarios para modelar el movimiento de las entidades de un lugar a otro.
Panel de proceso de flujo
Panel de proceso básico
Ejemplo de un modelo construido con módulos del
panel del proceso básico.
Simulación – Teoría VI: Software de Simulación - Año 2010
Panel de proceso básico
Create: es el comienzo del flujo del proceso, es por
este módulo por donde ingresan las entidades al modelo, aquí son creadas.
32
Panel de proceso básico
Simulación – Teoría VI: Software de Simulación - Año 2010
Tpo. E. A. (seg.)
Frec. Acum.
3 0.3
4 0.6
5 1
Panel de proceso básico
Dispose: es el fin del flujo del proceso. Las entidades
son removidas de la simulación.
34
Panel de proceso básico
En este módulo las estadísticas pueden ser registradas antes de que las entidades sean removidas del modelo. Algunas de ellas son:
Tiempo de espera (wait time)
Tiempo de transferencia (transfer time) Costo de espera (wait cost)
Costo de transferencia (transfer cost)
Simulación – Teoría VI: Software de Simulación - Año 2010
Panel de proceso básico
Process: es una actividad usualmente realizada por
uno o más recursos y requiere un tiempo para que se complete.
36
Panel de proceso básico
Simulación – Teoría VI: Software de Simulación - Año 2010
Panel de proceso básico
Decide. Es un salto en el flujo del proceso. Incluye
opciones para tomar decisiones:
Basadas en condiciones
Basadas en probabilidades
38
Panel de proceso básico
Simulación – Teoría VI: Software de Simulación - Año 2010
Panel de proceso básico
Batch. Colecciona un número de entidades antes de que puedan continuar el proceso. Una agrupación puede ser:
Permanente: el grupo armado continúa así hasta el final del proceso;
Temporario: el grupo armado, en algún momento posterior a su construcción debe ser separado por un módulo separate.
Panel de proceso básico
Pueden ser armado con un número específico de entidades.
Simulación – Teoría VI: Software de Simulación - Año 2010 En estado de ejecución
Panel de proceso básico
Pueden ser armados teniendo en cuenta algún atributo
Panel de proceso básico
Separate. Este módulo puede ser utilizado para:
Replicar entidades para el procesamiento concurrente o paralelo,
Separar entidades que habían sido previamente unidas por un módulo batch.
Record: colecciona estadísticas.
Simulación – Teoría VI: Software de Simulación - Año 2010
Panel de proceso básico
Panel de proceso básico
Assign: cambia el valor de algún parámetro (durante
la simulación) tales como atributos de alguna entidad, o alguna variable del modelo.
Simulación – Teoría VI: Software de Simulación - Año 2010
Panel de proceso básico
Record. Colecciona estadísticas. Varios tipos de
estadísticas son válidas:
Referentes a tiempos Observaciones Generales
Intervalos de tiempos
Panel de proceso básico
Simulación – Teoría VI: Software de Simulación - Año 2010
Bibliografía
Discrete-Event System Simulation. Fourth edition. Editorial Prentice-Hall. Autores: Jerry Banks, John S. Carson II, Barry L. Nelson, David M. Nicol. Capítulo 4.
Simulación un enfoque práctico. Autor: Raúl Coss Buss. Disponible en http://books.google.com.ar/.
Arena User’s Guide.pdf. Tutorial disponible con el software Arena.