Una introducción a la simulación de eventos discretos
Una simulación es la imitación del funcionamiento de un proceso o sistema del mundo real a lo largo del tiempo. Ya sea a mano o por ordenador, la simulación implica la generación de una historia artificial de un sistema y la observación de esa historia artificial para extraer conclusiones sobre las características de funcionamiento del sistema real.
El comportamiento de un sistema a medida que evoluciona en el tiempo se estudia desarrollando un modelo de simulación. Este modelo suele adoptar la forma de un conjunto de hipótesis relativas al funcionamiento del sistema. Estos supuestos se expresan en relaciones matemáticas, lógicas y simbólicas entre las entidades, u objetos de interés, del sistema. Una vez desarrollado y validado, un modelo puede utilizarse para investigar una amplia variedad de preguntas sobre el sistema en el mundo real. Los posibles cambios en el sistema pueden simularse primero para predecir su impacto en el rendimiento del sistema. La simulación también puede utilizarse para estudiar sistemas en fase de diseño, antes de que se construyan. Así pues, la simulación puede utilizarse como herramienta de análisis para predecir el efecto de los cambios en los sistemas existentes y como herramienta de diseño para predecir el rendimiento de nuevos sistemas en distintas circunstancias.
¿Cuándo la simulación es una herramienta apropiada?
La disponibilidad lenguajes propios para la simulación, la mejora de capacidades computacionales, y el avance en las metodologías, han hecho que la simulación sea una de las herramientas más ampliamente usadas y aceptadas dentro de la investigación de operaciones y el análisis de sistemas. La simulación suele ser usada con los siguientes propósitos:
La simulación permite estudiar y experimentar las interacciones internas de un sistema complejo o de un subsistema dentro de un sistema complejo.
Se pueden simular cambios informativos, organizativos y ambientales, y observar el efecto de estas alteraciones en el comportamiento del modelo.
Los conocimientos adquiridos durante el diseño de un modelo de simulación pueden ser de gran valor para sugerir mejoras en el sistema investigado.
Modificar las entradas de la simulación y observar las salidas resultantes puede producir una valiosa información sobre qué variables son las más importantes y sobre cómo interactúan las variables.
La simulación puede utilizarse como dispositivo pedagógico para reforzar las metodologías de solución analítica.
La simulación puede utilizarse para experimentar con nuevos diseños o políticas antes de su aplicación, a fin de prepararse para lo que pueda ocurrir.
La simulación puede utilizarse para verificar soluciones analíticas.
La simulación de diferentes capacidades de una máquina puede ayudar a determinar los requisitos que se le exigen.
Los modelos de simulación diseñados para la formación hacen posible el aprendizaje sin el coste y la interrupción de la instrucción en el puesto de trabajo.
La animación muestra un sistema en funcionamiento simulado para poder visualizar el plan.
Algunos sistemas son tan complejos que sus interacciones internas sólo pueden tratarse mediante simulación.
¿Cuándo la simulación no es apropiada?
La primera regla indica que no debe recurrirse a la simulación cuando el problema puede resolverse con sentido común. Por ejemplo, en un establecimiento en dónde llegan clientes aleatoriamente a un ritmo medio de \(100~\frac{clientes}{hora}\) y son atendidos a un ritmo medio de \(12~\frac{clientes}{hora}\), se puede determinar de manera bastante sencilla que el número de servidores necesarios serán al menos \(8.33\), y no se hace necesaria la simulación.
La segunda guerra a tener en cuenta indica que no debe recurrirse a la simulación si el problmea puede ser resuelto de analíticamente. Por ejemplo, en determinadas condiciones el tiempo medio de espera del ejemplo anterior puede calcularse a partir de la teoría de colas. La Distribución Exponencial se utiliza para modelos el tiempo entre llegadas de los clientes y el tiempo de servicio de un cliente en sistemas de colas. La Distribución de Poisson se usa para modelar el número de llegadas de clientes en un intervalo de tiempo determinado.
La siguiente regla indica que no debe recurrirse a la simulación si es más fácil realizar experimentos directos. Se pone el ejemplo de un autoservicio de comida rápida en el que es menos costoso poner en escena a una persona que tomaba pedidos mediante un terminal portátil y comunicación por voz para determinar el efecto de añadir otro puesto de pedidos en el tiempo de espera de los clientes.
La cuarta regla indica que no debe recurrirse a la simulación si el costo supera los posibles ahorros.
La quinta regla indica que no se debe recurrir a la simulación si no se cuenta con los recursos o el tiempo.
Ventajas y desventajas de la simulación
La simulación es intuitivamente atractiva para un cliente porque imita lo que ocurre en un sistema real o lo que se percibe para un sistema que está en fase de diseño. Los datos de salida de una simulación deben corresponder directamente a los resultados que podrían registrarse en el sistema real. Además, es posible desarrollar un modelo de simulación de un sistema sin supuestos dudosos (como la misma distribución estadística para cada variable aleatoria) de modelos matemáticamente resolubles. Por estas y otras razones, la simulación suele ser la técnica elegida en la resolución de problemas.
A diferencia de los modelos de optimización, los modelos de simulación se ejecutan en lugar de resolverse. A partir de un determinado conjunto de entradas y características del modelo, éste se ejecuta y se observa el comportamiento simulado. Este proceso de cambio de entradas y características del modelo da lugar a un conjunto de escenarios que se evalúan. A continuación, se recomienda la aplicación de una buena solución, ya sea en el análisis de un sistema existente o en el diseño de uno nuevo.
La simulación posee muchas ventas, dentro de las cuales se pueden mencionar:
Se pueden explorar nuevas políticas, procedimientos operativos, reglas de decisión, flujos de información, procedimientos organizativos, etc. sin interrumpir las operaciones en curso del sistema real.
Se pueden probar nuevos diseños de hardware, diseños físicos, sistemas de transporte, etc, sin comprometer recursos para su adquisición.
Se puede comprobar la viabilidad de las hipótesis sobre cómo o por qué se producen determinados fenómenos.
El tiempo puede comprimirse o ampliarse para permitir acelerar o ralentizar los fenómenos investigados.
Se puede obtener información sobre la interacción de las variables.
Se puede obtener información sobre la importancia de las variables para el funcionamiento del sistema.
Se puede realizar un análisis de los cuellos de botella para descubrir dónde se están retrasando excesivamente el trabajo en curso, la información, los materiales, etc.
Un estudio de simulación puede ayudar a comprender cómo funciona el sistema en lugar de cómo piensan los individuos que funciona el sistema. .
Pueden responderse preguntas del tipo ¿Y si…? Esto resulta especialmente útil en el diseño de nuevos sistemas.
Algunas de las desventajas que se pueden mencionar son:
La construcción de modelos requiere una formación especial. Además, si dos modelos son construidos por personas competentes diferentes, puede que tengan similitudes, pero es muy poco probable que sean iguales.
Los resultados de la simulación pueden ser difíciles de interpretar. La mayoría de los resultados de la simulación son esencialmente variables aleatorias (normalmente se basan en entradas aleatorias), por lo que puede ser difícil distinguir si una observación es el resultado de las interrelaciones del sistema o de un error aleatorio.
La modelización y el análisis de simulaciones pueden llevar mucho tiempo y resultar caros. Escatimar recursos para la modelización y el análisis podría dar lugar a un modelo o análisis de simulación insuficiente para la tarea.
Sistemas y entorno del sistema
Para modelar un sistema, es necesario entender el concepto de sistema y el concepto de límites del sistema.
Un sistema es definido como un grupo de objetos que están relacionados mediante alguna interacción regular o interdependencia para el cumplimiento de algún propósito. Un ejemplo puede ser un sistema de producción de manufacturas de automóviles: las máquinas, los componentes o partes, los operarios que unids en una línea de ensamble producen vehículos que alta calidad.
Un sistema es a menudo afectado por cambios que ocurren por fuera del sistema. Se dice que cada cambio ocurre en el entorno del sistema. Para modelas sistemas, es necesario decidir los límites entre el sistema y su entorno. La decisión, generalmente, depende del propósito del estudio.
En el caso del sistema de una fábrica, por ejemplo, los factores que determinan la llegada de ordenes podrían ser condiderados por fuera de la influencia de la fábrica, y por lo tanto, parte del entorno. Por otro lado, si el efecto de la oferta sobre la demanda es considerado, habrá una relación entre los productos de la fábrica y la llegada de ordenes, y esta relación debe ser considerada una actividad del sistema.
Componentes de un sistema
Con el rpopósito de entender y analizar un sistema, un número de términos necesarios deben ser difinidos.
Entidad: una entidad es un objeto de interés en el sistema. Ejemplo: en el sistema de fábrica, los departamentos, pedidos, piezas y productos son entidades
Atributo: un atributo es una propiedad del sistema. Ejemplo: las cantidades para cada pedido, tipo de pieza o número de máquinas en un departamento son atributos del sistema de fábrica.
Actividad: cualquier proceso que causa cambios en un sistema es llamado actividad. Ejemplo: proceso de manufactura en un departamento.
Estado de un sistema: el estado de un sistema se define como el conjunto de variables necesarias para describir un sistema en cualquier momento, en relación con el objetivo de estudio. En otras palabras, por estado del sistema se entiende una descripción de todas las entidades, atributos y actividades existentes en un momento dado.
Evento: un evento se define como un acontecimiento instantáneo que puede cambiar el estado del sistema.
Entorno del sistema: se dice que los componentes externos que interactúan con el sistema y producen los cambios necesarios constituyen el entorno del sistema. En la modelización de sistemas, es necesario decidir el límite entre el sistema y su entorno. Esta decisión puede depender de la finalidad del estudio. Por ejemplo: en un sistema de fábrica, los factores que controlan la llegada de los pedidos pueden considerarse ajenos a la fábrica, pero forman parte del entorno del sistema. Si tenemos en cuenta la demanda y la oferta de bienes, no cabe duda de que existe una relación entre la producción de la fábrica y la llegada de pedidos. Esta relación se considera una actividad del sistema.
Sistema endógeno: el término endógeno se utiliza para describir actividades y acontecimientos que ocurren dentro de un sistema. Ej: Sacar dinero en un banco.
Sistema exógeno: El término exógeno se utiliza para describir actividades y acontecimientos del entorno que afectan al sistema. Ej: Llegada de clientes.
Sistema cerrado: Se dice que un sistema es cerrado cuando no hay actividad ni sucesos exógenos. Ej: Agua en un matraz aislado.
Sistema abierto: Se dice que un sistema es abierto cuando hay actividades o acontecimientos exógenos.. Ej: Sistema bancario.
Sistemas continuos y discretos.
Los sistemas pueden ser categorizados en sistemas contínuos y sistemas discretos:
Sistemas discretos: un sistema discreto es aquel en donde el estado de las variables cambian solamente en un conjunto de puntos discretos del tiempo. Por ejemplo: banco: el número de clientes sólo cambia cuando llega un cliente o cuando finaliza el servicio prestado a un cliente.
Sistema continuo: un sistema es continuo cuando el estado de las variables cambia de manera continua a través del tiempo. Ejemplo: volumen de agua en una presa, el cual cambia continuamente a partir del flujo para generar energía, la lluvia, la evaporación, entre otros factores.
Modelo de un sistema
Un modelo es definido como una representación de un sistema con el propósito de estudiar el mismo. Es necesario considerar solo los aspectos del sistema que afectan el problema bajo estudio. Estos aspectos son representados en un modelo que por definición es una simplificación del sistema.
Existen muchos tipos de modelos:
Modelos matemáticos.
Modelos físicos.
Modelos dinámicos.
Modelos determinísticos.
Modelos estocásticos.
Modelos discretos.
Modelos continuos.
Simulación de eventos discreto
Modelización de sistemas en los que la variable de estado cambia sólo en un conjunto discreto de puntos en el tiempo. Los modelos de simulación se analizan mediante métodos numéricos y no analíticos. Los métodos analíticos emplean el razonamiento deductivo de las matemáticas para resolver el modelo. Por ejemplo: el cálculo diferencial puede utilizarse para determinar la política de coste mínimo de algunos modelos de inventario. Los métodos numéricos utilizan procedimientos computacionales y son «ejecuciones», que se generan a partir de las hipótesis del modelo y se recogen observaciones para analizarlas y estimar las verdaderas medidas de rendimiento del sistema. La simulación en el mundo real es tan amplia, cuyas ejecuciones se realizan con ayuda del ordenador. La simulación manual es muy útil para sistemas pequeños.
Pasos para los estudios de simulación
Formulación del problema: todo estudio comienza con un planteamiento del problema, facilitado por los responsables de decisiones. El analista se asegura de que se entiende claramente. Si lo elabora el analista, los responsables deben entenderlo y estar de acuerdo con él.
Fijación de objetivos y plan general del proyecto
Los objetivos indican las preguntas a las que debe responder la simulación. En este punto debe determinarse si la simulación es la metodología adecuada. Suponiendo que lo sea, el plan general del proyecto debe incluir:
Una descripción de los sistemas alternativos
Un método para evaluar la eficacia de estas alternativas
Planes para el estudio en términos del número de personas implicadas
Costo del estudio
El número de días necesarios para realizar cada fase del trabajo con los resultados previstos.
- Conceptualización del modelo
La construcción de un modelo de un sistema es probablemente tanto arte como ciencia. El arte de modelar se ve reforzado por la capacidad de
Abstraer las características esenciales de un problema.
Seleccionar y modificar los supuestos básicos que caracterizan el sistema.
Enriquecer y elaborar el modelo hasta obtener una aproximación útil útil.
Por lo tanto, lo mejor es empezar con un modelo sencillo e ir aumentando la complejidad. La conceptualización del modelo mejora la calidad del modelo resultante y aumenta la confianza del usuario en la aplicación del modelo.
- Recolección de datos
Existe una interacción constante entre la construcción del modelo y la recopilación de los datos de entrada necesarios. Se hace en las primeras fases. Hay que recopilar datos objetivos.
- Programación del modelo
Los sistemas del mundo real dan lugar a modelos que requieren una gran cantidad de almacenamiento de información y cálculo. Pueden programarse utilizando lenguajes de simulación o software de simulación para fines especiales.
- Verificación
Se refiere al programa informático y a la comprobación del rendimiento. Si los parámetros de entrada y la estructura lógica están representados correctamente, se completa la verificación.
- Validación
Es la determinación de que un modelo es una representación exacta del sistema real. Se consigue mediante la calibración del modelo, un proceso iterativo de comparación del modelo con el comportamiento real del sistema y las discrepancias entre ambos.
- Diseño experimental
Hay que determinar las condiciones que se van a simular. Para cada diseño de sistema, deben tomarse decisiones relativas a:
Duración del periodo de inicialización.
Duración de las ejecuciones de simulación.
Número de réplicas de cada simulación.
- Corridas de producción y análisis
Se utilizan para estimar las medidas de rendimiento de los diseños de sistemas que se están simulando.
- Corridas adicionales
Basado en el análisis de las tiradas realizadas. El analista determina si son necesarias ejecuciones adicionales y qué diseño deben seguir esos experimentos adicionales.
Documentación y reportes
Implementación
Ejemplo de proceso de simulación
Se ha establecido que un cajero de un banco que inicia operación a las \(08:00~a.m.\) llegan usuarios con un tiempo entre llegada de clientes que distribuye normal con media \(1.5~minutos\) y desviación \(15~segundos\). El tiempo de operación del cajero se establece según cuatro tipo de transacciones:
Transferencias
Consultas
Otras transacciones
Retiros.
Se ha recolectado información sobre las \(200\) últimas atenciones en el cajero, como se muestra en la Tabla 1.
Tipo de servicio | Cantidad de servicios |
---|---|
Transferencias | 30 |
Consultas | 50 |
Otras transacciones | 50 |
Retiros | 70 |
Según la información recolectada sobre las últimas \(200\) atención se ha ajustado mediante una prueba de bondad de ajuste las siguientes distribuciones de probabilidad para el tiempo de atención por tipo de servicio.
Transferencias: distribución uniforme con \(120~segundos\) de media.
Consultas: distribución uniforme con \(50~segundos\) de media.
Otras transacciones: distribución uniforme con \(60~segundos\) de media.
Retiros: distribución uniforme con \(80~segundos\) de media.
Se desea simular (al menos una corrida) de \(100\) usuarios al cajero y determinar el tiempo promedio de espera de los clientes. El tiempo de espera aceptable para gerencia son \(18segundos\)