Introducción a la Simulación: Conceptos, Tipos y Aplicaciones

Introducción a la Simulación

Definición de Simulación

Es el proceso de diseñar un modelo de un sistema real y experimentar con él para entender el comportamiento del sistema o evaluar varias estrategias para la operación del sistema. El proceso de simulación incluye tanto la construcción del modelo como su uso analítico para estudiar un problema. Por modelo de un sistema real entendemos una representación de un conjunto de objetos o ideas de forma tal que sea diferente a la de la entidad misma (abstracción de la realidad), y en este caso el término “real” se usa en el sentido de “en existencia o capaz de ser puesto en existencia”. La simulación es fingir, es llegar a la esencia de algo prescindiendo de la realidad. Es la técnica de resolver problemas siguiendo los cambios en el tiempo de un modelo (dinámico o no).

Objetivo de la Simulación

a. Describir el comportamiento de sistemas.
b. Postular teorías o hipótesis que expliquen el comportamiento observado.
c. Usar estas teorías para predecir un comportamiento futuro, es decir, los efectos que se producirán mediante cambios en el sistema o en su método de operación.

¿Por qué Simular?

Porque a partir del modelo se pueden modificar distintos parámetros de manera menos costosa que en el sistema real y de esta manera poder obtener la pauta de lo que puede pasar en el futuro con el sistema a partir de una condición inicial y los parámetros. Además, las simulaciones se pueden correr las veces que se quiera, con tiempos de simulación diferentes en cada ejecución.

Clasificación de Sistemas

Cerrados VS. Abiertos: Esta clasificación está relacionada a si el sistema tiene contacto con el entorno, es decir que el entorno intercambia información con el sistema (Abierto), o si no existe dicho contacto o intercambio de información (Cerrado).

Naturales VS. Artificiales: Está relacionada a si el humano ha sido el que creó y hace uso del sistema (Artificial), como por ejemplo un banco, supermercado etc., o si es producto de la naturaleza (Natural).

Estables VS. Inestables:

Discretos VS. Continuos: Estos sistemas son los que se utilizan en la materia, estos sistemas evolucionan en el tiempo. Los sistemas discretos los representamos en forma estocástica (probabilística), los continuos los representamos de forma determinística.

Clasificación de Modelos

Discretos: Son aquellos en los que los cambios, tanto internos como en las salidas, se manifiestan de manera discreta. Es decir, que ocurren cambios en un momento t0, y luego ocurre otro cambio en el momento t1, y otro en t2, etc., de manera que si midiéramos las variables del sistema en un momento t0+ tal que t0 < t0+ < t1 los valores serían los mismos que los obtenidos en t0. Es decir, que no existen cambios entre los momentos tn.

Continuos: Son aquellos en los que los cambios se producen continuamente, por lo que pueden detectarse cambios entre cualquier momento o par de mediciones. Son sistemas determinísticos, que se pueden modelar con ecuaciones diferenciales cuando se conocen cuáles son las aplicables.

Caja Negra: Son sistemas opacos, es decir que no es posible conocer qué hay adentro. Solo es posible conocer (generalmente) qué entradas y salidas tiene. Esto provoca que estos sistemas sean los menos predecibles.

Caja Gris: Son sistemas en los que se pueden conocer algunos componentes internos y otros no, por lo que dependiendo de cuántos componentes pueden conocerse estará más cerca de una caja blanca o de una caja negra.

Caja Blanca: Son sistemas transparentes donde se pueden ver todos los elementos que componen al sistema y sus relaciones.

Ventajas, Desventajas y Peligros de la Simulación

Ventajas

  • Permite estimar medidas de desempeño bajo diferentes escenarios.
  • Es útil cuando no hay formulación matemática.
  • Otorga control sobre condiciones experimentales.
  • Manejo arbitrario del tiempo.
  • Permite estudiar sistemas estocásticos (probabilísticos).
  • Puede usarse varias veces una vez construido.
  • Ayuda a estudiar sistemas inexistentes.

Desventajas

  • Costos económicos y en tiempo.
  • No podemos medir el grado de precisión.
  • No sirve para encontrar soluciones óptimas.
  • No es sustituto de un análisis detallado.
  • Puede aparentar reflejar con precisión un sistema real cuando en verdad no lo hace.

Peligros

  • Inferir resultados con una sola prueba, asumiendo independencia.
  • Uso arbitrario de suposiciones y distribuciones.
  • Impresionarse con el gran volumen de información, pero que la misma no refleje el sistema estudiado.
  • Los resultados pueden dar lugar a una excesiva confianza, esto porque al tener un modelo podemos creernos que tenemos el sistema cuando no es así.
  • Es posible que se ignoren factores tecnológicos y de índole humana.
  • Basar las decisiones en el promedio de estadísticas cuando los resultados son de hechos cíclicos.

