Main page | Study Branches/Specializations | Groups of Courses | All Courses | Roles                Instructions

A course is the basic teaching unit, it's design as a medium for a student to acquire comprehensive knowledge and skills indispensable in the given field. A course guarantor is responsible for the factual content of the course.
For each course, there is a department responsible for the course organisation. A person responsible for timetabling for a given department sets a time schedule of teaching and for each class, s/he assigns an instructor and/or an examiner.
Expected time consumption of the course is expressed by a course attribute extent of teaching. For example, extent = 2 +2 indicates two teaching hours of lectures and two teaching hours of seminar (lab) per week.
At the end of each semester, the course instructor has to evaluate the extent to which a student has acquired the expected knowledge and skills. The type of this evaluation is indicated by the attribute completion. So, a course can be completed by just an assessment ('pouze zápočet'), by a graded assessment ('klasifikovaný zápočet'), or by just an examination ('pouze zkouška') or by an assessment and examination ('zápočet a zkouška') .
The difficulty of a given course is evaluated by the amount of ECTS credits.
The course is in session (cf. teaching is going on) during a semester. Each course is offered either in the winter ('zimní') or summer ('letní') semester of an academic year. Exceptionally, a course might be offered in both semesters.
The subject matter of a course is described in various texts.

NI-KOP Combinatorial Optimization Extent of teaching: 2P+2C
Instructor: Schmidt J. Completion: Z,ZK
Department: 18103 Credits: 6 Semester: Z

Annotation:
The students will gain knowledge and understanding necessary deployment of combinatorial heuristics at a professional level. They will be able not only to select and implement but also to apply and evaluate heuristics for practical problems.

Lecture syllabus:
1. Combinatorial problems and algorithms, course introduction.
2. Experimental evaluation of algorithms.
3. The classes P and NP. Complementary problems. Polynomial hierarchy.
4. The classes NP-complete, NP-hard and NPI.
5. The classes PO and NPO. Classes of approximative problems. Deterministic approximation algorithms.
6. State space, search space, motion in state space, local heuristics, branch and bound.
7. Randomization and randomized algorithms. Experimental deployment of parametrized heuristics.
8. Simulated annealing.
9. Simulated evolution I: taxonomy, genetic algorithms.
10. Simulated evolution II: evolution strategies, genetic programming.
11. Simulated evolution III: building blocks theory, competent GA, fast messy GA. Stochastic optimization: models and applications. Bayesian optimization.
12. Global methods, taxonomy of decomposition-based methods. Exact and heuristic global methods, the Davis-Putnam procedure seen as a global method.
13. Constraint Satisfaction Problem

Seminar syllabus:
1. Introduction, Satisfiability Problem (SAT), Knapsack Problem.
2. Problem examples, finding configuration variables.
3. Simple SAT algorithms: evaluation on a single instance.
4. Simple SAT algorithms: evaluation on ensembles.
5. Classes P, NP, NPC, NPH, completeness, reductions.
6. State space
7. Midterm test.
8. Simulated annealing: deployment and evaluation I 9. Homework consultation when required.
10. Simulated annealing: deployment and evaluation II
11. Simulated evolution: deployment and evaluation I 12. Simulated evolution: deployment and evaluation I 13. Backup test term, evaluation.

Literature:
1. Arora, S. : Computational Complexity: A Modern Approach. Cambridge University Press, 2017. ISBN 978-1316612156.
2. Hromkovic, J. : Algorithmics for Hard Problems: Introduction to Combinatorial Optimization, Randomization, Approximation, and Heuristics 2nd Edition. Springer, 2004. ISBN 978 3540441342.
3. Kučera, L. : Kombinatorické algoritmy. SNTL, 1993.
4. Ausiello, G. - Crescenzi, P. - Kann, V. - Gambosi, G. - Spaccamela, A. M. : Complexity and Approximation: Combinatorial Optimization Problems and Their Approximability Properties. Springer, 2003. ISBN 3540654313.

Requirements:
Basic notions: algorithm, computational complexity, asymptotic complexity. Formal languages. Basic graph theory. Random variable. Boolean logic. Branch and bound algorithm. Basic dynamic programming. Practical programming in any imperative language.

Předmět je ekvivalentní s MI-KOP a MI-PAA // Informace o předmětu a výukové materiály naleznete na https://moodle.fit.cvut.cz/courses/MI-KOP/

The course is also part of the following Study plans:
Study Plan Study Branch/Specialization Role Recommended semester
NI-PB.2020 Computer Security PP 1
NI-ZI.2020 Knowledge Engineering PP 1
NI-SPOL.2020 Unspecified Branch/Specialisation of Study PP 1
NI-TI.2020 Computer Science PP 1
NI-TI.2023 Computer Science PP 1
NI-SP.2023 System Programming PP 1
NI-WI.2020 Web Engineering PP 1
NI-SP.2020 System Programming PP 1
NI-SI.2020 Software Engineering (in Czech) PP 1
NI-MI.2020 Managerial Informatics PP 1
NI-PSS.2020 Computer Systems and Networks PP 1
NI-NPVS.2020 Design and Programming of Embedded Systems PP 1


Page updated 29. 3. 2024, semester: L/2021-2, Z,L/2023-4, Z/2021-2, Z/2020-1, Z/2019-20, L/2020-1, Z,L/2022-3, L/2019-20, Send comments to the content presented here to Administrator of study plans Design and implementation: J. Novák, I. Halaška