IMG_3115.jpeg
Document Details

Uploaded by QuieterEarthArt25
University of Surrey
Full Transcript
# TAREA 1 ## ALUMNO Alan Yahir Ramirez Rodriguez ## MATRICULA 1813221 ## MATERIA Simulación ## PROFESOR Dr. Juan Manuel Ramirez Cortes ## HORA N4 ## FECHA 15 de febrero de 2023 ## 1. Investigue y describa detalladamente al menos cinco diferentes tipos de lenguajes de simulación. ### Le...
# TAREA 1 ## ALUMNO Alan Yahir Ramirez Rodriguez ## MATRICULA 1813221 ## MATERIA Simulación ## PROFESOR Dr. Juan Manuel Ramirez Cortes ## HORA N4 ## FECHA 15 de febrero de 2023 ## 1. Investigue y describa detalladamente al menos cinco diferentes tipos de lenguajes de simulación. ### Lenguaje de propósito general con bibliotecas de simulación * **Python:** Python es un lenguaje de programación de alto nivel, interpretado y de propósito general, muy utilizado en ciencia de datos, inteligencia artificial y simulación. Su sintaxis es sencilla y legible, lo que facilita el aprendizaje y la programación. Cuenta con diversas bibliotecas especializadas en simulación, como SimPy para simulación de eventos discretos y NumPy y SciPy para simulación numérica y modelado matemático. * **MATLAB:** MATLAB es un entorno de programación y lenguaje de alto nivel ampliamente utilizado en ingeniería, ciencia y finanzas. Ofrece herramientas y funciones especializadas para simulación numérica, modelado y análisis de datos. Su interfaz gráfica facilita la visualización de resultados y la interacción con modelos simulados. * **R:** R es un lenguaje de programación y entorno de software especializado en estadística y análisis de datos. Aunque no está diseñado específicamente para simulación, puede utilizarse para crear modelos y simulaciones estadísticas. Cuenta con paquetes como `simmer` para simulación de eventos discretos y herramientas para análisis de resultados de simulación. ### Lenguajes de simulación de propósito específico * **GPSS (General Purpose Simulation System):** GPSS es un lenguaje de simulación de eventos discretos que se centra en el modelado de sistemas de colas y flujos de entidades. Es especialmente útil para simular sistemas de fabricación, logística y servicios. Su sintaxis se basa en bloques que representan componentes del sistema, como colas, servidores y rutas. * **Simula:** Simula es un lenguaje de programación orientado a objetos que se diseñó específicamente para la simulación. Permite modelar sistemas complejos mediante la creación de objetos que interactúan entre sí. Es adecuado para simular sistemas discretos y continuos, y se ha utilizado en diversas áreas, como la simulación de tráfico, sistemas de comunicación y procesos químicos. ## 2. Elabore una tabla comparativa de los diferentes tipos de software de simulación que existen en el mercado. | Software | Tipo de Simulación | Características | Ventajas | Desventajas | | ------------------ | ------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Anylogic | Multi-método (eventos discretos, basado en agentes, dinámica de sistemas) | Interfaz gráfica intuitiva, modelado visual, soporte para múltiples métodos de simulación, integración con otras herramientas. | Flexibilidad para modelar sistemas complejos, facilidad de uso, amplia gama de aplicaciones, visualización avanzada. | Costo elevado, curva de aprendizaje para funciones avanzadas. | | Arena | Eventos discretos | Modelado visual, análisis de colas, optimización, integración con hojas de cálculo y bases de datos. | Amplia experiencia en la industria, gran cantidad de recursos y ejemplos, optimización integrada. | Enfoque principal en eventos discretos, menos flexibilidad para otros tipos de simulación. | | Simul8 | Eventos discretos | Interfaz gráfica intuitiva, modelado visual, análisis de capacidad, optimización, informes personalizados. | Facilidad de uso, visualización clara de resultados, optimización integrada, informes personalizados. | Enfoque principal en eventos discretos, menos flexibilidad para otros tipos de simulación. | | Vensim | Dinámica de sistemas | Modelado visual, diagramas de flujo, análisis de sensibilidad, optimización, simulación de escenarios. | Especializado en dinámica de sistemas, modelado intuitivo, análisis de políticas, simulación de escenarios. | Enfoque limitado a dinámica de sistemas, menos adecuado para otros tipos de simulación. | | NetLogo | Basado en agentes | Modelado visual, programación basada en agentes, simulación distribuida, visualización 2D y 3D. | Especializado en modelado basado en agentes, fácil de aprender, simulación distribuida, visualización atractiva. | Enfoque limitado a modelado basado en agentes, menos adecuado para otros tipos de simulación. | | SimScale | Simulación numérica (elementos finitos, fluidodinámica computacional) | Plataforma en la nube, simulación multifísica, análisis de elementos finitos, fluidodinámica computacional, transferencia de calor. | Acceso a recursos de cómputo en la nube, simulación multifísica, colaboración en línea, reducción de costos. | Requiere conexión a internet, curva de aprendizaje para usuarios principiantes en simulación numérica. | | COMSOL Multiphysics | Simulación numérica (elementos finitos, multifísica) | Modelado multifísica, análisis de elementos finitos, simulación de fluidos, electromagnetismo, acústica, transferencia de calor, integración con CAD. | Amplia gama de aplicaciones, modelado multifísica, alta precisión, integración con CAD. | Costo elevado, curva de aprendizaje para funciones avanzadas. | | Gazebo | Robótica (simulación 3D) | Simulación 3D, modelado de robots, simulación de sensores, simulación de entornos, integración con ROS (Robot Operating System). | Especializado en simulación de robótica, modelado 3D, simulación de sensores, integración con ROS. | Enfoque limitado a simulación de robótica, requiere conocimientos de robótica y ROS. | | SimPy | Eventos Discretos (con Python) | Permite realizar simulaciones de eventos discretos con el lenguaje de programación Python, usando conceptos como procesos, recursos y eventos. | Al estar basado en Python, se integra facilmente con otras librerías y herramientas de análisis de datos. | No cuenta con interfaz gráfica, lo que puede dificultar la visualización y el análisis de resultados. | | OpenModelica | Entornos modelados matemáticamente (lenguaje declarativo) | Es un entorno de modelado y simulación de código abierto basado en el lenguaje Modelica, que permite modelar sistemas físicos complejos usando ecuaciones matemáticas y componentes. | Permite modelar sistemas heterogéneos que involucran interacciones entre diferentes dominios físicos. | Su interfaz puede no ser tan intuitiva como otros softwares comerciales. | ## 3. Investigue y explique detalladamente el concepto de "números pseudoaleatorios" y su importancia en la simulación. Los números pseudoaleatorios son secuencias de números que, aunque generadas mediante algoritmos deterministas, aparentan ser aleatorias y cumplen con ciertas propiedades estadísticas que las hacen útiles para simular procesos aleatorios. **Importancia en la simulación:** * **Representación de la aleatoriedad:** Permiten introducir la aleatoriedad necesaria para modelar eventos y procesos inciertos en la simulación. * **Reproducibilidad:** Al ser generados por algoritmos deterministas, las secuencias de números pseudoaleatorios pueden ser reproducidas, lo que facilita la depuración y validación de modelos de simulación. * **Control:** Permiten controlar la variabilidad en la simulación y comparar diferentes escenarios bajo las mismas condiciones aleatorias. * **Eficiencia:** Son computacionalmente eficientes de generar, lo que permite realizar simulaciones a gran escala sin consumir demasiados recursos. ## 4. Investigue y describa al menos tres diferentes métodos para generar números pseudoaleatorios, incluyendo sus ventajas y desventajas. | Método | Descripción | Ventajas | Desventajas | | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Congruencial Lineal (LCG) | Genera una secuencia de números mediante una fórmula recursiva: $X_{n+1} = (aX_n + c) \mod m$, donde $X_0$ es la semilla, a es el multiplicador, c es el incremento y m es el módulo. | Simple de implementar, rápido de generar números, requiere poca memoria. | Puede tener un período corto, susceptible a patrones y correlaciones, no adecuado para simulaciones complejas. | | Multiplicativo Retardado (MRG) | Genera una secuencia de números mediante una fórmula recursiva que utiliza múltiples términos anteriores: $X_n = (a_1X_{n-1} + a_2X_{n-2} +... + a_kX_{n-k}) \mod m$. | Período más largo que LCG, mejor calidad estadística, menos susceptible a patrones. | Más complejo de implementar, requiere más memoria, puede ser más lento que LCG. | | Mersenne Twister (MT) | Genera una secuencia de números basada en un registro de desplazamiento lineal generalizado (GLFSR) y una matriz de torsión. | Período muy largo ($2^{19937} - 1$), buena calidad estadística, ampliamente utilizado en diversas aplicaciones. | Más complejo de implementar, requiere más memoria, puede ser más lento que LCG y MRG. | | WELL (Well Equidistributed Long-period Linear) Generadores | Es una clase de generadores de números pseudoaleatorios basados en registros de desplazamiento lineal generalizado (GLFSR) que mejora las propiedades de equidistribución. | Mejores propiedades de equidistribución en comparación con Mersenne Twister, lo que significa que los números generados llenan el espacio de manera más uniforme | Puede ser computacionalmente más costoso en comparación con generadores más simples, como el generador congruencial lineal (LCG). |