Table of Contents

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.

B0B33OPT Webové stránky předmětu

1. Přibližné řešení lineární soustavy

Řešení lineární soustavy rovnic pomocí metody nejmenších čtverců, například při měření s chybami nebo pokud je soustava pře- nebo nedourčená (má více rovnic než neznámých nebo naopak). Pomocí projekce na podprostor a pseudoinverze hledáme řešení, které buď nejlépe odpovídá pozorovaným datům, nebo má nejmenší možnou normu.

Nejmenší čtverce a normální rovnice

Metoda nejmenších čtverců slouží k přibližnému řešení soustavy rovnic \( A x \approx b \), která nemá přesné řešení – typicky když je počet rovnic větší než počet neznámých (tzv. přeurčená soustava). Hledáme vektor \( x \), který co nejlépe „vysvětlí“ data \( b \) v rámci daného lineárního modelu.

Cílem je minimalizovat součet čtverců rozdílů (reziduí) mezi skutečnými a modelovanými hodnotami:

<mjax>\min_{x}\|A x - b\|_2^2</mjax>

Tato úloha je speciálním případem obecného problému minimalizace funkce: <mjax>f(x) := \|g(x)\|^2 = \sum_{i=1}^{m} g_i(x)^2</mjax> kde \( g(x) = A x - b \) je lineární (viz obrázek).

Z první podmínky optimálního bodu (nulový gradient) odvodíme tzv. normální rovnice:

<mjax>A^T A x = A^T b</mjax>

Pokud má \( A \) lineárně nezávislé sloupce (tzv. full column rank), je matice \( A^T A \) regulární (invertovatelná) a řešení je jednoznačné:

<mjax>x = (A^T A)^{-1} A^T b</mjax>

Tuto metodu lze chápat jako projekci vektoru \( b \) na podprostor generovaný sloupci \( A \). Pokud \( b \) neleží v tomto podprostoru, hledáme nejbližší bod z tohoto podprostoru.

Ortogonální projekce a ortogonální projektor

Řešení úlohy nejmenších čtverců odpovídá kolmé projekci vektoru \( b \) do podprostoru \( \mathrm{rng}(A) \). Výsledkem projekce je vektor \( Ax \), který je co nejblíž vektoru \( b \) a zároveň leží v obrazu \( A \).

Projektor, který provádí tuto projekci, má tvar:

<mjax>P = A (A^T A)^{-1} A^T</mjax>

Vlastnosti projektoru:

Pro vektor \( z \) platí, že jeho projekce do podprostoru je \( P z \). Ortogonální doplněk (kolmý zbytek) je \( (I - P) z \), tedy kolik z vektoru „přebývá mimo“ podprostor.

Vzdálenost bodu od podprostoru

Vzdálenost bodu \( b \) od podprostoru \( \mathrm{rng}(A) \) měříme jako normu vektoru chyby (reziduum):

<mjax>\mathrm{dist}(b, \mathrm{rng}(A)) = \|b - P b\|_2</mjax>

To je přesně to, co minimalizujeme v úloze nejmenších čtverců – hledáme vektor \( Ax \), který je co nejblíže \( b \), a zároveň patří do obrazu \( A \).

Řešení nedourčené soustavy s nejmenší normou

Pokud je počet neznámých větší než počet rovnic, je systém nedourčený a má nekonečně mnoho řešení. Hledáme tedy takové řešení, které má nejmenší normu:

<mjax>\min_{x} \|x\|_2 \quad \text{při podmínce} \quad A x = b</mjax>

Toto řešení lze získat pomocí tzv. pravé pseudoinverze:

<mjax>A^+ = A^T (A A^T)^{-1}</mjax>

<mjax>x = A^+ b</mjax>

Tato formulace platí, pokud má matice \( A \) plný řádkový hodnost (řádky jsou lineárně nezávislé).

Pseudoinverze

Pro libovolnou matici \( A \) existuje jedinečně definovaná Moore–Penroseova pseudoinverze \( A^+ \). Ta vrací buď:

Zápisy:

<mjax>A^+ = (A^T A)^{-1} A^T</mjax>

