===== Optimalizace (LS 2025-26) ===== **Rychlé odkazy**: [[courses:b0b33opt:cviceni:start|cvičení]], [[https://cw.felk.cvut.cz/brute/|Brute]], [[https://intranet.fel.cvut.cz/cz/education/rozvrhy-ng.B252/public/html/predmety/46/74/p4674306.html|rozvrh]], [[https://cw.felk.cvut.cz/forum/forum-1957.html|diskusní fórum]], [[https://intranet.fel.cvut.cz/cz/education/harmonogram.html|časový plán ak. roku]] ==== Obsah a prerekvizity ==== //Matematická optimalizace// (též známá jako //matematické programování//) se zabývá minimalizací či maximalizací funkcí mnoha proměnných za případných omezujících podmínek. V inženýrské praxi vzniká mnoho takových úloh - často je třeba dělat něco nejlépe v rámci daných omezení. Optimalizace je fascinující a dynamický obor na pomezí matematické analýzy, lineární algebry a informatiky. Zužitkujete zde mnoho teoretických znalostí a dovedností, které jste se naučili dříve. Kurz vás provede základními principy a metodami optimalizace, včetně úlohy nejmenších čtverců, lineárního programování, nelineárního programování a numerických iteračních metod. Na praktických příkladech uvidíte, jak lze 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í (Matlab nebo Python) ==== Přednášky ==== * Přednášejí [[https://cmp.felk.cvut.cz/~werner|Tomáš Werner]] (garant), [[https://cmp.felk.cvut.cz/~navara|Mirko Navara]], [[https://petr.olsak.net|Petr Olšák]]. * {{opt.pdf|Skripta}}, {{opt-2up.pdf|oboustranná verze}} pro tisk, {{errata.pdf|errata}}. Viz také {{opt-sbirka.pdf|sbírka řešení}} většiny cvičení (kapitoly 6 a 7 nejsou aktuální, budou brzy). * Dále studujte z [[literatura|doplňující literatury]]. * Stream [[https://www.youtube.com/playlist?list=PLQL6z4JeTTQkNm0WTeZvtaMRZiNlbiN6u|KN:E-107]] (Přednášky PO se nestreamují ani nenahrávají, použijte záznamy z minulých let) * Záznamy přednášek: [[https://www.youtube.com/playlist?list=PLQL6z4JeTTQmEKigH3KGYkY5qbllzBCKR|tento semestr]] (objeví se obvykle do 48 hodin po přednášce) ^č.^ Datum ^ Náplň ^ Přednáší ^ Materiály ^ | 1| st 18.02. | Úvod do optimalizace | TW | {{01Intro.pdf}} | | 2| pá 20.02. | Matice, Lineární podprostory | PO | {{slidy-02.pdf}} | | 3| st 25.02. | Afinní podprostory, ortogonalita | PO | {{slidy-03.pdf}} | | 4| pá 27.02. | Ortogonální projekce, QR rozklad | PO | {{slidy-04.pdf}} | | 5| st 04.03. | Metoda nejmenších čtverců | PO | {{slidy-05.pdf}} | | 6| pá 06.03. | Aplikace nejm. čtverců | PO | {{ls.pdf|selected slides}} from [[http://www.seas.ucla.edu/~vandenbe/ee133a.html|EE133A (UCLA)]] a [[https://ee263.stanford.edu/archive/|EE263 Stanford]] | | 7| st 11.03. | Kvadratické formy a funkce | TW | {{04Kvadr.pdf}} | | 8| pá 13.03. | Spektrální rozklad sym. matice | TW | {{05PCA.pdf}} | | 9| st 18.03. | PCA | TW | |10| pá 20.03. | SVD | TW | |11| st 25.03. | **První test** | |12| pá 27.03. | Derivace | MN | {{Funkce.pdf}} | /* | 13| st 01.04. | Volné lokální extrémy | MN | {{07Metody.pdf}} | | 14| st 08.04. | Iterační metody na volné lok. extrémy | MN | | 15| pá 10.04. | Nelin. úloha nejmenších čtverců. Aplikace | MN | {{nlls.pdf|selected slides}} from Stanford | | 16| st 15.04. | Vázané lok. extrémy | MN | {{08Lagrange.pdf}}, {{ls-control.pdf|selected slides}} from Stanford | | 17| pá 17.04. | Vázané lok. extrémy | MN | | 18| st 22.04. | LP: úvod | TW\\ (v KN:A-214) | {{09LP.pdf}} | | 19| pá 24.04. | LP: použití | TW\\ (v KN:A-214) | | 20| st 29.04. | **Druhý test** | | 21| čt 30.04. | Konvexní množiny a mnohostěny | TW | {{10Poly.pdf}} | | 22| út 05.05. | Dualita v LP | TW | {{11Dual.pdf}} | | 23| st 06.05. | Dualita v LP: příklady | TW | | 24| pá 15.05. | Konvexní funkce a optimalizace | TW | {{12Konv.pdf}} | | 25| st 20.05. | Konvexní funkce a optimalizace | TW | | 26| pá 22.05. | Lagrangeova dualita (nezkouší se) | TW | {{13LagrDual.pdf}} | */ ==== 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. Na začátku semestru je navíc nultý kvíz, který je cvičný a do hodnocení se nezapočítává. 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 vám 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 ve dnech **25.3. a 29.4.**. 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. U testu můžete používat jako tahák jednu stranu A4 s ručně psanými poznámkami (pouze originál, ne výtisk scanu či výstupu z tabletu). Kalkulačka je povolena, jiná elektronnika nikoliv. Prosíme, přineste si průkaz totožnosti, a také 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). V tom případě napište přednášejícímu email s důvodem absence (a to včas, ať vám to stihne schválit). 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. Příklady testů (vč. řešení) z minulého semestru: {{test1.pdf|test1}}, {{test2.pdf|test2}} Řešení prvního testu: {{test1-2026.pdf|test1}} ==== 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ů uznáme. 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. Ovšem pokud jste navzdory snaze neudělali zkoušku, doporučujeme chodit znovu na cvičení. ==== 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 (pouze originál, ne výtisk scanu či výstupu z tabletu). Způsob hodnocení písemky bude oznámen. /* Pokud na nějakém zkouškovém termínu dosáhnete 20 bodů nebo více, ale cítíte se na víc, můžete si nechat termín anulovat (nepřijdete o něj) a zkusit napsat písemku lépe na pozdějším termínu (napište v tom případě email). Ale pozor: počítá se pouze poslední termín (i když to bude méně než 20 bodů). */ (**Pozn.** Pokud máte během zkouškového období státnice a chcete zkoušku složit před nimi, napište email přednášejícímu hned jak se dozvíte datum státnic. I když to není naše povinnost, pokusíme se k tomu přihlédnout při plánování zkouškových termínů.) /* Zadání a řešení zkoušek: zk1 {{zk1.pdf|příklady}} a {{zk1-kviz.pdf|kvíz}}, zk2 {{zk2-prik.pdf|příklady}} a {{zk2-kviz.pdf|kvíz}}, zk3 {{zk3-prik.pdf|příklady}} a {{zk3-kviz.pdf|kvíz}}, zk4 {{zk4-prik.pdf|příklady}} a {{zk4-kviz.pdf|kvíz}} */ ==== 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 | ==== Dotazy, konzultace ==== Dotazy ke cvičením, domácím úlohám a kvízům směřujte na svého cvičícího, Dotazy k testům a organizaci na garanta. Pokud látku nechápete, nabízíme konzultace. Obraťte se nejprve na svého cvičícího nebo na přednášejícího po středeční odpolední.