Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
statnice:bakalar:b0b33opt [2025/06/04 17:57] – [Úloha lineárního programování (LP)] zapleka3 | statnice:bakalar:b0b33opt [2025/06/12 10:33] (current) – [Podmínky konvexity podle derivací] el_dusto | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Použití lineární algebry v optimalizaci. Iterační algoritmy na volné lokální extrémy. Lineární programování. Konvexní množiny a funkce, konvexní úlohy. Dualita. ==== | + | ====== Použití lineární algebry v optimalizaci. Iterační algoritmy na volné lokální extrémy. Lineární programování. Konvexní množiny a funkce, konvexní úlohy. Dualita. |
[[https:// | [[https:// | ||
Line 718: | Line 718: | ||
== L₁-norm (taxicab-norma) == | == L₁-norm (taxicab-norma) == | ||
* Chceme minimalizovat součet absolutních odchylek: %%< | * Chceme minimalizovat součet absolutních odchylek: %%< | ||
- | * Formulujeme ekvivalentně: | + | * Formulujeme ekvivalentně: |
* Nalezené \(\{u_{i}^{*}\}\) jsou pak absolutní odchylky a \(\sum_i u_i^*\) je minimální součet. | * Nalezené \(\{u_{i}^{*}\}\) jsou pak absolutní odchylky a \(\sum_i u_i^*\) je minimální součet. | ||
Line 835: | Line 835: | ||
* **Nevýhoda: | * **Nevýhoda: | ||
+ | ===== 8. Geometrie LP ===== | ||
+ | |||
+ | Geometrie lineárního programování je založena na vlastnostech **konvexních množin** a **mnohostěnů (polyedrů)**. LP úloha se řeší hledáním extrému lineární funkce na takové množině. | ||
+ | |||
+ | ==== Konvexní množiny ==== | ||
+ | |||
+ | * Množina \(C \subseteq \mathbb{R}^n\) je **konvexní**, | ||
+ | |||
+ | * Ekvivalentně: | ||
+ | |||
+ | * Konvexní množiny jsou důležité, | ||
+ | * minimum lineární funkce na konvexní množině je dosaženo na hranici (nejčastěji ve vrcholu), | ||
+ | * každé lokální minimum je zároveň globální. | ||
+ | |||
+ | ==== Polyedr (konvexní mnohostěn) ==== | ||
+ | |||
+ | * **Polyedr** je průnik konečně mnoha poloprostorů, | ||
+ | |||
+ | * Je vždy konvexní, ale nemusí být omezený (např. otevřený klín nebo nekonečný paprsek). | ||
+ | * Pokud polyedr **neobsahuje přímku**, má extrémní body – lze tedy hledat optimum. | ||
+ | * Pokud obsahuje přímku, minimum lineární funkce často neexistuje nebo je dosaženo „v nekonečnu“. | ||
+ | * Každý polyedr má: | ||
+ | * **vrcholy (extrémní body)** – body, které nelze vyjádřit jako konvexní kombinace jiných bodů množiny, | ||
+ | * **hrany, fasety, stěny** – tj. geometrické části různých dimenzí: | ||
+ | * 0D – vrchol, | ||
+ | * 1D – hrana, | ||
+ | * \(n{-}1\)D – faseta. | ||
+ | |||
+ | ==== Extrémní body ==== | ||
+ | |||
+ | * Bod \(x \in P\) je **extrémní bod** (vrchol), pokud neexistují dva různé body \(x_1, x_2 \in P\), že: %%< | ||
+ | |||
+ | * Algebraicky odpovídají **základním řešením** soustavy rovnic. | ||
+ | * Extrémní body existují právě tehdy, když množina řešení neobsahuje přímku. | ||
+ | * V LP se optimální řešení (pokud existuje) nachází vždy v některém extrémním bodě polyedru přípustných řešení. | ||
+ | * Minimum lineární funkce na konvexním polyedru je dosaženo na **stěně**, | ||
+ | * Tato stěna je průnik s tzv. **opěrnou nadrovinou**: | ||
+ | |||
+ | |||
+ | ===== 9. Dualita v LP ===== | ||
+ | |||
+ | Každé úloze lineárního programování (tzv. **primární úloze**) odpovídá jiná LP úloha – tzv. **duální úloha**. Obě spolu souvisí: řešení jedné poskytuje informace o řešení druhé a zároveň může sloužit jako nástroj pro jednodušší nalezení optima. | ||
+ | |||
+ | ==== Primární a duální úloha ==== | ||
+ | |||
+ | Nechť máme primární úlohu ve tvaru: %%< | ||
+ | |||
+ | K ní přísluší duální úloha: %%< | ||
+ | * Vektory \(x\) a \(y\) jsou proměnné v primární a duální úloze. | ||
+ | * Matice a vektory jsou převrácené – omezení primalu se stávají cílovou funkcí dualu a naopak. | ||
+ | * Duální úloha je tzv. **reverzibilní úprava** primární – přechod mezi nimi je čistě formální. | ||
+ | |||
+ | ==== Slabá dualita ==== | ||
+ | |||
+ | * **Věta o slabé dualitě:** | ||
+ | * Pro každé přípustné řešení \(x\) primární úlohy a každé přípustné \(y\) duální úlohy platí: %%< | ||
+ | * Duální hodnota je tedy **dolní mez** primalu. | ||
+ | |||
+ | * Pokud se stane, že: %%< | ||
+ | * pro nějaké přípustné dvojice \((x^*, y^*)\), pak jsou **obě řešení optimální**. | ||
+ | |||
+ | ==== Silná dualita ==== | ||
+ | |||
+ | * **Věta o silné dualitě:** | ||
+ | * Pokud má primární úloha nebo duální úloha **optimální řešení**, | ||
+ | * druhá úloha má také řešení, | ||
+ | * a platí: %%< | ||
+ | |||
+ | * Tato rovnost se označuje jako **certifikát optimality** – potvrzuje, že nalezené řešení je opravdu optimum. | ||
+ | |||
+ | * Ekvivalentně platí: | ||
+ | * Primal má optimum ⇔ dual má optimum ⇔ hodnoty jsou stejné. | ||
+ | |||
+ | ==== Komplementarita ==== | ||
+ | |||
+ | * **Komplementární podmínky: | ||
+ | * Jsou splněny právě tehdy, když jsou obě řešení optimální: | ||
+ | * Pro každé \(i\): %%< | ||
+ | * Pro každé \(j\): %%< | ||
+ | * Obecně: %%< | ||
+ | |||
+ | * Jinými slovy: **každá podmínka buď svazuje řešení (aktivní), nebo má nulový stínový dopad**. | ||
+ | |||
+ | ==== Význam a využití ==== | ||
+ | * Dualita v LP umožňuje: | ||
+ | * jednodušší konstrukci algoritmů (např. dual simplex), | ||
+ | * odhad kvality řešení primalu pomocí dualu (dolní/ | ||
+ | * výpočet **stínových cen** – jak moc se zlepší optimum, když uvolníme omezení, | ||
+ | * rozhodování o významu jednotlivých omezení a jejich dopadu na výsledek. | ||
+ | |||
+ | * V praxi se primal a duální řešení často hledají současně – např. v simplexové metodě se během výpočtu tvoří i informace o duálu. | ||
+ | |||
+ | ===== 10. Konvexní funkce a konvexní optimalizace ===== | ||
+ | |||
+ | Konvexní funkce tvoří základ moderní optimalizace – mají příznivé geometrické i analytické vlastnosti. Hledání minima konvexní funkce je jednodušší, | ||
+ | |||
+ | ==== Definice konvexní funkce ==== | ||
+ | |||
+ | * Funkce \( f: \mathbb{R}^n \to \mathbb{R} \) je **konvexní**, | ||
+ | |||
+ | * Funkce je **striktně konvexní**, | ||
+ | |||
+ | * Konvexita znamená, že graf funkce je „ohnutý směrem nahoru“. | ||
+ | |||
+ | ==== Epigraf a subkontura ==== | ||
+ | |||
+ | * **Epigraf** funkce \( f \): množina bodů nad grafem: %%< | ||
+ | |||
+ | * **Subkontura (sublevel množina)** – množina všech bodů, kde funkce nepřesahuje danou hodnotu: %%< | ||
+ | |||
+ | ==== Podmínky konvexity podle derivací ==== | ||
+ | |||
+ | Pokud je \(f\) diferencovatelná: | ||
+ | |||
+ | * **1. derivace – gradientová podmínka: | ||
+ | |||
+ | Pokud je \(f\) dvakrát diferencovatelná: | ||
+ | |||
+ | * **2. derivace – Hessova podmínka: | ||
+ | |||
+ | ==== Úloha konvexní optimalizace ==== | ||
+ | |||
+ | * Obecná úloha konvexní optimalizace má tvar: %%< | ||
+ | * kde: | ||
+ | * \( f: \mathbb{R}^n \to \mathbb{R} \) je konvexní funkce, | ||
+ | * \( C \subseteq \mathbb{R}^n \) je konvexní množina (např. množina omezení). | ||
+ | |||
+ | * Důležité vlastnosti: | ||
+ | * Pokud je funkce i množina omezení konvexní ⇒ **každé lokální minimum je globální**. | ||
+ | * Existují efektivní algoritmy (např. metoda vnitřního bodu, subgradienty, | ||
+ | |||
+ | * Typické aplikace: | ||
+ | * Optimalizace ztrátové funkce v machine learningu (ridge, LASSO), | ||
+ | * Portfolio management (mean-variance model), | ||
+ | * Řízení systémů a model prediktivního řízení (MPC), | ||
+ | * Design sítí, rozpočtové plánování. | ||
- | ===== Dualita v LP ===== | ||
- | ===== Konvexní funkce ====== |