<mjax>A^+ = A^T (A A^T)^{-1}</mjax>

<mjax>x = A^+ b</mjax>

Příklad

Model: <mjax>f(x) = \alpha + \beta x</mjax>

Naměřená data: <mjax>(x_{i},y_{i}) = (1,2),\,(2,3),\,(3,5)</mjax>

Matice a vektor: <mjax> A = \begin{pmatrix} 1 & 1 \\ 1 & 2 \\ 1 & 3 \end{pmatrix},\quad b = \begin{pmatrix} 2 \\ 3 \\ 5 \end{pmatrix} </mjax>

Výpočty: <mjax> A^T A = \begin{pmatrix}3 & 6\\6 & 14\end{pmatrix},\quad (A^T A)^{-1} = \frac{1}{6}\begin{pmatrix}14 & -6\\-6 & 3\end{pmatrix},\quad A^T b = \begin{pmatrix}10\\23\end{pmatrix} </mjax>

Výsledné řešení: <mjax> \begin{pmatrix}\alpha\\\beta\end{pmatrix} = (A^T A)^{-1} A^T b = \begin{pmatrix}1/3 \\ 3/2\end{pmatrix} </mjax>

2. Vlastní čísla, kvadratické formy a kvadratické funkce

Tato kapitola se zaměřuje na práci s kvadratickými výrazy a jejich souvislost s optimalizací. Pomocí vlastních čísel a vektorů dokážeme analyzovat chování kvadratických forem, určovat minima a maxima a převádět funkce do jednoduššího tvaru. Důležitým nástrojem je také spektrální rozklad symetrických matic, který umožňuje přímou interpretaci geometrických vlastností.

Vlastní čísla a vektory reálných symetrických matic

Vlastní čísla a vektory nám říkají, jak matice mění prostor – v některých směrech pouze škáluje, bez změny směru.

Vlastní číslo \(\lambda\) je skalár, pro nějž existuje nenulový vektor \(v\), takový že:

<mjax>A\,v = \lambda\,v</mjax>

Pro výpočet vlastních čísel řešíme charakteristickou rovnici:

<mjax>\det(A - \lambda I)=0</mjax>

Vlastní čísla i vektory hrají klíčovou roli v optimalizaci a geometrické interpretaci matic. Pokud je \( A \) symetrická, má:

Algebraická násobnost – počet výskytů kořene v charakteristickém polynomu. Geometrická násobnost – dimenze jádra \((A - \lambda I)\). V ideálním případě (symetrická matice) se algebraická a geometrická násobnost rovnají.

Příklad výpočtu vlastních čísel a vektorů

Tento příklad ukazuje, jak krok za krokem nalézt vlastní čísla a odpovídající vektory.

Nechť <mjax>A = \begin{pmatrix}2 & 1 \\ 1 & 2\end{pmatrix}</mjax>

1. Charakteristická rovnice: <mjax>\det(A - \lambda I) = \det\begin{pmatrix}2-\lambda & 1 \\ 1 & 2-\lambda\end{pmatrix} = (2-\lambda)^{2} - 1 = 0</mjax> Řešení: <mjax>\lambda_{1}=3,\quad \lambda_{2}=1</mjax>

2. Vlastní prostor pro \(\lambda_{1}=3\): Řešíme <mjax>(A - 3I)\,v = 0 \quad\Longrightarrow\quad \begin{pmatrix}-1 & 1 \\ 1 & -1\end{pmatrix} \begin{pmatrix}v_{1}\\v_{2}\end{pmatrix} = 0</mjax> Odtud \(v_{1}=v_{2}\), tedy vlastní vektor může být <mjax>v^{(1)} = \begin{pmatrix}1\\1\end{pmatrix}</mjax>

3. Vlastní prostor pro \(\lambda_{2}=1\): Řešíme <mjax>(A - I)\,v = 0 \quad\Longrightarrow\quad \begin{pmatrix}1 & 1 \\ 1 & 1\end{pmatrix} \begin{pmatrix}v_{1}\\v_{2}\end{pmatrix} = 0</mjax> Odtud \(v_{1} = -\,v_{2}\), vlastní vektor může být <mjax>v^{(2)} = \begin{pmatrix}1\\-1\end{pmatrix}</mjax>

