Guía docente de Técnicas Avanzadas de Cálculo y Optimización (MZ1/56/3/107)
Máster
Módulo
Rama
Centro Responsable del título
Semestre
Créditos
Tipo
Tipo de enseñanza
Profesorado
- Juan Chiachio Ruano
- David Alejandro Pelta Mochcovsky
- Rocio Celeste Romero Zaliz
Breve descripción de contenidos (Según memoria de verificación del Máster)
La asignatura introduce técnicas avanzadas de cálculo, modelización, aprendizaje y optimización orientadas
al análisis de problemas complejos en ingeniería. Se estructura en los siguientes bloques:
- Introducción al aprendizaje Bayesiano
- Aprendizaje secuencial y pronóstico
- Introducción al aprendizaje automático
- Computación Evolutiva
A lo largo de la asignatura se enfatiza el tratamiento explícito de la incertidumbre, la actualización de
modelos con datos, la construcción y validación de modelos predictivos y el empleo de algoritmos de
optimización para apoyar el diseño, la calibración y la toma de decisiones en problemas propios de la
ingeniería estructural y civil.
Prerrequisitos y/o Recomendaciones
Se recomienda haber cursado materias de matemáticas avanzadas, probabilidad y estadística, cálculo
numérico, programación científica (preferentemente en Python o MATLAB/Octave) y fundamentos de
análisis estructural.
Es recomendable que el estudiantado tenga soltura en álgebra lineal, optimización básica y manejo de
conjuntos de datos para poder abordar con aprovechamiento la parte práctica de la asignatura.
En caso de utilizar herramientas de inteligencia artificial para el desarrollo de actividades, el estudiantado
deberá hacer un uso ético, crítico y responsable de las mismas, declarar su utilización cuando proceda y
respetar la integridad académica, la autoría y la protección de datos. En cualquier caso, se deben seguir las
recomendaciones contenidas en el documento de "Recomendaciones para el uso de la inteligencia artificial
en la UGR" publicado en esta ubicación: https://ceprud.ugr.es/formacion-tic/inteligencia-
artificial/recomendaciones-ia#contenido0
Competencias
Competencias Básicas
- CB6. Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación.
- CB7. Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
- CB8. Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios.
- CB9. Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades.
- CB10. Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.
Resultados de aprendizaje (Objetivos)
El estudiantado sabrá/comprenderá:
- Los fundamentos de la simulación de sistemas complejos en ingeniería, así como de la cuantificación de incertidumbre en la simulación
- Las bases del aprendizaje automático supervisado y no supervisado, sus hipótesis de uso, métricas de validación y limitaciones.
- La lógica, el funcionamiento y el ámbito de aplicación de los principales enfoques de computación evolutiva para optimización monoobjetivo y multiobjetivo.
El estudiantado será capaz de:
- Formular problemas de inferencia, predicción y optimización a partir de datos y modelos de ingeniería.
- Diseñar y ejecutar algoritmos evolutivos para resolver problemas de calibración, identificación o diseño óptimo bajo restricciones.
- Implementar y comparar modelos de simulación y optimización de procesos complejos.
- Interpretar resultados, cuantificar incertidumbre y comunicar conclusiones técnicas con rigor y trazabilidad.
Programa de contenidos Teóricos y Prácticos
Teórico
- Tema 1. Optimización y Computación Evolutiva. Problemas de optimización: definición, modelización y algoritmos de resolución. Heurísticas y Metaheurísticas: representación de soluciones, operadores y variantes. Algoritmos genéticos y otros enfoques evolutivos; tratamiento de restricciones; recomendaciones de uso. Aplicaciones al diseño y calibración en ingeniería.
- Tema 2. Conceptos fundamentales del aprendizaje automático. Tipos de aprendizaje: supervisado, no supervisado y por refuerzo; formulación de problemas de regresión, clasificación y clustering. Validación de modelos, sobreajuste y regularización. Interpretabilidad y evaluación del desempeño. Aplicaciones del aprendizaje automático al análisis estructural, modelado de comportamiento de materiales y apoyo a la toma de decisiones en ingeniería.
- Tema 3. Aprendizaje secuencial y pronóstico. Actualización iterativa de información; modelos dinámicos y series temporales; filtrado y predicción; estimación y seguimiento de estados; pronóstico bajo incertidumbre y evaluación del rendimiento predictivo en problemas de ingeniería.
- Tema 4. Introducción a la simulación de procesos complejos. Fundamentos del formalismo de redes de Petri para la simulación de procesos; interpretabilidad, validación y métricas; aplicaciones a procesos de gestión de infraestructuras.
Práctico
- Taller 1. Resolución de problemas de optimización mediante algoritmos exactos y computación evolutiva. Análisis de restricciones, sensibilidad y calidad de las soluciones
- Taller 2. Resolución de un problema de aprendizaje automático en un contexto de ingeniería civil/estructural
- Taller 3. Resolución de un problema de simulación de un proceso de construcción o mantenimiento de una infraestructura
- Trabajo aplicado integrador. Desarrollo individual o en pequeño grupo de un caso de estudio en el que se combine, al menos, dos técnicas (optimización, aprendizaje automático, simulación procesos), justificando hipótesis, datos, implementación, resultados y conclusiones.
Bibliografía
Bibliografía fundamental
- Gelman, A.; Carlin, J. B.; Stern, H. S.; Dunson, D. B.; Vehtari, A.; Rubin, D. B. Bayesian Data Analysis. CRC Press, 2021.
- Murphy, K. P. Machine Learning: A Probabilistic Perspective. MIT Press, 2012.
- Hyndman, R. J.; Athanasopoulos, G. Forecasting: Principles and Practice. OTexts, 2021.
- James, G.; Witten, D.; Hastie, T.; Tibshirani, R. An Introduction to Statistical Learning. Springer, 2021.
- Eiben, A. E.; Smith, J. E. Introduction to Evolutionary Computing. Springer, 2015.
- Talbi, E.-G. Metaheuristics: From Design to Implementation. Wiley, 2009.
Bibliografía complementaria
- Barber, D. Bayesian Reasoning and Machine Learning. Cambridge University Press, 2012.
- Carmona, E.; Fernández, S. Fundamentos de la computación evolutiva. Marcombo, 2020.
- Montgomery, D. C.; Jennings, C. L.; Kulahci, M. Introduction to Time Series Analysis and Forecasting. Wiley, 2015.
- Deb, K. Multi-Objective Optimization Using Evolutionary Algorithms. Wiley, 2001.
- Bautista Valhondo, Joaquín, Metaheuristicas en Ingenieria, Dextra Editorial, 2020
- Understanding Petri Nets: Modeling Techniques, Analysis Methods, Case Studies. Springer Nature. 2013
Enlaces recomendados
- PRADO y espacio virtual de la asignatura.
- Portal del Máster Universitario en Estructuras (UGR).
- Recomendaciones para el uso de la IA en la UGR: https://ceprud.ugr.es/formacion-tic/inteligencia-artificial/recomendaciones-ia
- Orange Data Mining: https://orangedatamining.com
- Jupyter Project: https://jupyter.org
- scikit-learn: https://scikit-learn.org
- statsmodels: https://www.statsmodels.org
- pymoo / DEAP para optimización evolutiva: https://pymoo.org y https://deap.readthedocs.io
Metodología docente
Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final.)
Evaluación Ordinaria
El sistema de evaluación consta de una parte de trabajo autónomo y otra parte de desarrollo de un proyecto final que requerirá de la adquisición de los conocimientos de la parte teórica y de su aplicación práctica.
La calificación final tendrá por tanto dos partes:
- la resolución de problemas, el trabajo autónomo y el aprovechamiento de seminarios y actividades formativas (40% de la nota final), y
- El desarrollo de un proyecto final donde se utilizarán los contenidos de la asignatura para resolver un problema de ingeniería (60% de la nota final). El proyecto se realizará de manera individual o, dependiendo de su alcance, en grupo, y deberá ser presentado y defendido en clase a final del curso. Tanto la calidad de la exposición y la defensa del mismo serán tenidas en cuenta para la evaluación.
Dentro del primer bloque, las prácticas y problemas asociados a los tres bloques teóricos supondrán el 30% (10% por cada bloque) y la participación activa, asistencia y aprovechamiento de seminarios y actividades del máster, el 10%. Cada una de estas prácticas por independiente deben realizase con una mínima suficiencia, por tanto, no podrán promediarse calificaciones por debajo de 4,0 sobre 10.
Asimismo, el trabajo aplicado integrador deberá alcanzar una calificación mínima de 4,0 sobre 10 para poder promediar con el resto de los ejercicios evaluables. Para ser evaluado en la modalidad ordinaria se requerirá la asistencia, al menos, al 60% de las sesiones programadas, salvo causa debidamente justificada, y la asistencia como mínimo al 60% de los seminarios y actividades del máster que se integren en la asignatura.
La detección de plagio, suplantación de autoría, uso no declarado de herramientas de IA o cualquier otra práctica contraria a la integridad académica conllevará la aplicación de la normativa vigente de la UGR y la revisión de la calificación de la actividad afectada.
Evaluación Extraordinaria
La evaluación extraordinaria se realizará en un único acto académico, en la fecha oficial fijada por el centro, y consistirá en una prueba escrita que permita acreditar la adquisición de la totalidad de las competencias de la asignatura.
Dicha prueba, calificada de 0 a 10, incluirá preguntas tanto de tipo teórico como práctico, con una distribución orientativa del 50% para la parte teórica y del 50% para la parte práctica. El contenido abarcará los diferentes bloques de la asignatura e incluirá cuestiones de formulación, interpretación de resultados y resolución de un caso aplicado.
Para superar la asignatura será necesario obtener una calificación igual o superior a 5,0 sobre 10 en dicha prueba.
Evaluación única final
El estudiantado que tenga reconocido el derecho a evaluación única final será evaluado en un único acto académico en la fecha oficial de la convocatoria, mediante un examen escrito que garantice la adquisición de la totalidad de las competencias descritas en esta guía docente.
La prueba, calificada de 0 a 10, incluirá preguntas tanto de tipo teórico como práctico, con una distribución orientativa del 50% para la parte teórica y del 50% para la parte práctica, y versará sobre los cuatro bloques teóricos de la asignatura y sus aplicaciones.
Información adicional
La lengua de impartición será preferentemente el español, sin perjuicio de que parte de la bibliografía, documentación técnica y recursos software se encuentren en inglés.
La asignatura fomentará el uso reproducible de código, datos y resultados; por ello, las entregas deberán estar suficientemente documentadas y permitir la trazabilidad del procedimiento seguido.
La coordinación fina de bloques, cronograma y distribución de responsabilidades podrá ajustarse al inicio del curso por acuerdo del profesorado responsable.
La atención al estudiantado con discapacidad y/o Necesidades Específicas de Apoyo Educativo (NEAE) se realizará conforme a los procedimientos y apoyos establecidos por la Universidad de Granada.
Información de interés para estudiantado con discapacidad y/o Necesidades Específicas de Apoyo Educativo (NEAE): Gestión de servicios y apoyos (https://ve.ugr.es/servicios/atencion-social/estudiantes-con-discapacidad).
Software Libre
- Orange Data Mining, KNIME u otro software para aprendizaje automático no-coding.
- PyMC o bibliotecas equivalentes para inferencia Bayesiana.
- statsmodels para series temporales y pronóstico.
- DEAP y/o pymoo para computación evolutiva y optimización.
- Python 3.x y entorno Jupyter. NumPy, SciPy, pandas y matplotlib para cálculo científico y análisis de datos. scikit-learn para aprendizaje automático (opcional, en función de la práctica o del perfil del estudiante).
- GNU Octave o MATLAB (opcional, en función de la práctica o del perfil del estudiante).