INSTITUTO TECNOLÓGICO DE TIJUANA DEPARTAMENTO DE INGENIERÍA INDUSTRIAL SIMULACIÓN Investigación Unidad Unidad 6 Programa de Cómputo Especial para Simulación PRESENTA: GARCIA ORTIZ ALEJANDRO 17212246 TIJUANA, BAJA CALIFORNIA, MÉXICO 20 DE DICIEMBRE DEL 2020 Instituto Tecnológico de Tijuana ÍNDICE INDICE CONTENIDOS .................................................................................................................................... 3 6.1. Descripción de un paquete de simulación disponible ............................................................... 3 6.1.1. Áreas de aplicación ............................................................................................................................ 6 6.1.2. Estructura del modelo de simulación en el paquete: instrucciones para la programación pr ogramación del modelo ........................................................................................................................................................ 6 6.2. Ejemplos de simulación en el paquete descrito ......................................................................... 7 6.2.1. Descripción escrita ............................................................................................................................ 7 6.2.2. Programación .................................................................................................................................... 7 6.2.3. Experimentación con varias configuraciones posibles del sistema simulado .................. ........................... ................. ........8 6.3. Validación ............................................................................................................................... 10 6.3.1. Interpretación de los informes de salida .........................................................................................10 6.3.2. Juicios sobre los resultados reportados ..........................................................................................11 6.4. Conclusión ........................................................................................................... .................................................. ............................................................................. .................... 11 6.4.1. Comparación entre las configuraciones simuladas ................ ......................... .................. .................. .................. .................. .................. ............11 ...11 6.4.2. Selección de la mejor configuración ...............................................................................................12 6.4.3. Recomendaciones para la implantación .........................................................................................12 6.5. Uso del programa en los proyectos de simulación del grupo (si fuera pertinente) ................. 13 6.6. Entrega de la monografía mono grafía del proyecto realizado .................................................................... ......................................................... ........... 13 2 Instituto Tecnológico de Tijuana CONTENIDOS 6.1. Descripción de un paquete de simulación disponible Una simulación por computadora, un modelo de simulación por computador o un modelo informatizado es un programa informático o una red de ordenadores cuyo fin es crear una simulación de un modelo abstracto de un determinado sistema. Las simulaciones por computadora se han convertido en una parte relevante y útil del modelo matemático de muchos sistemas naturales de ciencias como la física, geofísica, astrofísica, química y la biología; así como de sistemas humanos de economía, psicología y ciencias sociales. Además, se emplea en el diseño de nueva tecnología para llegar a comprender mejor su funcionamiento. Las simulaciones por computadora abarcan desde programas informáticos cuya ejecución dura unos minutos hasta conjuntos de ordenadores conectados en red cuya ejecución dura horas, e incluso hay simulaciones que se extienden varios días. Existen diferentes tipos de modelos, en función de la finalidad para la cual se crean o diseñan. Sus clasificaciones son variadas, y buscan dar una idea de sus características esenciales; pueden ser en base a su dimensión, función, propósitos y grado de abstracción. Cada fenómeno de la realidad se puede representar por medio de un modelo; por lo cual, según el número y tipo de fenómenos existentes en el mundo real, será el número y tipo de modelos posibles. Aunque los tipos básicos son icónico, analógico y simbólico o matemático. 3 Instituto Tecnológico de Tijuana Otra clasificación es con base a las capacidades de representar la dinámica y control de los componentes e interacciones del sistema (Quinteros et al., 2006), de esta manera los modelos son: 1) estáticos,un cuando se en representa sistema un solo instante de tiemposimulación en particular, o bien para representar sistema donde elun tiempo no en es importante, por ejemplo, Montecarlo; 2) dinámicos, representan sistemas en los que las variables son funciones del tiempo, permitiendo predecir su desarrollo en un periodo dado; este tipo de modelos es de gran importancia para representar procesos biológicos; 3) determinísticos, no consideran la variación estocástica, comportándose de manera probabilística, los datos de entrada y las relaciones existentes en el sistema son especificados al inicio, es decir, no influye el azar en los resultados; y 4) estocásticos, la modelación se realiza considerando que al menos una de las variables que definen el comportamiento del sistema se muestra aleatoria, y entonces el resultado es al menos en parte variable. Para esta investigación se hará enfoque en MATLAB. La plataforma MATLAB está optimizado para la solución de problemas de ingeniería y científicos. El lenguaje MATLAB basado en la matriz, es la forma natural de la mayor parte del mundo para expresar matemática computacional. Gráficos integrados hacen que sea fácil de visualizar y obtener información a partir de datos. Una vasta biblioteca de cajas de herramientas prediseñados le permite comenzar de inmediato con algoritmos esenciales a su dominio. El entorno de escritorio invita a la experimentación, la exploración y el descubrimiento. Estas herramientas y capacidades de MATLAB están rigurosamente probados y diseñados para trabajar juntos. 4 Instituto Tecnológico de Tijuana MATLAB con todo su catalogo de funciones y conveniencias se coloca como uno de los software de simulación mas solidos en el ámbito matemático. Entre sus principales características encontramos: • • • • Lenguaje de alto nivel para cálculos científicos y de ingeniería Entorno de escritorio optimizado para la exploración iterativa, el diseño y la solución de problemas Gráficas para visualizar datos y herramientas para crear diagramas personalizados Aplicaciones para ajustar curvas, clasificar datos, analizar señales, ajustar sistemas de control y muchas otras tareas • Toolboxes complementarias para una amplia variedad de aplicaciones científicas y de ingeniería • Herramientas para crear aplicaciones con interfaces de usuario personalizadas • Interfaces para C/C++, Java®, .NET, Python, SQL, Hadoop y Microsoft® Excel® 5 Instituto Tecnológico de Tijuana • Opciones de implementación libres de derechos para compartir programas de MATLAB con los usuarios finales 6.1.1. Áreas de aplicación Se utiliza para el aprendizaje automático, procesamiento de señales, procesamiento de imágenes, visión por ordenador, comunicaciones, finanzas computacionales, diseño de control, robótica, entre otros. Ejemplo de aplicación del programa en solución de un problema. MATLAB puede ser usado para resolver un gran abanico de problemas técnicos relacionados con matemática, desde la evaluación de una simple función hasta la resolución numérica de sistemas de ecuaciones diferenciales parciales, por ejemplo. También puede resolver problemas simbólicos y presentar los resultados de forma agradable y visual de manera que los resultados obtenidos sean más fáciles de comunicar a otros colaboradores que no trabajen directamente con la ingeniería de los problemas. 6.1.2. Estructura del modelo de simulación en el paquete: instrucciones para la programación del modelo Es interactivo, es decir, no siempre se requiere crear código, o definir variables de forma explícita. Para muchos usos, solo es necesario usar instrucciones sencillas y obtener la respuesta inmediatamente. También permite modificar la instrucción fácilmente para ver otros escenarios a través de pocas instrucciones. Sin embargo, también es flexible, permitiendo crear programas a través 6 Instituto Tecnológico de Tijuana de un lenguaje de alto nivel, más concentrado en lo que se desea resolver que en los detalles profundos de la ingeniería de software. Es compatible con una gran cantidad de software utilizado ampliamente en los ámbitos científicos y técnicos: puede interactuar con hojas de Microsoft Excel, software elaborado usando C++, Fortran y otros Posee una gran cantidad de herramientas, llamadas Toolboxes, que pueden ser usadas u sadas de forma gráfica para resolver problemas de ingeniería avanzada, como lógica difusa, redes neuronales, algoritmos genéticos, optimización numérica, machine learning, procesamiento de imágenes y video, control de procesos, entre muchos otros. otros . Permite elaborar programas y aplicaciones que pueden ejecutarse en cualquier computador, y más relevante en los tiempos actuales, en cualquier dispositivo, con interfaces para trabajar con dispositivos móviles, hardware industrial, microprocesadores y más. 6.2. Ejemplos de simulación en el paquete descrito 6.2.1. Descripción escrita Las funciones de importación y exportación de datos brindan acceso a datos provenientes de archivos, otras aplicaciones, servicios webdeyMicrosoft® dispositivosExcel®, externos. Esimágenes, posible leer formatos archivos comunes, como hojas de cálculo texto, audio y vídeo,dey formatos de datos científicos. Las funciones de E/S de archivos de bajo nivel permiten trabajar con archivos de datos de cualquier formato. 6.2.2. Programación El uso de MATLAB es más eficiente cuando sus algoritmos se diseñan en términos de matrices y vectores, puesto que es un programa de cálculo numérico orientado a matrices. 7 Instituto Tecnológico de Tijuana Se encuentra programado en Java y en C, aun así, posee elementos en su sintaxis propios de el programa. 6.2.3. Experimentación con varias configuraciones posibles del sistema simulado A continuación, algunas de las funciones especiales que contiene MATLAB: Funcionales especiales y elementales • • • • • • Funciones gamma, beta y elípticas. Transformación de sistemas de coordenadas. Matriz identidad y otras matrices elementales. Matrices de Hilbert, Toeplitz, Vandermonde, Hadamard, etc. Partes reales, imaginarias y complejas conjugadas. Funciones trigonométricas y de potencias. Algebra lineal numérica • • • • Valores propios y descomposición de matrices. Funciones generales de evaluación de matrices. Determinantes, normas, rangos, etc. Matrices inversas y factorización de matrices. • Matriz exponencial, logarítmica y raíces cuadradas. 8 Instituto Tecnológico de Tijuana Polinomios e interpolación • • • • • • • Interpolación 1-D y 2-D. Construcción polinomial. Interpolación por splines cúbicos. Diferenciación de polinomios. Evaluación de polinomios. Multiplicación y división de polinomios. Residuos de polinomios y residuos. Métodos numéricos no lineales • • • • Búsqueda de ceros en funciones de una única variable. Minimización de funciones de una o más variables. Resolución numérica de integrales. Solución numérica de ecuaciones diferenciales ordinarias. Estadística y análisis de Fourier • • • • • • • Convolución 1-D y 2-D. Filtros digitales 1-D y 2-D. Transformadas de Fourier 1-D y 2-D y su inversa. Coeficientes de correlación y matrices de covarianza. Deconvolución. Magnitudes y ángulos de fase. Funciones max, min, sum, mean y otras funciones de estadística básica. Operaciones algebraicas y lógicas • • • Suma, resta, multiplicación, división y potencias de matrices. Matriz transpuesta. Operadores lógicos AND, OR, NOT y XOR. Utilidades • • • • • Gestión y mantenimiento de errores. Conversión de tipos de datos Fortran. Funciones de fecha y hora. Clasificación de matrices. Conversión de números a cadenas y viceversa. 9 Instituto Tecnológico de Tijuana 6.3. Validación 6.3.1. Interpretación de los informes de salida A fin de obtener el usuario un resultado dispuesto por el programa de la manera deseada dese ada (ya sea texto, un gráfico 3D, 2D, simulación en base a parámetros o tablas de datos) es necesario ordenar correctamente las disposiciones necesarias y asignar los elementos necesarios para que opere y finalmente nos devuelva la información requerida. Algunos ejemplos de impresión de resultados y su programación p rogramación en el software. 10 Instituto Tecnológico de Tijuana De igual manera los resultados pueden mostrarse mostrars e de forma gráfica con opción de personaliza personalización ción 6.3.2. Juicios sobre los resultados reportados Al ser presentados de forma optima y conveniente la interpretación sobre los datos de valor queda a disposición del usuario. 6.4. Conclusión 6.4.1. Comparación entre las configuraciones simuladas Como se mencionará a continuación hay dos tipos principales de trabajo que se deben implementar según los intereses y la parte esencial que se utilizara de el programa, también el nivel de entendimiento de el funcionamiento que se tiene. 11 Instituto Tecnológico de Tijuana 6.4.2. Selección de la mejor configuración configuración En la optimización basada en problemas se crean variables de optimización, expresiones en estas variables que representan el objetivo y las restricciones, y se resuelve el problema utilizando Solve Para los pasos basados en problemas a tomar. Consulte para elegir entre la optimización basada en problemas y la optimización basada en solucionador, elija primero el enfoque basado en problemas o basado en Solver El primero tiene como características: Fácil de crear y hacer debug No óptimo para solución de ecuaciones o de no lineales Representación de objetivo y restricciones simbólicamente Tiempo de solución mas largo debido a que maneja traducción interna • • • • Mientras que el basado en Solver: Difícil de crear y hacer debug Representación de objetivo y restricciones como funciones o matrices Tiempo de solución más corto ya que no necesita traducir • • • 6.4.3. Recomendaciones para la implantación Escribe tus programas lo más simple y directo posible. Si trabajas con un compilador, ajusta sus opciones para que arroje la mayor cantidad de errores y advertencias posibles al compilar, de ese modo, tu aplicación tendrá menores chances de obtener erroresprograma aleatorios. En ser basepreviamente a lo anterior, revisa cadaexplicando mensaje para tomar lasfuncionamiento medidas pertinentes. Todo debe comentado, el propósito, completo y el resultado esperado. Dentro de las funciones definidas, establece un espaciado o que resalte la estructura funcional de la aplicación y facilite la lectura al programador al que le corresponda analizar el código. Por lo general, se usa un nivel de indentación por cada bloque de código (sentencias condicionales y bucles son consideradas como bloques de código embebido dentro de otro, por lo que se recomienda la indentación), ésta indentación corresponde a una sangría que comúnmente tiene el valor de una tabulación (tecla Tab) o bien tres o cuatro espacios. Se recomienda usar nombres de variables que permitan saber de forma intuitiva cual es el dato que se almacena en cada variable. Adicionalmente se recomienda nombres compuestos para las variables remplazando en espacio en blanco por el guion bajo. A la programación en Matlab se recomienda siempre que sea posible p osible usar las funciones vectoriales en lugar de hacer cálculos escalares repetitivos. 12 Instituto Tecnológico de Tijuana Con respecto específicamente a la programación en Matlab se recomienda siempre que sea posible crear los vectores y matrices a través de las funciones destinadas para este fin, en lugar de añadirles elementos uno por uno a través de los ciclos. 6.5. Uso del programa en los proyectos de simulación del grupo (si fuera pertinente) - 6.6. Entrega de la monografía del proyecto realizado https://la.mathworks.com/help/optim/ug/first-choose-problem-based-or-solver-based-approach.html https://la.mathworks.com/help/matlab/data-import-and-export.html https://earchivo.uc3m.es/bitstream/handle/10016/30345/TFG_Oscar_Serrano_Garcia.pdf?sequence= 1 https://es.wikipedia.org/wiki/Simulaci%C3%B3n_por_computadora http://www.scielo.org.mx/scielo.php?script=sci_arttext&pid=S1870-04622011000300004