Spektrální rozklad

Pro každou reálnou symetrickou matici \( A \) existuje ortogonální spektrální rozklad:

<mjax>A = V \Lambda V^T</mjax>

Spektrální rozklad přepisuje symetrickou matici $A$ jako ortogonální transformaci do diagonální podoby.

Využívá se pro:

Příklad:

<mjax>V = \tfrac{1}{\sqrt{2}}\begin{pmatrix}1 & 1\\1 & -1\end{pmatrix},\;\Lambda=\begin{pmatrix}3&0\\0&1\end{pmatrix}\;\Longrightarrow\;A=V\Lambda V^{T}=\begin{pmatrix}2&1\\1&2\end{pmatrix}</mjax>

Kvadratické formy na \(\mathbb{R}^n\): definitnost, diagonalizace

Kvadratická forma je homogenní polynom druhého stupně definovaný symetrickou maticí \(A\): <mjax>f(x) = x^{T}A\,x</mjax>

Kvadratická forma nám říká, zda funkce roste nebo klesá v různých směrech – podle toho, jak vypadá matice \(A\).

Podle spektra (vlastních čísel) matice \( A \) rozlišujeme:

Diagonalizace kvadratické formy: Pomocí spektrálního rozkladu \( A = V \Lambda V^T \) a substituce \( y = V^T x \) dostaneme:

<mjax>f(x) = y^T \Lambda y = \sum_{i=1}^n \lambda_i y_i^2</mjax>

Z toho lze přímo určit, zda má forma minimum nebo maximum, a zda je extrém ostrý.

Příklad:

<mjax> f(x) = x^T A x = y^T \Lambda y = 3 y_1^2 + 1 y_2^2,\quad y = V^T x = \tfrac{1}{\sqrt{2}}\begin{pmatrix}x_1 + x_2 \\ x_1 - x_2\end{pmatrix} </mjax>

Kvadratické funkce na \(\mathbb{R}^n\): doplnění na čtverec

Obecná kvadratická funkce má tvar:

<mjax>g(x) = x^T A x + b^T x + c</mjax>

Tato funkce obsahuje jak kvadratický, tak lineární člen – jejím cílem je najít stacionární bod a rozhodnout, zda jde o minimum, maximum nebo sedlový bod.

Doplnění na n-tý řád (Taylorův polynom):

Pro dostatečně hladkou funkci \(g:\mathbb{R}^n\to\mathbb{R}\) kolem bodu \(x^*\) platí Taylorův rozvoj až do \(n\)-tého řádu:

<mjax> g(x) = \sum_{k=0}^{n}\frac{1}{k!}\,D^{k}g(x^*)\bigl[x-x^*\bigr]^{k} + R_{n+1}(x), </mjax>

Pro hledání extrému ji přepíšeme pomocí doplnění na čtverec. Využíváme Taylorův polynom 2. řádu kolem bodu \( x^* \):

<mjax> T_{2}(x) = g(x^*) + \nabla g(x^*)^T (x - x^*) + \tfrac{1}{2} (x - x^*)^T \nabla^2 g(x^*) (x - x^*) </mjax>

Stacionární bod je: <mjax>x^* = -A^{-1} b</mjax>

Přepsání funkce: <mjax> g(x) = \tfrac{1}{2}(x - x^*)^T A (x - x^*) + \text{konst.} </mjax>

Minima a maxima (na otevřené množině \(\mathbb{R}^{n}\)):

3. Optimální proložení bodů podprostorem (PCA)

Tato kapitola se věnuje metodám, které hledají nejlepší aproximaci dat v nižším rozměru. Typickým příkladem je metoda hlavních komponent (PCA), která minimalizuje ztrátu informace při promítání dat do podprostoru. Klíčovým nástrojem pro tuto úlohu je singulární rozklad matice (SVD) – univerzální technika pro analýzu struktury a „redukování“ matic.