Etapas de una Simulación

  1. Definición del problema: objetivos, modelo de negocio, alcance.
  2. Construcción del modelo: componentes y relaciones.
  3. Adquirir y preparar datos: variables, información, distribuciones, entradas, componentes.
  4. Programación.
  5. Validación: testing.
  6. Planeación táctica y estratégica: cantidad de corridas, longitud, tipo de entradas.
  7. Experimentar: correr la simulación.
  8. Interpretación y análisis: traducción de resultados.
  9. Implantación: aplicación al sistema real.
  10. Documentación: descripción detallada.

Validación de un Modelo

Al validar un modelo, uno tiene que evaluar 3 puntos claves:

  • Supuestos: Involucrar al cliente en el proceso para encontrar los elementos del sistema que considera más útiles.
  • Valores de entradas y distribuciones: Cuáles son las entradas del sistema real, cómo se pueden representar, validar si realmente lo que muestra el modelo es lo que ocurre en la vida real del sistema.
  • Valores de salidas y conclusiones:

Lenguajes de Propósito General vs. Lenguajes de Simulación

Diferencias

  • Organización del tiempo y las actividades.
  • Definición y estructuración de las entidades del modelo.
  • Prueba de actividades y condiciones sobre los elementos.
  • Tipos de pruebas estadísticas posibles sobre los elementos.
  • Facilidad para cambiar la estructura del Modelo.

Lenguajes de Propósito General

Ventajas

  • No hay restricciones para el formato de salida.
  • A menudo se conoce muy bien el lenguaje.
  • Menor costo del software.

Desventajas

  • Tiempo de programación más largo. (El costo total del proyecto puede ser mayor).
  • Debemos crear las rutinas de detección de errores de proceso.

Lenguajes de Simulación

Ventajas

  • Provee la mayoría de las funcionalidades necesarias para construir un modelo.
  • Genera automáticamente ciertos datos necesarios.
  • Facilita recopilación y despliegue de los datos producidos.
  • Controla administración y asignación del almacenamiento de la computadora, durante la corrida (Importante).

Desventajas

  • Debe apegarse a los formatos de salida del lenguaje.
  • Flexibilidad reducida y tiempo de ejecución incrementado.

¿Por qué se Utilizan Números Aleatorios para Simular?

La generación de números aleatorios es esencial en la simulación porque permite representar la incertidumbre, modelar procesos estocásticos, diversificar escenarios, evitar sesgos y optimizar soluciones. Esto hace que las simulaciones sean más precisas, realistas y útiles para la toma de decisiones.

La generación de números aleatorios es una herramienta clave en la simulación que permite modelar la incertidumbre, representar procesos estocásticos, realizar pruebas y validaciones, y analizar problemas complejos. Sin el uso de números aleatorios, sería extremadamente difícil replicar y entender los comportamientos dinámicos y variables de sistemas reales en simulaciones. La capacidad de generar datos aleatorios de manera controlada y reproducible es esencial para obtener resultados precisos y útiles en la simulación de sistemas complejos.

Números Pseudo Aleatorios

Se trata de un conjunto de números comprendidos en el intervalo [0,1) generados mediante fórmulas deterministas, que se comportan de manera muy similar a un conjunto de números totalmente aleatorios. Para poder efectuar una simulación que incluya variabilidad dentro de sus eventos, es preciso generar una serie de números que sean aleatorios por sí mismos, y que su aleatoriedad pueda ser extrapolada al modelo de simulación que se está construyendo. Los números a utilizar se comportarán de manera muy similar a un conjunto de números puramente aleatorios, por ello se los denomina pseudo aleatorios, generados por medio de algoritmos determinísticos que requieren parámetros de arranque.

Propiedades de los Números Pseudo Aleatorios

  1. Deben tener distribución uniforme.
  2. La media de los números pseudo aleatorios entre 0 y 1 debe ser de 0,5; y la varianza de 1/12.
  3. Independencia: los números aleatorios no deben tener correlación entre sí.
  4. Deben tener un período o ciclo de vida lo suficientemente largo de acuerdo al uso que se les dará.
  5. Deben ser reproducibles.

Prueba de Kolmogorov-Smirnov (KS)

Esta prueba también permite determinar la distribución de probabilidad de una serie de datos. Una limitante de la prueba es que solamente puede ser aplicada al análisis de variables continuas.

Modelos de Simulación Discretos Estáticos (Montecarlo)

Estudia sucesos encadenados. Más allá de estudiar analíticamente la probabilidad de un éxito, se prefiere probar cuantas veces tengo éxito al repetir el experimento e inferir. Se relaciona con el teorema de Bernoulli: “La probabilidad de ocurrencia de un evento, se va a acercar a la esperanza”. A medida que aumento las corridas suele disminuir el error pero no es siempre así, esto por la aleatoriedad de las variables.

Modelos de Simulación Dinámicos

Características

  • ¿Longitud máxima?: depende de cada caso.
  • FIFO/LIFO.
  • Impaciencia: puede pasar que un cliente en la cola no espere indefinidamente a ser atendido.
  • Prioridades.