FI:PA163 Constraint programming - Course Information
PA163 Constraint programming
Faculty of InformaticsAutumn 2024
- Extent and Intensity
- 2/1/0. 3 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
In-person direct teaching - Teacher(s)
- doc. Mgr. Hana Rudová, Ph.D. (lecturer)
Mgr. Marek Toma (seminar tutor) - Guaranteed by
- doc. Mgr. Hana Rudová, Ph.D.
Department of Machine Learning and Data Processing – Faculty of Informatics
Supplier department: Department of Machine Learning and Data Processing – Faculty of Informatics - Timetable
- Mon 23. 9. to Mon 16. 12. Mon 16:00–17:50 A217
- Timetable of Seminar Groups:
PA163/02: Fri 27. 9. to Fri 20. 12. each odd Friday 10:00–11:50 A215, H. Rudová
PA163/03: Tue 24. 9. to Tue 17. 12. each odd Tuesday 10:00–11:50 A215, M. Toma - 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
- there are 29 fields of study the course is directly associated with, display
- Course objectives
- The course provides information about constraint programming, problem modeling using constraints generally and practically in a programming language, general propagating algorithms, and 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.
- Arc consistency.
- Path consistency.
- Constraint propagation for non-binary constraints.
- Global constraints, Optimization Programming Language OPL.
- Constraint propagation algorithms for scheduling.
- Directional consistency, graph width.
- Look-ahead algorithms, branch & bound.
- Look-back algorithms.
- Incomplete search.
- Local search.
- Seminars: 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
- Teaching methods
- The course has the form of a lecture with a seminar taking two hours every two weeks at the computer laboratory. Lectures are mainly oriented on presentations of algorithms and their practical application for solving problems in the area of constraint programming. Seminars concern namely practical realization of OPL programs in IBM ILOG CP Optimizer. They include examples of which solutions are available on the course website. Solved problems are often realized using modifications of existing code.
- Assessment methods
- There is the following expected evaluation given as a sum of points for homeworks, final exam, and bonus points for activities at lectures: A more than 90, B 89-80, C 79-70, D 69-60, E 59-55.
It is possible to get up to 80 points for the final exam (getting more than 40 points obligatory). The exam consists of the theoretical part (55 points) with the following types of questions: an overview of some parts, comparisons of methods or definitions, algorithms, definitions, and examples, and the programming part on computers (25 points) where a practical problem is solved in OPL.
There are two homeworks during the 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 seminars is obligatory. Absence at more than one seminar requires successfully completing additional examples corresponding to the number of absent hours. A high number of missed seminars does not allow completion of the course. - Language of instruction
- English
- Further Comments
- Study Materials
The course is taught annually. - Teacher's information
- http://is.muni.cz/el/1433/podzim2024/PA163/index.qwarp
- Enrolment Statistics (recent)
- Permalink: https://is.muni.cz/course/fi/autumn2024/PA163