Motivace: Ve strojovém učení nebo klasifikaci často pracujeme s daty ve velmi vysoké dimenzi (např. tisíce rysů). PCA umožňuje zmenšit rozměr na menší podprostor tak, aby se zachoval co největší rozptyl (informace). To vede k rychlejším výpočtům, nižšímu šumu a přehlednější vizualizaci.

Singulární rozklad matice (SVD)

Každou reálnou matici \( A \in \mathbb{R}^{m \times n} \) lze zapsat ve tvaru:

<mjax>A = U \Sigma V^T</mjax>

Singulární čísla \( \sigma_1 \ge \cdots \ge \sigma_r > 0 \) jsou druhé odmocniny vlastních čísel matic \( A A^T \) a \( A^T A \). SVD existuje pro každou reálnou (i obdélníkovou) matici.

Výpočet SVD:

PCA jako optimalizační úloha

PCA můžeme chápat dvěma způsoby:

Tyto dva přístupy vedou ke stejnému výsledku – podprostoru generovanému prvními \(k\) vlastními vektory matice \(A A^T\).

Aproximace maticí nižší hodnosti

Nechť \( A \in \mathbb{R}^{m \times n} \), \( p = \min\{m,n\} \) a \( k \le p \). Hledáme matici \( B \) hodnosti nejvýše \( k \), která je co nejblíže původní matici \( A \) ve Frobeniově normě:

<mjax>\min_{\mathrm{rank}(B) \le k} \|A - B\|_F</mjax>

Eckart–Youngova věta

Tato úloha má řešení dáno oříznutím SVD rozkladu \( A = U \Sigma V^T \) na prvních \( k \) složek:

<mjax> A_k = \sum_{i=1}^{k} s_i\,u_i\,v_i^T = U\,\Sigma_k\,V^T </mjax>

kde <mjax> \Sigma_k = \mathrm{diag}(s_1, \dots, s_k, 0, \dots, 0) \in \mathbb{R}^{m \times n} </mjax> obsahuje jen první \( k \) singulárních čísel a zbytek nulujeme.

Používáme tedy jen první \( k \) singulárních složek z rozkladu SVD – to zaručuje nejlepší možnou aproximaci v dané dimenzi.

Funkce stopa (trace)

Stopa čtvercové matice je součet diagonálních prvků: <mjax>\mathrm{tr}(A) = \sum_{i=1}^{n} A_{ii}</mjax>

Stopu si můžeš představit jako míru „energie“ nebo rozptylu, kterou matice zachytává v prostoru – čím větší stopa, tím více informací.

Výpočet PCA (krok za krokem)

1. Spočítáme matici kovariancí: <mjax>S = A A^T</mjax>

2. Provedeme spektrální rozklad: <mjax>S = V \Lambda V^T,\quad \lambda_1 \ge \cdots \ge \lambda_m</mjax>

3. Zvolíme první \(k\) vektorů: \( V = [X \mid Y] \)

4. Projekce dat: <mjax>\widehat{A} = X X^T A</mjax>

5. Chyba projekce: <mjax>\|A - \widehat{A}\|_F^2 = \sum_{i=k+1}^m \lambda_i</mjax>

Příklad

Nechť: <mjax>A = \begin{pmatrix}2 & 1\\1 & 2\end{pmatrix},\quad k = 1</mjax>

1. Kovarianční matice: <mjax>S = A A^T = \begin{pmatrix}5 & 4\\4 & 5\end{pmatrix}</mjax>

2. Spektrální rozklad: <mjax>\lambda_1 = 9,\quad \lambda_2 = 1,\quad v_1 = \tfrac{1}{\sqrt{2}}\begin{pmatrix}1\\1\end{pmatrix}</mjax>

3. Výběr podprostoru: <mjax>X = [v_1]</mjax>

4. Projekce: <mjax>\widehat{A} = X X^T A = \tfrac{1}{2} \begin{pmatrix}1 & 1\\1 & 1\end{pmatrix} \begin{pmatrix}2 & 1\\1 & 2\end{pmatrix} = \begin{pmatrix}1.5 & 1.5\\1.5 & 1.5\end{pmatrix}</mjax>

