Profesor: Rafael Caballero Roldán

Horario: Aula 8, Segundo cuatrimestre, jueves y viernes de 14h a 16h



 Objetivos: El objetivo de la asignatura es aprender a utilizar los lenguajes de modela de restricciones para representar y resolver de forma sencilla y eficiente problemas que de otra forma requerirían complejos algoritmos.

¿Qué problemas se resuelven con la programación con restricciones? Un ejemplo típico son los Sudokus, pero en general aparecen en aplicaciones de planificación (horarios, asignación de tareas), transporte, utilización de recursos e incluso para la generación de casos de prueba.
 
¿Cómo se resuelven estos problemas? Mediante  resolutores, librerías específicas que pueden ser utilizados o bien de forma independiente o bien integrados en otro lenguaje como Java, C++. El curso no pretende entrar en los detalles de los algoritmos que implementan estos resolutores, sino más bien en saber modelar (describir en lenguaje de restricciones) el problema a resolver y en la utilización de resolutores concretos. La idea en programación con restricciones es que nosotros solo representamos el problema, es el resolutor externo el que buscará la solución por nosotros.

Apuntes (en eterno desarrollo):
Evaluación:
Convocatoria de junio: Convocatoria de septiembre: Estructura del curso: