This course focuses on the problems and algorithms of combinatorial optimization (often called discrete optimization). We emphasize the practical use of optimization techniques and algorithms based on graphs, integer linear programming, heuristics, approximation algorithms, and state-space search methods. You will learn how to formulate the problem using existing formalisms, and you will obtain experience with the existing algorithms solving them. We demonstrate the use of combinatorial optimization algorithms on a large variety of real-life applications, e.g., logistics, transportation, planning of human resources, scheduling in production lines, message routing, and scheduling in parallel computers.
Exam 1 (29.5.2023) results (password is the animal displayed at the “Theodor taking a walk” private instance of HW1 (in Czech, lowercase)
Exam 2 (10.6.2023) results (heslo je manželka zvířete z hesla v prvním termínu (vše malé, bez diakritiky))
Week No. | Dates | Title | Lecturer | Handouts | Notes |
---|---|---|---|---|---|
1 | 20.2.-26.2. | Introduction of Basic Terms, Example Applications | ZH | https://rtime.felk.cvut.cz/~hanzalek/KOA/Basic_e.pdf | Intro |
2 | 27.2.-5.3. | Computational Complexity | AN | https://rtime.felk.cvut.cz/~novakan9/KOA/Complexity_e.pdf | |
3 | 6.3.-12.3. | Integer Linear Programming - Algorithms | ZH | https://rtime.felk.cvut.cz/~hanzalek/KOA/ILP_e.pdf | ILP-I |
4 | 13.3-19.3. | Integer Linear Programming - Problem Formulations | ZH | https://rtime.felk.cvut.cz/~hanzalek/KOA/ILP_e.pdf | ILP-II |
5 | 20.3.-26.3. | Shortest Paths | ZH | https://rtime.felk.cvut.cz/~hanzalek/KOA/SPT_e.pdf | SP-I SP-II SP-III |
6 | 27.3.-2.4. | Problem Formulation by Shortest Paths | ZH | https://rtime.felk.cvut.cz/~hanzalek/KOA/SPT_e.pdf | Test 1. |
7 | 3.4.-9.4. | Flows and Cuts - Algorithms and Problem Formulation | ZH | https://rtime.felk.cvut.cz/~hanzalek/KOA/Flows_e.pdf | Flows-I Flows-II Flows-III |
8 | 10.4. public holiday | ||||
9 | 17.4.-23.4. | Bipartite Matching. Multi-commodity Network Flows | ZH | https://rtime.felk.cvut.cz/~hanzalek/KOA/Flows_e.pdf | |
10 | 24.4.-30.4. | Knapsack Problem, Pseudo-polynomial and Approximation Algorithms | ZH | https://rtime.felk.cvut.cz/~hanzalek/KOA/knapsack_e.pdf | Knapsack-I |
11a | 1.5. public holiday | ||||
11b | 4.5. replacement for #11a. | Traveling Salesman Problem and Approximation Algorithms | ZH | https://rtime.felk.cvut.cz/~hanzalek/KOA/TSP_e.pdf | TSP-I |
12a | 8.5. public holiday | ||||
12b | 9.5. replacement for #12a. | Mono-processor Scheduling | ZH | https://rtime.felk.cvut.cz/~hanzalek/KOA/sched_e.pdf | Test 2. Sched-I Sched-II Sched-III Sched--IV |
13 | 15.5.-21.5. | Scheduling on Parallel Processors | ZH | https://rtime.felk.cvut.cz/~hanzalek/KOA/sched_e.pdf | |
14 | 22.5.-28.5. | Scheduling on Parallel Processors (cont.) | ZH | https://rtime.felk.cvut.cz/~hanzalek/KOA/sched_e.pdf |
Materials by topic
Title | Handouts | Stream | |
---|---|---|---|
Introduction | https://rtime.felk.cvut.cz/~hanzalek/KOA/Basic_e.pdf | Intro | |
Complexity | https://rtime.ciirc.cvut.cz/~novakan9/KOA/Complexity_e.pdf | ||
Integer Linear Programming | https://rtime.felk.cvut.cz/~hanzalek/KOA/ILP_e.pdf | ILP-I ILP-II | |
Shortest paths | https://rtime.felk.cvut.cz/~hanzalek/KOA/SPT_e.pdf | SP-I SP-II SP-III | |
Network flows | https://rtime.felk.cvut.cz/~hanzalek/KOA/Flows_e.pdf | Flows-I Flows-II Flows-III | |
Knapsack | https://rtime.felk.cvut.cz/~hanzalek/KOA/knapsack_e.pdf | Knapsack-I | |
Traveling Salesman Problem | https://rtime.felk.cvut.cz/~hanzalek/KOA/TSP_e.pdf | TSP-I | |
Scheduling | https://rtime.felk.cvut.cz/~hanzalek/KOA/sched_e.pdf | Sched-I Sched-II Sched-III Sched--IV |
Students may receive a total of 100 points. The final exam is worth 50% of the grade, while the other 50% can be obtained during the semester.
The points are distributed according to the following table.
Category | Maximum points | ||
Semester | Homeworks (3 assignments) | 15 | |
Theoretical tests (two tests, 10 points each) | 20 | ||
Semester project | 15 | Minimum points | |
Total semester ^{1)} | 50 | 30 | |
Final exam ^{2)} | Written part | 40 | 20 |
Oral exam | 10 | 0 | |
Total | 100 | 50 |
^{1)} To get an ungraded assessment the following requirements have to be met:
The last date of awarding the ungraded assessments is 28. 5. 2023. If you fail to fulfill the requirements by then, you will also fail the entire class.
^{2)} Only the students, who obtained the ungraded assessment are allowed to take the exam. The exam constitutes of the written part (40 points) and oral exam (10 points). To pass the written exam, it is necessary to get at least 20 points. The oral exam is mandatory.
Final grading scale:
Points | [0,50) | [50,60) | [60,70) | [70,80) | [80,90) | [90,100] |
---|---|---|---|---|---|---|
Grade | F | E | D | C | B | A |
The following applies only to students who got an ungraded assessment in the previous year (all other students have to undergo the course from scratch).
Although the assessments are not fully recognized, the students may opt-in to transfer some points from the previous year to the current one (they may also undergo the course from scratch to get a higher number of points). The following rules apply