5. Chyba proložení: <mjax>\|A - \widehat{A}\|_F^2 = \lambda_2 = 1</mjax>

Interpretace: Projekce do 1D podprostoru zachová rozptyl \( \lambda_1 \), ztráta informace odpovídá \( \lambda_2 \). PCA tedy dává nejlepší možnou redukci na danou dimenzi.

4. Globální a lokální extrémy funkce na podmnožině ℝⁿ

Extrémy mohou být:

V praxi často hledáme nejlepší řešení (např. nejnižší cenu, nejkratší trasu, maximální efektivitu), ať už bez omezení, nebo podmíněně – třeba za předpokladu omezených zdrojů.

Definice

Mějme funkci \( f: D \subset \mathbb{R}^n \rightarrow \mathbb{R} \).

Lokální extrém je jen „nejlepší v okolí“, zatímco globální je nejlepší v celé množině.

Kdy je extrém globální

Pokud je funkce konvexní, pak každé lokální minimum je zároveň globální minimum. U konkávních funkcí analogicky pro maxima.

Tato vlastnost je velmi důležitá v optimalizaci – nemusíme hledat celé globální optimum, stačí najít lokální a víme, že je to ono.

Hledání extrémů

Najít extrém neznamená jen najít hodnotu funkce, ale určit i bod, kde se nachází, a typ extrému.

Příklady

1. Volný extrém:

2. Vázaný extrém:

Takové úlohy se řeší metodou Lagrangeových multiplikátorů, která převede problém s omezením na rovnici, kterou můžeme řešit pomocí derivací.

Dělení extrémů podle kontextu

Typ extrému Omezení Podmínky hledání
———————————–————————-
Volný žádné derivace = 0
Vázaný rovnosti / nerovnosti Lagrange, KKT podmínky
Globální celé D extrém celé množiny
Lokální okolí bodu extrém v nějaké kouli

5. Volné lokální extrémy diferencovatelných funkcí

Zde hledáme extrémy hladkých funkcí \( f:\mathbb{R}^n \to \mathbb{R} \) bez omezení – tedy volné extrémy uvnitř definičního oboru.

Podmínka 1. řádu

Stacionární bod \( x^* \) je kandidát na extrém, pokud platí: <mjax>\nabla f(x^*) = 0</mjax>

To znamená, že funkce nemá v tomto bodě žádný směr, kterým by mohla růst nebo klesat – ležíme v „rovnovážné poloze“.

Podmínka 2. řádu

Pro rozhodnutí typu stacionárního bodu, zda jde o minimum, maximum nebo sedlový bod, použijeme Hessovu matici \( H_f(x) \) – matici druhých derivací.

Tato klasifikace vychází z tvaru funkce v okolí bodu – pomocí křivosti poznáme, zda se funkce chová jako dno mísy, vrchol kopce nebo sedlo.

Numerické metody

Když analyticky nelze najít řešení, použijeme iterační metody – postupně se přibližujeme k optimu:

6. Lokální extrémy diferencovatelných funkcí vázané rovnostmi

Pokud hledáme extrém funkce \( f(x) \) za podmínky, že proměnné \( x \in \mathbb{R}^n \) musí splňovat rovnosti \( g_i(x) = 0 \), musíme vzít v úvahu nejen chování samotné funkce, ale i omezení, která určují přípustné body.

Taková úloha má tvar: <mjax>\min f(x)\quad \text{za podmínky}\quad g_1(x) = 0,\,\dots,\,g_m(x) = 0</mjax>

Tyto rovnosti určují množinu povolených řešení – tzv. povrch. Extrém hledáme na tomto povrchu, tedy jen mezi body, které splňují dané podmínky.

Podmínka prvního řádu – Lagrangeovy multiplikátory

Podmínky řešíme pomocí Lagrangeovy funkce: <mjax>\mathcal{L}(x, \lambda) = f(x) + \sum_{i=1}^{m} \lambda_i g_i(x)</mjax>

