Operations Research and Linear Programming
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BI-ORL | KZ | 5 | 1P+2C | Czech |
- Garant předmětu:
- Lecturer:
- Tutor:
- Supervisor:
- Department of Theoretical Computer Science
- Synopsis:
-
The subject aims to introduce students to the issues of operational research and primarily to the practical application of linear programming as a fundamental optimization technique. Operational research primarily focuses on the use of engineering methods (with a mathematical background) to solve practical problems (such as management).
- Requirements:
-
Basic algorithmisation on the level of the courses BIE-PA1.2, BIE-AG1.2, and BIE-AG2.21.
- Syllabus of lectures:
-
Úloha lineárního programování a její řešení
Zavedeme a motivujeme lineární programy ve standardním tvaru. Předvedeme několik základních příkladů. Na příkladech demonstrujeme geometrii lineárního programování a simplexový algoritmus (bez důkazu korektnosti). Náznak nelineárně specifikované množiny vedoucí na nerozhodnutelný problém (Matiyasevich-ova věta).
(CV) Formulace úloh LP a jejich řešení
Dualita lineárního programování
Na příkladu zavedeme duální lineární program. Dokážeme slabou větu o dualitě. Demonstrujeme užití podmínek komplementarity a silné věty o dualitě. Interpretace duality jako ekonomicky akceptovatelné ceny.
(CV) Praktické řešení příkladů nástrojem GuRoBi a důsledky zaokrouhlování; diskuse významu duality
Generování sloupců / řádků
Orákulový přístup k podmínkám a oddělující nadroviny v praxi – řešení konfiguračních ILP pomocí duálního programu. První kroky k řešení velkých lineárních programů.
(CV) Využití orákulového přístupu v GuRoBi
Analýza citlivosti a úlohy s neurčitostí
Co se stane, pokud bychom lehce změnili pravou stranu? Jaká řešení se zachovají a jaká ne? Co když se jemně změní koeficienty účelové funkce? Dále budeme analyzovat jak navrhovat řešení pro problémy, pro které neznáme přesně vstup (známe nějaké statistické rozložení dat) - přistupy jako “maximin” či “minimax regret”.
Lineární programování pro velké úlohy - úvod
Dekompzice problému a další přístupy k velkým úlohám “z praxe”. Předvedeme primárně na příkladu tvz. Cutting Stock problému.
Lineární programová pro velké úlohy - Lagrangeova relaxace a duál
V mnoha běžných scénářích, ve kterých využíváme volby, mají maše preference z podstaty věci jistou speciální podobu (strukturu). Představíme tzv. single-peaked a single-crossing preference a budeme diskutovat jejich vliv na volby – například na možnost manipulace výsledku z minulé přednášky.
Pokročilejší partie optimalizace
Algoritmické přístupy k podmínkám celočíselnosti - branch&bound, cutting planes. Nelineární účelové funkce. A mnoho dalšího dle zájmu posluchačů...
- Syllabus of tutorials:
-
1. Linear programming and motivation
2. Linear programming - finding and interpretation of a solution
3. LP duality
4. Integrality in LP
5. Using Guroby - First steps
6. Using Guroby
7. Understandsing the nature of LP solvers
8. Using LP in practice - planing
9. Using LP in practice - scheduling
10. Using LP in practice - networks and distribution
11. The use of a separation oracle
12. Other relaxations for LPs
13. Further methods in optimization
- Study Objective:
- Study materials:
-
A First Course in Linear Optimization. Jon Lee. Dostupné online z https://github.com/jon77lee/JLee_LinearOptimizationBook
Operations Research: An Introduction. Hamdy A. Taha. ISBN 13: 978-1-292-16554-7, Pearson Education Limited, 2017
Understanding and Using Linear Programming. Jiří Matoušek, Bernd Gärtner. Springer, 2006
Linear Programming 1: Introduction. Dantzig, George B.;Thapa, Mukund N. Springer, 1997
- Note:
- Further information:
- https://courses.fit.cvut.cz/BI-ORL
- No time-table has been prepared for this course
- The course is a part of the following study plans:
-
- Bachelor specialization Information Security, in Czech, 2021 (elective course)
- Bachelor specialization Management Informatics, in Czech, 2021 (elective course)
- Bachelor specialization Computer Graphics, in Czech, 2021 (elective course)
- Bachelor specialization Computer Engineering, in Czech, 2021 (elective course)
- Bachelor program, unspecified specialization, in Czech, 2021 (elective course)
- Bachelor specialization Web Engineering, in Czech, 2021 (elective course)
- Bachelor specialization Artificial Intelligence, in Czech, 2021 (elective course)
- Bachelor specialization Computer Science, in Czech, 2021 (elective course)
- Bachelor specialization Software Engineering, in Czech, 2021 (elective course)
- Bachelor specialization Computer Systems and Virtualization, in Czech, 2021 (elective course)
- Bachelor specialization Computer Networks and Internet, in Czech, 2021 (elective course)
- Study plan for Ukrainian refugees (elective course)
- Bachelor specialization Information Security, in Czech, 2024 (elective course)
- Bachelor program, unspecified specialization, in Czech, 2024 (elective course)
- Bachelor specialization Management Informatics, in Czech, 2024 (elective course)
- Bachelor specialization Computer Graphics, in Czech, 2024 (elective course)
- Bachelor specialization Software Engineering, in Czech, 2024 (elective course)
- Bachelor specialization Web Engineering, in Czech, 2024 (elective course)
- Bachelor specialization Computer Networks and Internet, in Czech, 2024 (elective course)
- Bachelor specialization Computer Engineering, in Czech, 2024 (elective course)
- Bachelor specialization Computer Systems and Virtualization, in Czech, 2024 (elective course)
- Bachelor specialization Artificial Intelligence, in Czech, 2024 (elective course)
- Bachelor specialization Computer Science, in Czech, 20214 (elective course)