Créditos
4.5
Tipos
Optativa
Requisitos
Esta asignatura no tiene requisitos
, pero tiene capacidades previas
Departamento
CS
En este curso aprenderemos a identificar, modelar y resolver este tipo de problemas. Usaremos el famoso enfoque declarativo en el que el usuario modela el problema con un lenguaje genérico y luego usa una biblioteca genérica de técnicas de resolución.
Para este curso usaremos el lenguaje de modelado MiniZinc y presentaremos tres paradigmas de resolución que se pueden usar con él: satisfacibilidad booleana, programación de restricciones y programación lineal entera. De cada uno cubriremos su poder expresivo y las principales intuiciones detrás de sus técnicas de resolución.
La orientación del curso es esencialmente práctica. Aprenderemos principalmente a través de ejemplos, aunque también se incluirán algunas ideas teóricas.
Profesorado
Responsable
- Francisco Javier Larrosa Bondia (larrosa@cs.upc.edu)
Horas semanales
Teoría
1
Problemas
1
Laboratorio
1
Aprendizaje dirigido
0
Aprendizaje autónomo
5.65
Objetivos
Contenidos
-
Modelado de problemas combinatorios
Utilizaremos el lenguaje de modelado MiniZinc para modelar una amplia variedad de problemas. Abarcaremos temas como el modelado de problemas lineales, conjuntos, funciones y el manejo de simetrías, subexpresiones comunes, etc. -
Resolucion con programacion con restricciones
Cubriremos temas como Look-ahead, heurísticas, consistencia local y restricciones globales. -
Resolución con técnicas de Lógica Proposicional (SAT)
Cubriremos temas como la forma normal conjuntiva (CNF), resolución, propagación de clausulas unitarias y aprendizaje de cláusulas. -
Resolución con programación lineal entera
Revisaremos el SIMPLEX y el Branch and Bound
Actividades
Actividad Acto evaluativo
Teoría
7h
Problemas
7h
Laboratorio
7h
Aprendizaje dirigido
0h
Aprendizaje autónomo
40h
Teoría
2h
Problemas
2h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
13h
Satisfactibilitat Booleana
Teoría
3h
Problemas
3h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
13h
Programación Lineal Entera
Teoría
1h
Problemas
1h
Laboratorio
1h
Aprendizaje dirigido
0h
Aprendizaje autónomo
7.5h
Metodología docente
Para la parte de modelado se utilizará el sistema de "flipped classroom" donde los estudiantes tendrán que ver videos y realizar pequeños proyectos. Las horas lectivas se utilizarán para resolver dudas y consolidar conocimientos.Por la parte de técnicas de resolución se utilizará la metodología clásica de clase magistral y alguna clase de problemas.
Método de evaluación
A lo largo del curso se irán realizando pequeños proyectos con un peso conjunto del 20% de la nota final. También se hará un quizz al inicio del curso, un examen parcial y un examen final con un peso total del 80% de la notaBibliografía
Básico
-
Handbook of constraint programming [Recurs electrònic]
- Rossi, Francesca; Van Beek, Peter; Walsh, Toby,
Elsevier,
2006.
ISBN: 9780444527264
https://www-sciencedirect-com.recursos.biblioteca.upc.edu/bookseries/foundations-of-artificial-intelligence/vol/2/suppl/C -
Handbook of satisfiability
- Biere, Armin; Heule, Marijn; Maaren, Hans van; Walsh, Toby,
IOS Press,
2021.
ISBN: 9781643681603
https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pq-origsite=primo&docID=28617772 -
Constraint-based local search
- Van Hentenryck, Pascal; Michel, Laurent,
MIT Press,
cop. 2005.
ISBN: 9780262220774
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003635389706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Web links
- MiniZinc is a high-level constraint modelling language that allows you to easily express and solve discrete optimisation problems. https://www.minizinc.org/