FI:PA163 Constraint programming - Course Information
PA163 Constraint programming
Faculty of InformaticsAutumn 2021
- Extent and Intensity
- 2/1. 3 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- doc. Mgr. Hana Rudová, Ph.D. (lecturer)
Mgr. Vojtěch Sassmann (seminar tutor) - Guaranteed by
- doc. Mgr. Hana Rudová, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics - Timetable
- Tue 14. 9. to Tue 14. 12. Tue 8:00–9:50 A217
- Timetable of Seminar Groups:
PA163/02: Thu 23. 9. to Thu 16. 12. each even Thursday 12:00–13:50 A215, V. Sassmann - Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- Image Processing and Analysis (programme FI, N-VIZ)
- Applied Informatics (programme FI, N-AP)
- Information Technology Security (eng.) (programme FI, N-IN)
- Information Technology Security (programme FI, N-IN)
- Bioinformatics and systems biology (programme FI, N-UIZD)
- Bioinformatics (programme FI, N-AP)
- Computer Games Development (programme FI, N-VIZ_A)
- Computer Graphics and Visualisation (programme FI, N-VIZ_A)
- Computer Networks and Communications (programme FI, N-PSKB_A)
- Cybersecurity Management (programme FI, N-RSSS_A)
- Formal analysis of computer systems (programme FI, N-TEI)
- Graphic design (programme FI, N-VIZ)
- Graphic Design (programme FI, N-VIZ_A)
- Hardware Systems (programme FI, N-PSKB_A)
- Hardware systems (programme FI, N-PSKB)
- Image Processing and Analysis (programme FI, N-VIZ_A)
- Information security (programme FI, N-PSKB)
- Information Systems (programme FI, N-IN)
- Informatics (eng.) (programme FI, D-IN4)
- Informatics (programme FI, D-IN4)
- Information Security (programme FI, N-PSKB_A)
- Quantum and Other Nonclassical Computational Models (programme FI, N-TEI)
- Parallel and Distributed Systems (programme FI, N-IN)
- Computer graphics and visualisation (programme FI, N-VIZ)
- Computer Graphics (programme FI, N-IN)
- Computer Networks and Communication (programme FI, N-IN)
- Computer Networks and Communications (programme FI, N-PSKB)
- Computer Systems and Technologies (eng.) (programme FI, D-IN4)
- Computer Systems and Technologies (programme FI, D-IN4)
- Computer Systems (programme FI, N-IN)
- Principles of programming languages (programme FI, N-TEI)
- Embedded Systems (eng.) (programme FI, N-IN)
- Embedded Systems (programme FI, N-IN)
- Cybersecurity management (programme FI, N-RSSS)
- Services development management (programme FI, N-RSSS)
- Software Systems Development Management (programme FI, N-RSSS)
- Services Development Management (programme FI, N-RSSS_A)
- Service Science, Management and Engineering (eng.) (programme FI, N-AP)
- Service Science, Management and Engineering (programme FI, N-AP)
- Social Informatics (programme FI, B-AP)
- Software Systems Development Management (programme FI, N-RSSS_A)
- Software Systems (programme FI, N-PSKB_A)
- Software systems (programme FI, N-PSKB)
- Machine learning and artificial intelligence (programme FI, N-UIZD)
- Theoretical Informatics (programme FI, N-IN)
- Upper Secondary School Teacher Training in Informatics (programme FI, N-SS) (2)
- Artificial Intelligence and Natural Language Processing (programme FI, N-IN)
- Computer Games Development (programme FI, N-VIZ)
- Processing and analysis of large-scale data (programme FI, N-UIZD)
- Image Processing (programme FI, N-AP)
- Natural language processing (programme FI, N-UIZD)
- Course objectives
- Course provides information about constraint programming, about problem modeling using constraints generally as well as practically in programming language, about general propagating algorithms and about main search algorithms for constraint satisfaction problems.
- Learning outcomes
- The graduate will understand how to apply a declarative approach for problem solving with the help of constraint programming.
The graduate will understand which algorithms are used for the implementation of the constraint programming approach to be able to propose a proper declarative model and proper search procedures. To achieve that graduates will learn various constraint propagation algorithms and search methods.
The graduate will be able to implement a solution to the problem using constraint programming. The graduate will be able to program using Optimization Programming Language (OPL) from IBM CPLEX CP Optimizer. - Syllabus
- Constraint satisfaction problem. Introduction to problem modeling.
- Algorithms and consistency: arc, path. Methods for non-binary constraints: k-consistency, general arc, and bounds consistency, global constraints. Directional versions, the width of the constraint graph, and polynomial problems.
- Tree search: backtracking, look ahead, look back, incomplete algorithms. Local search.
- Optimization and over-constrained problems: frameworks and algorithms.
- Problem modeling and real-life applications. Programming with programming language OPL in IBM ILOG CP Optimizer.
- Literature
- DECHTER, Rina. Constraint processing. San Francisco: Morgan Kaufmann Publishers, 2003, xx, 481 s. ISBN 1-55860-890-7. info
- TSANG, Edward (author), FRUEHWIRTH, Thom (editor). Foundations of constraint satisfaction. Books On Demand, 2014.
- Teaching methods
- The course has a form of a lecture with a seminar taking two hours per two weeks at the computer laboratory. Lecture is mainly oriented on presentations of algorithms and their practical application for solving of problems in the area of constraint programming. Solved problems are often realized using modifications of existing code. Seminaries concern namely practical realization of OPL programs in IBM ILOG CP Optimizer. Seminaries include homeworks which solutions together with solutions of examples solved during seminaries are available at the course web site.
- Assessment methods
- There is the following expected evaluation given as a sum of points for homeworks, final written exam, and bonus points for activities at lectures: A more than 90, B 89-80, C 79-70, D 69-60, E 59-50.
It is possible to get up to 80 points for the final written exam. The exam also includes the following types of questions: an overview of some part, comparisons of methods or definitions, algorithms, definitions, examples (about 25 points corresponds to the evaluation of the constraint model for a given problem(s)).
It is obligatory to get more than 40 out of 80 points. There are two homeworks during a semester. It is possible to get points up to 10 points per homework. Each student is required to obtain 8 points at least from the total point of 20 points.
Also, each student can get 1 bonus point for activity in each lecture (e.g., student response to several easy questions and/or student questions to clarify some part of the lecture; student response to one harder question), i.e., it is possible to about 12 bonus points for activity base on the number of lectures.
Taking seminaries is obligatory. Absence at more than one seminar requires successful completion of additional examples corresponding to the number of absent hours. A high number of missed seminaries does not allow completion of the course. - Language of instruction
- Czech
- Follow-Up Courses
- Further Comments
- Study Materials
The course is taught annually. - Teacher's information
- http://is.muni.cz/el/1433/podzim2021/PA163/index.qwarp
- Enrolment Statistics (Autumn 2021, recent)
- Permalink: https://is.muni.cz/course/fi/autumn2021/PA163