Bod \( x^* \in \mathbb{R}^n \) je kandidátem na extrém, pokud existuje vektor multiplikátorů \( \lambda = (\lambda_1,\dots,\lambda_m) \), takový že:

Tato podmínka říká, že v bodě \( x^* \) je gradient funkce \( f \) lineární kombinací gradientů omezení \( g_i \) – tedy ležící v ortogonálním doplňku tečného prostoru.

Jinými slovy: v optimu se nelze „vydat směrem“ uvnitř množiny bez toho, aby se zvyšovala hodnota funkce.

Geometrická interpretace

Tečný prostor k množině \( \{x \mid g(x) = 0\} \) v bodě \( x^* \) je tvořen vektory \( v \), pro které platí: <mjax>g'(x^*) v = 0</mjax> – tedy množinou vektorů kolmých na gradienty omezení.

Gradient funkce \( f \) musí ležet ve směru normály, tj. být kombinací \(\nabla g_i\).

Druhý řád – určení typu extrému

Hessovu matici Lagrangeovy funkce vzhledem k \( x \) označme: <mjax>H(x, \lambda) = \nabla^2_{xx} \mathcal{L}(x, \lambda)</mjax>

Pro rozhodnutí o typu extrému:

Kontrola hranic množiny

Pokud množina \( D \), na které optimalizujeme, má i ohraničení, musíme kromě stacionárních bodů vyšetřit i hranici domény – extrém může vzniknout právě tam, i když nevyhoví podmínce \( \nabla_x \mathcal{L} = 0 \).

To zahrnuje:

Postup

  1. Sestavíme Lagrangeovu funkci \( \mathcal{L}(x,\lambda) = f(x) + \lambda^T g(x) \).
  2. Najdeme kandidátní body \( (x^*, \lambda^*) \), které splňují:
    • \( \nabla_x \mathcal{L}(x^*, \lambda^*) = 0 \)
    • \( g_i(x^*) = 0 \)
  3. Zkontrolujeme druhý řád – restrikci Hessovy matice.
  4. Pokud je doména omezená, zkontrolujeme i hraniční body.
  5. Vybereme bod s nejlepší hodnotou \( f(x^*) \).

Aplikace

Lagrangeovy multiplikátory umožňují řešit mnoho praktických úloh:

7. Úloha lineárního programování (LP)

Lineární programování (LP) je metoda pro optimalizaci lineární funkce při lineárních omezeních. Typicky hledáme maximum nebo minimum nějakého cíle (např. zisku, výkonu) za omezených podmínek (rozpočet, kapacita, suroviny apod.)

Úvod k teorii lineárního programování, geometrický význam

Lineární programování (LP) pracuje s lineární cílovou funkcí <mjax>z = c^{T}x</mjax> a konvexním polyedrem definovaným lineárními omezeními (rovnicemi či nerovnicemi).

Hlavními body teorie jsou:

Základní tvar LP

Obecná formulace (kanonický tvar v „nerovnicích“) je:

<mjax> \min\{\,c^{T}x \;\mid\; A\,x = b,\; x \ge 0\,\} </mjax>

Každou úlohu LP lze převést do tohoto rovnicového tvaru pomocí dvou úprav:

1. Přidání nezáporných slack proměnných (nerovností na rovnosti)

2. Vyjádření neomezených reálných proměnných (převedení volných proměnných)

Varianty zadání

Úlohu LP lze převádět mezi různými tvary – např. aby vyhovovala algoritmům (simplex, metoda vnitřního bodu) nebo vizualizaci.

Tím dostaneme kanonický tvar LP – s rovnicemi a nezápornými proměnnými, se kterým umí pracovat všechny běžné algoritmy.

Převod LP do kanonického tvaru

Původní úloha (max): \[ \begin{aligned} \max\; &5\,x_{1} + 4\,x_{2}\\ \text{s podmínkami} \;&x_{1} + 2x_{2} \;\le\; 8,\\ &3x_{1} + x_{2} \;\ge\; 3,\\ &x_{1} - x_{2} \;\le\; 2,\\ &x_{1},\,x_{2} \;\ge\; 0. \end{aligned} \]

