Crèdits
6
Tipus
Obligatòria d'especialitat (Computació Avançada)
Requisits
Aquesta assignatura no té requisits
, però té capacitats prèvies
Departament
CS
Web
http://www.cs.upc.edu/~erodri/cps.html
Mail
erodri@cs.upc.edu
Pla d'estudis del curs (resum).
Exemples de problemes combinatoris. Paradigmes generals: programació lineal entera, SAT i extensions, programació amb restriccions. Tècniques de modelització i llenguatges.
Professorat
Responsable
- Enric Rodriguez Carbonell ( erodri@cs.upc.edu )
Hores setmanals
Teoria
2
Problemes
0
Laboratori
1
Aprenentatge dirigit
0
Aprenentatge autònom
6.4
Competències
Computació avançada
Genèriques
Raonament
Bàsiques
Objectius
-
Modelar problemes derivats de la informàtica i altres disciplines en els paradigmes de resolució que es consideren en el curs: programació amb restriccions, programació lineal entera, satisfactibilitat proposicional.
Competències relacionades: CB6, CTR6, CEE3.3, CG1, CG3, -
Familiaritzar-se amb les eines de l'estat de l'art dels paradigmes de resolució considerats al curs: programació amb restriccions, programació lineal entera, satisfactibilitat proposicional.
Competències relacionades: CTR6, CEE3.2, CG3, -
Comprendre els fonaments algorísmics de cadascun dels paradigmes de resolució considerats en el curs: programació amb restriccions, programació lineal entera, satisfactibilitat proposicional.
Competències relacionades: CEE3.2,
Continguts
-
Problemes Combinatoris.
Definició informal. Problemes NP-complets vs. problemes de temps polinòmic. Alguns exemples i aplicacions: satisfactibilitat proposicional, coloració de grafs, motxilla, empaquetament de contenidors, etc. Enfocaments per a la resolució de problemes. -
Programació amb Restriccions.
Definicions bàsiques. Problemes de satisfacció de restriccions. Exemples. Consistència local: consistència d'arc, consistència d'arc direccional, consistència de límits. Propagació de restriccions per a restriccions globals: all different. Algorismes de cerca: retrocés bàsic, verificació anticipada, cerca parcial / completa. Heurístiques d'ordre de variable i de valor. Problemes d'optimizació de restriccions. Modelat i resolució de problemes amb CP. -
Programació Lineal.
Revisió de programació lineal: l'algorisme del símplex. Dualitat i símplex dual. Modelatge i resolució de problemes amb programació lineal. Programació lineal entera mixta. Branch & bound, plans de tall, branch & cut. Matrius totalment unimodulars. Algorisme del símplex per a xarxes. Modelatge i resolució de problemes amb programació lineal entera mixta. -
Resolució de SAT i extensions.
Lògica proposicional. El problema de la satisfactibilitat (SAT). Algorisme DPLL. Resolució. Resolvedors de SAT amb aprenentatge de clàusules guiat per conflictes. Modelatge i resolució de problemes amb SAT: restriccions de cardinalitat, restriccions pseudo-booleanes. Satisfactibilitat mòdul teories.
Activitats
Activitat Acte avaluatiu
Programació Lineal
Modelatge i resolució amb programació lineal- Teoria: Understanding of the materials given in theory sessions.
- Laboratori: Resolution of the practical exercises of each laboratory session.
- Aprenentatge autònom: Review and extension of the materials given in theory sessions. Resolution of theoretical exercises.
Continguts:
Teoria
10h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
20.6h
SAT i Extensions
Modelatge i resolució amb SAT i extensions- Teoria: Understanding of the materials given in theory sessions.
- Laboratori: Resolution of the practical exercises of each laboratory session.
- Aprenentatge autònom: Review and extension of the materials given in theory sessions. Resolution of theoretical exercises.
Continguts:
Teoria
8h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
12.8h
Metodologia docent
La principal característica de la metodologia docent és l'ús dematerials accessibles a través de la web, dissenyats específicament per
a un curs d'autoaprenentatge. Aquests materials permeten reformular
l'ensenyament de manera que el tradicional model de classes
desapareix en gran mesura.
Així:
1. Considera la classe com a base de treball, que l'estudiant ha de
continuar i aprofundir pel seu propi compte.
2. Es basa en materials d'alta qualitat (diapositives, llistes de
problemes, problemes resolts, exemples de treballs pràctics de
laboratori, software LP / SAT / CP, referències bibliogràfiques).
3. Pretén motivar els estudiants, amb exemples, debats, comentaris,
etc ... Les intuïcions darrere de les definicions, propietats i Les
tècniques es discuteixen en grup.
El laboratori fomentarà el treball independent dels estudiants. El
paper del professor serà principalment per ajudar i avaluar els
estudiants, que haurien de treballar majorment de forma autònoma.
Mètode d'avaluació
El 50% de la nota final correspon a teoria. Aquesta nota s'obtindrà mitjançant un examen escrit al final del curs.L'altre 50% de la nota final correspon a laboratori. Aquesta nota s'obtindrà com la mitjana de tres projectes successius (un per CP, un altre per LP, i encara un altre per SAT) que els estudiants hauran hagut d'entregar.
Bibliografia
Bàsic
-
Handbook of satisfiability
- Heule, Marijn; Walsh, Toby; van Maaren, Hans; Biere, Armin,
IOS Press,
2021.
ISBN: 9781643681603
https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pq-origsite=primo&docID=28617772 -
Introduction to algorithms
- Cormen, T.H. [et al.],
MIT Press,
2022.
ISBN: 9780262046305
-
Handbook of constraint programming
- Rossi, F.; Beek, P. van ; Walsh, T. (eds.),
Elsevier,
2006.
ISBN: 0444527264
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003148729706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Model building in mathematical programming
- Williams, H.P,
Wiley & Sons,
2013.
ISBN: 9781118443330
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003969709706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Complementari
-
Computational techniques of the simplex method
- Maros, I,
Kluwer Academic Publishers,
2003.
ISBN: 1402073321
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991002650079706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Web links
- Website of the couse with slides, materials and diverse information. http://www.cs.upc.edu/~erodri/cps.html
Capacitats prèvies
Coneixements bàsics del sistema operatiu Linux i del llenguatge de programació C++.Coneixements bàsics d'àlgebra lineal, algorismes de grafs i lògica.