===== Optimalizace (ZS 2024-25) ===== **Rychlé odkazy**: [[courses:b0b33opt:cviceni:start|cvičení]], [[https://cw.felk.cvut.cz/brute/|Brute]], [[https://intranet.fel.cvut.cz/cz/education/rozvrhy-ng.B241/public/html/predmety/46/74/p4674306.html|rozvrh]], [[https://cw.felk.cvut.cz/forum/forum-1899.html|diskusní fórum]] ==== Obsah a prerekvizity ==== //Matematická optimalizace// je fascinující a dynamický obor, který stojí na rozhraní matematiky, informatiky a inženýrství. Jeho cílem je najít nejlepší možné řešení z řady dostupných alternativ, s ohledem na daná kritéria a omezení. Optimalizace je základním kamenem pro rozhodovací procesy v mnoha oblastech, od umělé inteligence a strojového učení až po logistiku a finance. Tento kurz vás provede základními principy a metodami matematické optimalizace, včetně úlohy nejmenších čtverců, lineárního programování, nelineárního programování a numerických metod. Skrze praktické příklady a aplikace uvidíte, jak je možné tyto koncepty využít k řešení reálných problémů, které se mohou objevit v průmyslu, vědě nebo každodenním životě. //Prerekvizity//: lineární algebra, matematická analýza, základy programování (Python nebo Matlab). ==== Přednášky ==== * Přednášejí [[https://cmp.felk.cvut.cz/~werner|Tomáš Werner]], [[https://petr.olsak.net|Petr Olšák]]. * Elektronická {{opt.pdf|skripta}}, {{opt-2up.pdf|oboustranná verze}} pro tisk, {{errata.pdf|errata}}. Viz také {{opt-sbirka.pdf|sbírka řešení}} některých cvičení. * Dále studujte z [[literatura|doplňující literatury]]. * Konzultace poskytuje přednášející po každé úterní přednášce (na požádání) nebo váš cvičící (po domluvě). * Live stream [[https://www.youtube.complaylist?list=PLQL6z4JeTTQkqF6KkcZZDi2KFwky9SQpq|KN:E-107]] * Záznamy přednášek: [[|tento semestr]], [[https://cw.fel.cvut.cz/b202/courses/b0b33opt/start|LS 20-21]], [[https://www.youtube.com/playlist?list=PLQL6z4JeTTQkdILijCD3j-TDltf_o23zk|ZS 23-24]] (pozor, v ZS a LS jsou jiní přednášející. ^ # ^ Datum ^ Náplň ^ Přednáší ^ Materiály ^ | 1| út 24.09. | Úvod do optimalizace | TW | {{01Intro.pdf}} | | 2| pá 27.09. | Matice, Lineární podprostory | PO | {{slidy-02.pdf}} | | 3| út 01.10. | Afinní podprostory, ortogonalita | PO | {{slidy-03.pdf}} | | 4| pá 04.10. | Ortogonální projekce, QR rozklad | PO | | | 5| út 08.10. | Metoda nejmenších čtverců | PO | | | 6| pá 11.10. | Aplikace nejm. čtverců | TW | selected slides from [[http://www.seas.ucla.edu/~vandenbe/ee133a.html|EE133A (UCLA)]] a [[https://ee263.stanford.edu/archive/|EE263 (Stanford)]]: {{ls.pdf}}, {{mols.pdf}} | | 7| út 15.10. | Kvadratické formy a funkce | TW | {{04Kvadr.pdf}} | | 8| pá 18.10. | Spektrální rozklad | TW | | 9| út 22.10. | PCA | TW | {{05PCA.pdf}} | |10| pá 25.10. | SVD | TW | /* |11| pá 01.11. | Derivace | TW | {{06Funkce.pdf}} | |12| út 05.11. | Volné lokální extrémy | TW | {{07Metody.pdf}} | |13| pá 08.11. | **První zápočtový test** | |14| út 12.11. | Iterační metody na volné lok. extrémy | TW | |15| pá 15.11. | Lok. extrémy vázané rovnostmi | TW | {{08Lagrange.pdf}} | |16| út 19.11. | Lok. extrémy vázané rovnostmi | TW | |17| pá 22.11. | LP: úvod | TW | {{09LP.pdf}} | |18| út 26.11. | LP: použití | TW | |19| pá 29.11. | LP: použití | TW | |20| út 03.12. | Konvexní množiny a mnohostěny | TW | {{10Poly.pdf}} | |21| pá 06.12. | Simplexová metoda na LP (nezkouší se). | TW | {{11Simplex-short.pdf}} | |22| út 10.12. | Dualita v LP | TW | {{11Dual.pdf}} | |23| pá 13.12. | Konvexní funkce, konvexní optimalizace | |24| út 17.12. | **Druhý zápočtový test** | TW | {{12Konv.pdf}} | |25| pá 20.12. | Konvexní optimalizace | TW | |26| út 07.01. | Lagrangeova dualita (nezkouší se) | TW | {{13LagrDual.pdf}} | |27| pá 10.01. | Lagrangeova dualita. Poznámky o nekonvexních úlohách | TW | */ ==== Kvízy ==== Během semestru vám zadáme 10 krátkých online kvízů, jejichž cílem je zopakovat si odpřednášenou látku. Odkaz na nově otevřený kvíz a termín jeho vyplnění se vždy objeví v Brute. Každý kvíz je možno libovolněkrát opakovat (pro opakování je v Brute potřeba se vrátit na výpis a kliknout znovu na kvíz). Kdo kvíz bezchybně vyplní do daného termínu, dostane za něj 1 bod. Kdo ho vyplní po termínu nebo nevyplní, dostane 0 bodů. Vyplnění kvízů není podmínkou zápočtu. ==== Domácí úlohy ==== Během semestru dostanete několik domácích úloh. Vaším úkolem bude úlohu naprogramovat v Matlabu (čtěte [[https://cw.fel.cvut.cz/b222/courses/b0b33opt/cviceni/matlab/start|Matlab v OPT]]) nebo Pythonu a odevzdat fungující kód. V odevzdaném kódu smíte použít jen základní funkce (pro Matlab [[https://cw.fel.cvut.cz/b222/courses/b0b33opt/cviceni/matlab/commands|vyjmenované zde]]). Odkaz na nově zadanou domácí úlohu a termín odevzdání se vždy objeví v Brute. Kód je nutno odevzdat do Brute, přičemž: * Fungující a včas odevzdaná úloha se hodnotí 1 bodem. * Pozdní odevzdání úlohy se penalizuje pokutou 0.001 bodu za každou započatou hodinu zpoždění, nejvíce však 1 bod. * Kdo úlohu odevzdá ale ohodnotíme mu ji 0 body (tedy jako nevyhovující), musí ji opravit a odevzdat znovu. Body z domácích úloh jsou na konci semestru normalizovány tak, aby celkový maximální počet byl 10 bodů. Dotazy ohledně domácích úloh pište, prosíme, na diskuzní fórum. **Pozn. o plagiátorství:** Při řešení domácích úloh je zakázáno: přebírat řešení (kód nebo text) od jiných studentů (z letošního i minulých let) nebo z webu, poskytovat je jiným studentům, dávat je kamkoliv na web. Nezakazujeme v8m se o úlohách spolu bavit (naopak to doporučujeme!) - bavte se ale jen o matematice, ne o kódu. Důkaz plagiátorství je už to, že nebudete schopni vysvětlit, jak váš kód funguje. Odhalení plagiátu má za následek neudělení zápočtu, opakované případy mohou vést k disciplinárnímu řízení. Viz [[https://cw.fel.cvut.cz/wiki/help/common/plagiaty_opisovani|obecná pravidla]]. ==== Semestrální testy ==== Během semestru si napíšete dva testy, a to na přednáškách 8.11. a 17.12. Každý test obsahuje příklady na látku odpřednášenou a odcvičenou do té doby. Z každého testu dostanete max. 15 bodů. Hodnocení testu po opravení najdete v Brute. Každý si může na test přinést jednu stranu A4 vlastnoručně psaných poznámek (tištěné poznámky nejsou povoleny). Kalkulačka je povolena, jiná elektronnika nikoliv. Prosíme, přineste si vlastní čisté papíry, na které budete psát nanečisto. Kdo se nemůže testu zúčastnit (z vážných důvodů, typicky nemoc), může absolvovat náhradní test (datum bude ohlášeno). Náhradní test neumožňuje zlepšit si špatně napsaný test, ale pouze nahradit absenci na testu. Náhradní test je pouze jeden a jeho téma je látka z celého semestru. **Testy nepodceňte**, neboť opravit si zkažený test není možné a hrozí Vám nezískání zápočtu. ==== Podmínky zápočtu ==== * Celkový počet bodů z obou semestrálních testů minimálně 7.5 bodu (tj. 1/4 z celkově možných 30 bodů). * Odevzdané a fungující všechny domácí úlohy. Kdo odevzdá poslední fungující domácí úlohu až po zápočtovém týdnu, prosím požádejte svého cvičícího o zápočet emailem. Zápočet udělený v některém z předchozích semestrů lze uznat. Automaticky se tím uznávají i body dosažené za práci v proběhlém semestru, tj. součet bodů za kvízy, přípravy, domácí úlohy a semestrální testy. ==== Zkouška ==== Zkouška je písemná. Nutnou podmínkou účasti na zkoušce je zápočet. Zkouška má podobnou formu jako semestrální testy, ale je delší a obtížnější. U zkoušky můžete mít dvě strany (tj. jeden list) A4 s ručně psanými poznámkami. ==== Hodnocení ==== ^ Kvízy | 10 bodů | ^ Přípravy na cvičení | 10 bodů | ^ Domácí úlohy | 10 bodů | ^ Semestrální testy | 30 bodů | ^ Zkoušková písemka | 40 bodů | ^ CELKEM | 100 bodů | Nutnou podmínkou pro známku lepší než F je nejméně polovina (tj. 20) bodů ze zkouškové písemky. Výsledná známka se pak obvykle určí takto: ^ Body | [0,50) | [50,60) | [60,70) | [70,80) | [80,90) | [90,100] | ^ Známka | F | E | D | C | B | A |