FICHA DE ASIGNATURA
Título: Algoritmos de Optimización
Descripción: Estudio teórico y práctico de las diferentes técnicas y métodos existentes para realizar el
diseño y análisis de algoritmos orientados a resolver problemas de optimización en el ámbito de la
inteligencia artificial.
Carácter: Obligatoria
Créditos ECTS: 6
Contextualización: El alumno adquirirá a través de las clases magistrales los conocimientos teóricos para
conocer los algoritmos utilizados para resolver problemas de optimización, analizar el coste en recursos
(tiempo y memoria) y estudiar la complejidad problemas de gran relevancia dentro del ámbito de la
inteligencia artificial. Durante las actividades guiadas se familiarizará con las técnicas concretas para
resolver problemas de optimización a través de prácticas realizadas en Python. A través de los seminarios
el alumno se enfrentará a problemas reales en los que deberá aplicar tanto los conocimientos teóricos
como prácticos.
Modalidad: Online
Temario:
• Introducción: Concepto de algoritmo, Tipos de algoritmo, Concepto de optimización, Tipos de
Optimización, Resolución de problemas a través del diseño de algoritmos, Complejidad
computacional.
• Algoritmos de ordenación: Definición, Tipos de algoritmos de ordenación, Algoritmos de
ordenación en la práctica.
• Técnicas de diseño de algoritmos: Técnicas voraces, técnica de divide y vencerás, programación
dinámica, programación lineal y uso de grafos.
• Algoritmos de búsqueda sobre grafos: Se estudia tanto las bases teóricas como la aplicabilidad
de los algoritmos A*, búsqueda en amplitud y profundidad y ramificación y poda.
• Descenso del gradiente: Concepto, Resolución de problemas de optimización sobre variables
continuas, Importancia en el ajuste de parámetros de Redes Neuronales.
• Métodos heurísticos y metaheurísticos: Concepto de heurística, Algoritmos de búsquedas locales
y aleatorias, Simulated annealing, GRASP o colonia de hormigas, Resolución de problemas no
abordables mediante técnicas determinista.
Competencias Específicas:
⇨ CE1. Conocer los fundamentos de la ingeniería de datos (modelado, ingesta, almacenamiento,
procesado, análisis y visualización), las técnicas de rastreo, procesamiento, indexación y
recuperación de información.
⇨ CE2. Conocer y familiarizarse con el uso de las librerías y herramientas más comunes en la
industria.
⇨ CE3. Comprender los complejos fundamentos matemáticos de la optimización computacional.
⇨ CE4. Desarrollar algoritmos de búsqueda heurística para la creación de planes.
⇨ CE5. Dominar técnicas avanzadas en el ámbito del aprendizaje automático y optimización.
⇨ CE8. Capacidad para aplicar metodologías de diseño, implementación y testeo de frameworks de
aprendizaje.
⇨ CE11. Consideración del rol de la inteligencia artificial en el mundo actual.
⇨ CE12. Desarrollar y aplicar técnicas de Inteligencia artificial para la resolución de problemas en el
mundo laboral.
⇨ CE15. Capacidad para seguir los avances tecnológicos en el área de la inteligencia artificial.
Actividades Formativas:
Actividad Formativa Horas Presencialidad
Clases expositivas 40 0%
Clases prácticas sobre
laboratorio informático. Estudio
de casos, resolución de 30 0%
problemas y diseño de
proyectos
Tutorías online 10 30%
Trabajo autónomo 70 0%
Metodologías docentes:
Lección magistral
Estudio de casos
Resolución de problemas
Simulaciones
Laboratorio Informático Virtual
Seguimiento
Sistema de Evaluación:
Sistemas de evaluación Ponderación mínima Ponderación máxima
Evaluación de porfolio. Informe
sobre resolución de problemas o 20% 30%
estudio de casos
Evaluación del porfolio. Informe
10% 20%
sobre diseño de proyectos
Participación en grupos de debate 10% 10%
Evaluación de la prueba 40% 60%
Bibliografía Básica:
Grassard, G./ Bratley, P. (1997). Fundamentos de Algoritmia
Lee, R. C. T., Tseng, S. S., Chang, R. C. & Tsai, Y. T.(2005). Introducción al diseño y análisis de algoritmos
Weise, T. (2009). Global Optimization Algorithms – Theory and Application
Bibliografía Complementaria:
T. H. Cormen, C. E. Leiserson y R. L. Rivest(2009). Introduction to Algorithms
R. Guerequeta y A. Vallecillo. Tecnicas de diseño de algoritmos. Servicio de Publicaciones de la Universidad
de Málaga. 2nd Ed. 2000. http://www.lcc.uma.es/~av/Libro/indice.html