Kanonický tvar (min): \[ \begin{aligned} \min\;&-\,5\,x_{1} \;-\; 4\,x_{2}\\ \text{s podmínkami} \;&x_{1} \;+\; 2\,x_{2} \;+\; s_{1} = 8,\\ &3\,x_{1} \;+\; x_{2} \;-\; s_{2} = 3,\\ &x_{1} \;-\; x_{2} \;+\; s_{3} = 2,\\ &x_{1},\,x_{2},\,s_{1},\,s_{2},\,s_{3} \;\ge\; 0. \end{aligned} \]

Typické použití LP

Lineární programování se používá v různých oborech, kde je třeba nalézt nejlepší možné řešení za daných podmínek:

LP slouží jako základ pro složitější varianty – např. celočíselné, nelineární nebo stochastické programování.

Přibližné řešení přeurčené soustavy

Přeurčená soustava rovnic \( A x = b \), kde počet rovnic \( m \) převyšuje počet neznámých \( n \), obvykle nemá přesné řešení. Hledáme proto takové \( x \), které dává nejlepší možné přiblížení – tj. minimalizuje odchylku \( A x - b \) podle zvolené normy.

Typické volby:

Obě tyto úlohy lze převést na lineární programování (LP) zavedením pomocných proměnných a vhodných lineárních omezení.

L∞-norm (max-norm)

Výsledkem je LP v proměnných \((x_1,\dots,x_n,t)\). Optimální \(x^{*}\) minimalizuje největší reziduum.

L₁-norm (taxicab-norma)

Kompletní příklad přeurčené soustavy v L₁ a L∞

Mějme matice a vektory: \[ A = \begin{pmatrix} 1 & 2 \\ 2 & -1 \\ 3 & 1 \end{pmatrix}, \quad b = \begin{pmatrix} 5 \\ 4 \\ 7 \end{pmatrix}. \] Chceme nalézt \(x = (x_{1}, x_{2})\) minimalizující \(\|A\,x - b\|_{1}\).

Formulace v L₁-normě (jako LP) - Bonus

\[ \min_{x_{1},x_{2}} \;\sum_{i=1}^{3} \bigl|\,a_{i}^{T}x - b_{i}\bigr| \;\;\equiv\;\; \min_{x_{1},x_{2},\,u_{1},u_{2},u_{3}}\;u_{1} + u_{2} + u_{3} \] za podmínek (každá absolutní hodnota \(\lvert a_{i}^{T}x - b_{i}\rvert \le u_{i}\)): \[ \begin{cases} x_{1} \;+\; 2\,x_{2} \;-\; 5 \;\le\; u_{1},\\ -(x_{1} \;+\; 2\,x_{2} \;-\; 5) \;\le\; u_{1},\\ 2\,x_{1} \;-\; x_{2} \;-\; 4 \;\le\; u_{2},\\ -\bigl(2\,x_{1} \;-\; x_{2} \;-\; 4\bigr) \;\le\; u_{2},\\ 3\,x_{1} \;+\; x_{2} \;-\; 7 \;\le\; u_{3},\\ -\bigl(3\,x_{1} \;+\; x_{2} \;-\; 7\bigr) \;\le\; u_{3},\\ u_{1},\,u_{2},\,u_{3} \;\ge\; 0,\quad x_{1},\,x_{2} \;\text{volné (neomezené).} \end{cases} \]

