Introducción a la Simulación
Inicio de la Simulación: 1949 → Método de Monte Carlo (John Von Neumann, Stanislaw Ulam)
Simulación (Shannon, 1975): Proceso de diseñar un modelo de un sistema real y llevar a cabo experiencias con él, con la finalidad de aprender el comportamiento del sistema o de evaluar diversas estrategias para el funcionamiento del sistema.
Sistema, Modelo y Simulación
Sistema: Conjunto de objetos o ideas que están interrelacionadas entre sí como una unidad para la consecución de un fin. Forma parte de la vida real.
Modelo: Representación simplificada de un sistema. Es una abstracción del sistema.
Procedimientos de Obtención de Modelos
- Análisis teórico o método deductivo:
Estudio cualitativo de los fenómenos que caracterizan el comportamiento del sistema.
Relaciones matemáticas concretas → ecuaciones descriptivas del proceso. - Análisis experimental o método inductivo:
Construir un modelo matemático a partir de medidas realizadas sobre el sistema.
Descripción detallada de cómo evoluciona a lo largo del tiempo.
Observar el comportamiento del modelo.
Llevar a cabo experiencias con él.
Simulación del Modelo
Objetivo: No conocer el sistema en sí, sino su comportamiento ante diversas situaciones.
Los modelos de simulación se hacen funcionar, no se resuelven.
Modelo de Simulación
- Se definen los parámetros aleatorios.
- Llegada de nueva maquinaria.
- Avería.
Gravedad de la avería. - Se simulan o muestrean los parámetros aleatorios.
- Se recopilan los resultados.
- Se detiene el proceso de muestreo.
¿Cuándo Conviene Utilizar la Simulación?
- Si no existe formulación matemática del modelo o métodos analíticos de resolución (sistemas complejos).
- Si existen, pero resulta más sencillo y barato simular.
- Si se desea experimentar con el sistema antes de su uso o construcción (simulador de vuelo).
- Es imposible experimentar sobre el sistema → Prevención de eventualidades.
- Razones éticas impiden la experimentación (sistemas biológicos humanos).
- Se desea reducir escalas de tiempo, pues la evolución del sistema es muy lenta (capa de ozono, políticas de talas de árboles).
- Permite estudiar sistemas dinámicos en tiempo real.
Inconvenientes
- La construcción del modelo puede ser compleja y costosa.
- Es frecuente despreciar elementos o relaciones sin importancia aparente y obtener resultados falsos.
- Es difícil establecer el grado de precisión de los resultados y su análisis.
- No optimiza, sólo evalúa.
Tipos de Sistemas
- Estado de un sistema: Conjunto de variables necesarias para describir un sistema en un instante de tiempo y relativo a los objetivos de un estudio.
- Tipos de Sistemas:
- Continuos: Las variables de estado cambian de forma continua con el tiempo.
- Discretos: Las variables de estado cambian en ciertos instantes de tiempo.
Ejemplo Modelo Continuo: Presa-Depredador (Modelo Lotka-Volterra)
X(t): Número de individuos presa en el instante t.
Y(t): Número de individuos depredador en el instante t.
- Tasa de crecimiento sin depredadores.
- Tasa de variación en ausencia de presas.
Elementos de la Simulación
- Eventos: Sucesos que pueden producir un cambio en el estado del sistema.
- Mecanismo de Transición: «Mecanismo» que muestra los cambios que se producen en el estado del sistema cuando se produce un evento.
- Un sistema de colas con un servidor.
- Variable de estado: número de clientes en el sistema, N(t).
- Eventos:
- Llegada de un nuevo cliente.
- Fin del servicio de un cliente.
- Mecanismo de transición: N(t) = (N(t) + 1 si llegada de cliente, N(t) – 1 si fin de servicio de un cliente.
Tratamiento del Tiempo
Reloj de Simulación: Variable que registra la cantidad de tiempo que ha sido simulada.
- No tiene relación con el tiempo requerido para llevar a cabo la simulación.
- Métodos para incrementar el reloj de simulación:
- Incremento en tiempo fijo (time step): El reloj de simulación se incrementa en Δt unidades de tiempo.
- Cada vez que se incrementa el tiempo se actualizan las variables de estado, comprobando si alguno de los eventos ha ocurrido en ese intervalo.
- Los eventos que hayan podido ocurrir en ese intervalo, se considera que ocurren al final del intervalo, momento en que se actualizan las variables.
- Desventajas: Simultaneidad de eventos, error, lentitud.
Organización de un Modelo de Simulación
- Estado del sistema: Variables que describen el sistema en un instante particular.
- Reloj de simulación: Variable con el valor actual del tiempo simulado.
- Lista de eventos: Lista de instantes en que ocurrirán los próximos eventos de cada tipo.
- Contadores: Variables para almacenar información sobre el comportamiento del sistema.
- Rutina de tiempo: Determina el siguiente evento y avanza el reloj de simulación al instante en que va a ocurrir.
- Rutina de evento: Actualiza las variables cuando ha ocurrido un evento. Hay una por cada tipo de evento.
- Generador de informes o resultados: Realiza los cálculos o estimaciones de las características que se desean medir, cuando la simulación acaba.
Metodología en un Estudio de Simulación
Creación del Modelo o Simulador
- Formular el problema (fase de especificación): Objetivos, hipótesis, parámetros, variables de estado, etc.
- Reunir datos y crear un modelo: Diagrama de flujo.
- Programar el modelo: Lenguaje general o lenguaje de simulación.
- Verificar la programación (depuración): Verificar que lo que se ha programado coincide con lo que se había modelado.
- Validar el modelo: Ejecutar y comparar con el sistema o solución teórica en casos sencillos.
Uso del Modelo o Simulador
- Diseñar el experimento: Estrategias, pruebas, número de simulaciones, etc. Técnicas de Reducción de la Varianza.
- Llevar a cabo las ejecuciones de simulación.
- Analizar los resultados: Muestra simulada → Análisis estadístico.
- Decidir si dar por terminada la simulación.
- Documentar y organizar las ejecuciones.
Software de Simulación
Características Comunes al Codificar Modelos de Simulación
- Generación de muestras de números aleatorios U(0,1).
- Generación de muestras de variables aleatorias con distribuciones específicas.
- Mecanismos de control y flujo del tiempo.
- Determinación del siguiente evento.
- Actualización de listas de sucesos (adición, supresión, actualización de registros).
- Recogida y análisis de datos generados por la simulación.
- Elaboración de informes, gráficas, etc.
→ Lenguajes de simulación de propósito general → Gran desarrollo → Incremento del uso de la Simulación.
Lenguaje de Simulación Versus Lenguaje de Propósito General
Ventajas de los Lenguajes de Simulación
- Proporcionan la mayoría de características necesarias para programar un modelo de simulación → reducción de esfuerzo de programación.
- Entorno de trabajo natural para el uso de modelos de simulación → bloques básicos de programación más afines.
- Más sencillos de codificar → más fácil de modificar para experimentos.
- Facilitan la detección de errores, especialmente en la lógica del proceso.
Ventajas de los Lenguajes de Propósito General
- En general, los «modeladores» conocen algún lenguaje de propósito general, pero no suelen conocer lenguajes de simulación.
- Suelen estar disponibles en cualquier ordenador, no los de simulación.
- El coste del software es menor.
- El tiempo de ejecución es menor (más eficientes).
- Mayor flexibilidad.
Tipos de Software de Simulación
- Lenguaje de simulación: Lenguaje de programación que es general por naturaleza pero con desarrollos especiales para cierto tipo de aplicaciones. Ejemplo: SIMAN, GPSS, etc. Un modelo se desarrolla en un lenguaje de simulación escribiendo un programa usando estructuras de modelado del lenguaje → «Experto» programador.
- Simulador: Programa que permite simular un sistema de una clase específica de sistemas con poca o ninguna programación → Poca o ninguna experiencia en programación → Limitadas las posibles configuraciones de los sistemas. Ejemplo: simulador de vuelo, simulador de un centro de control de una central nuclear.
Análisis de Resultados de Simulación
- Un estudio de simulación busca respuestas a preguntas sobre el sistema a través de la información que proporcionan los experimentos con el modelo.
- Los experimentos responden a preguntas: ¿Qué pasaría si…? (What-if).
- Las respuestas servirán de soporte a una decisión sobre el sistema → variable respuesta (numérica).
- Cada alternativa es una variante del modelo o escenario de simulación para el experimento → estimación de variables respuesta → estadística.
- Muestreo, reducción de varianza, estimación, diseño de experimentos.
Estimación de Medias (Esperanzas)
- En general, el valor esperado de la variable respuesta se estima mediante la media muestral de las observaciones. También se calcula el intervalo de confianza (precisión).
- Intervalo de confianza a: Y = Σ(Xi)/n (De 100 intervalos confiamos en que en al menos a % estará la media).
- Muestreo de dimensión fija: n fijado de antemano → precisión la que resulte.
- Muestreo secuencial: Precisión fijada de antemano (anchura del intervalo) → tamaño de muestra indeterminado (fijar n y si no se alcanza la precisión, seguir).