Protože \(x_{1}, x_{2}\) jsou volné (nemají \(\ge0\) omezení), převedeme je na rozdíl dvou nezáporných: \[ x_{j} = x_{j}^{+} - x_{j}^{-},\quad x_{j}^{+}\ge0,\;x_{j}^{-}\ge0,\quad j=1,2. \] Pak dostaneme úplné LP: \[ \begin{aligned} \min\;&u_{1} + u_{2} + u_{3}\\ \text{s podmínkami}&\\ & (x_{1}^{+} - x_{1}^{-}) \;+\; 2\,(x_{2}^{+} - x_{2}^{-}) \;-\; 5 \;\le\; u_{1},\\ &-\bigl[(x_{1}^{+} - x_{1}^{-}) \;+\; 2\,(x_{2}^{+} - x_{2}^{-}) \;-\; 5\bigr] \;\le\; u_{1},\\ &2\,(x_{1}^{+} - x_{1}^{-}) \;-\; (x_{2}^{+} - x_{2}^{-}) \;-\; 4 \;\le\; u_{2},\\ &-\bigl[2\,(x_{1}^{+} - x_{1}^{-}) \;-\; (x_{2}^{+} - x_{2}^{-}) \;-\; 4\bigr] \;\le\; u_{2},\\ &3\,(x_{1}^{+} - x_{1}^{-}) \;+\; (x_{2}^{+} - x_{2}^{-}) \;-\; 7 \;\le\; u_{3},\\ &-\bigl[3\,(x_{1}^{+} - x_{1}^{-}) \;+\; (x_{2}^{+} - x_{2}^{-}) \;-\; 7\bigr] \;\le\; u_{3},\\ &x_{1}^{+},\,x_{1}^{-},\,x_{2}^{+},\,x_{2}^{-},\,u_{1},\,u_{2},\,u_{3} \;\ge\; 0. \end{aligned} \]

Formulace v L∞-normě (jako LP) - Bonus

\[ \min_{x_{1},x_{2}} \;\|A\,x - b\|_{\infty} \;\;\equiv\;\; \min_{x_{1},x_{2},\,t}\;t \] za podmínek: \[ \begin{cases} -\,t \;\le\; x_{1} + 2\,x_{2} \;-\; 5 \;\le\; t,\\ -\,t \;\le\; 2\,x_{1} - x_{2} \;-\; 4 \;\le\; t,\\ -\,t \;\le\; 3\,x_{1} + x_{2} \;-\; 7 \;\le\; t,\\ x_{1},\,x_{2} \;\text{volné},\quad t \;\ge\; 0. \end{cases} \] Opět nahradíme volné \(x_{1},x_{2}\) jako rozdíl dvou nezáporných: \[ x_{j} = x_{j}^{+} - x_{j}^{-},\quad x_{j}^{+},\,x_{j}^{-} \ge 0,\quad j=1,2. \] Pak kompletní LP v L∞-normě: \[ \begin{aligned} \min\;&t\\ \text{s podmínkami}&\\ &-\;t \;\le\; (x_{1}^{+} - x_{1}^{-}) + 2\,(x_{2}^{+} - x_{2}^{-}) - 5 \;\le\; t,\\ &-\;t \;\le\; 2\,(x_{1}^{+} - x_{1}^{-}) - (x_{2}^{+} - x_{2}^{-}) - 4 \;\le\; t,\\ &-\;t \;\le\; 3\,(x_{1}^{+} - x_{1}^{-}) + (x_{2}^{+} - x_{2}^{-}) - 7 \;\le\; t,\\ &x_{1}^{+},\,x_{1}^{-},\,x_{2}^{+},\,x_{2}^{-},\,t \;\ge\; 0. \end{aligned} \]

V obou případech (L₁ i L∞) dostaneme LP, které lze řešit metodami simplex či interiér bodu.

Řešení lineárního programu (stručně)

Po převedení LP do kanonického (rovnicového) tvaru <mjax>\min\{\,c^{T}x \mid A\,x = b,\;x \ge 0\},</mjax>

řešíme optimalizační úlohu nad konvexní množinou řešení (polyedrem). Existuje několik přístupů:

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

Polyedr (konvexní mnohostěn)

Extrémní body

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: <mjax>\min\{\,c^T x \mid A x \ge b,\; x \ge 0\,\}</mjax>

K ní přísluší duální úloha: <mjax>\max\{\,b^T y \mid A^T y \le c,\; y \ge 0\,\}</mjax>

Slabá dualita

Silná dualita

Komplementarita

Význam a využití

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šší, protože každé lokální minimum je zároveň globální minimum.

Definice konvexní funkce

Epigraf a subkontura

Podmínky konvexity podle derivací

Pokud je \(f\) diferencovatelná:

Pokud je \(f\) dvakrát diferencovatelná:

Úloha konvexní optimalizace