Analýza citlivosti

\[\newcommand{\LetThereBe}[2]{\newcommand{#1}{#2}} \newcommand{\letThereBe}[3]{\newcommand{#1}[#2]{#3}}\]\[\letThereBe{\addTag}{2}{\cssId{#1-#2}{\tag{#2}}} \letThereBe{\addLabel}{2}{\cssId{#1-#2}{\text{#2}}} \letThereBe{\refTag}{2}{\href{###1-#2}{(\text{#2})}}\]\[\letThereBe{\eqT}{1}{\addTag{eq}{#1}}\letThereBe{\secT}{1}{\addLabel{sec}{#1}}\]\[\letThereBe{\eqRef}{1}{\refTag{eq}{#1}} \letThereBe{\secRef}{1}{\refTag{sec}{#1}}\]\[\letThereBe{\eqRefAt}{2}{\href{#2\#eq-#1}{(\text{#1})}}\]\[\letThereBe{\secRefAt}{2}{\href{#2\#sec-#1}{(\text{#1})}}\]\[\LetThereBe{\R}{\mathbb{R}} \LetThereBe{\N}{\mathbb{N}}\]\[\letThereBe{\rcases}{1}{\left.\begin{align}#1\end{align}\right\}}\]\[\letThereBe{\rcasesAt}{2}{\left.\begin{alignat}{#1}#2\end{alignat}\right\}}\]\[\letThereBe{\lcases}{1}{\begin{cases}#1\end{cases}}\]\[\letThereBe{\lcasesAt}{2}{\left\{\begin{alignat}{#1}#2\end{alignat}\right.}\]\[\letThereBe{\scal}{2}{\langle #1, #2 \rangle} \letThereBe{\norm}{1}{\left\lVert #1 \right\rVert} \LetThereBe{\dist}{\rho}\]\[\LetThereBe{\and}{\&}\letThereBe{\brackets}{1}{\left\{ #1 \right\}}\]\[\letThereBe{\parc}{2}{\frac {\partial #1}{\partial #2}}\]\[\letThereBe{\mtr}{1}{\begin{pmatrix}#1\end{pmatrix}}\]\[\letThereBe{\bm}{1}{\boldsymbol{#1}} \letThereBe{\mcal}{1}{\mathcal{#1}}\]\[\letThereBe{\vv}{1}{\mathbf{#1}}\letThereBe{\vvp}{1}{\pmb{#1}}\]\[\LetThereBe{\ve}{\varepsilon} \LetThereBe{\l}{\lambda} \LetThereBe{\th}{\vartheta} \LetThereBe{\a}{\alpha} \LetThereBe{\vf}{\varphi}\]\[\letThereBe{\conv}{1}{\mathrm{conv}\, #1} \letThereBe{\cone}{1}{\mathrm{cone}\, #1}\]\[\letThereBe{\aff}{1}{\mathrm{aff}\, #1} \letThereBe{\lin}{1}{\mathrm{Lin}\, #1} \letThereBe{\span}{1}{\mathrm{span}\, #1}\]\[\LetThereBe{\O}{\mathcal O}\]\[\letThereBe{\ri}{1}{\mathrm{ri}\, #1} \letThereBe{\rd}{1}{\mathrm{r}\partial\, #1} \letThereBe{\interior}{1}{\mathrm{int}\, #1}\]\[\LetThereBe{\proj}{\Pi} \letThereBe{\epi}{1}{\mathrm{epi}\, #1}\]\[\letThereBe{\grad}{1}{\mathrm{grad}\, #1} \letThereBe{\gradT}{1}{\mathrm{grad}^T #1} \letThereBe{\gradx}{1}{\mathrm{grad}_x #1} \letThereBe{\hess}{1}{\nabla^2\, #1} \letThereBe{\hessx}{1}{\nabla^2_x #1} \letThereBe{\jacobx}{1}{D_x #1} \letThereBe{\jacob}{1}{D #1}\]\[\letThereBe{\subdif}{1}{\partial #1} \letThereBe{\co}{1}{\mathrm{co}\, #1}\]\[\letThereBe{\iter}{1}{^{[#1]}} \LetThereBe{\str}{^*}\]\[\LetThereBe{\spv}{\mcal V} \LetThereBe{\civ}{\mcal U}\]\[\LetThereBe{\knvxProg}{\eqRefAt{4.1}{./Nutné a postačující podmínky optimality} \, \and \, \eqRefAt{4.2}{./Nutné a postačující podmínky optimality}}\]\[\letThereBe{\set}{1}{\left\{ #1 \right\}}\]

Nyní se budeme věnovat řešení úlohy matematické programování v závislosti na parametru.

První se podíváme na úlohu matematické programování s omezeními pouze ve tvaru rovností, ale s obecnou závislostí na parametrech.

A v druhém (a posledním) případě se podíváme na úlohu s omezeními ve tvaru nerovností, ale s parametry pouze v podobě absolutních členů ve funkcích zadávajících tyto omezení.

Zde je dobré podotknout, že druhý případ je mírně užitečnější a navíc si uvědomme, že 1 rovnost lze napsat jako 2 nerovnosti

Úlohy s rovnostmi

Věta \(\secT{4.4.1}\) (O obálce)

Mějme úlohu

\[f(x,r) \to \min, \qquad g_1(x, r) = 0, \, \dots, \, g_m(x,r) = 0 \eqT{AC.1}\]

kde \(x \in \R^n, r \in \R^k, f, g_1, \dots, g_m \in C^1\). Připusťme, že pro každou hodnotu parametru \(r\) má úloha \(\eqRef{AC.1}\) jediné řešení, které označíme \(x\str (r)\). Potom hodnota úlohy \(\eqRef{AC.1}\) je

\[f\str(r) = f(x\str(r), r).\]

Je-li \(x\str(r)\) diferencovatelná vzhledem k \(r\) a Jacobiho matice \(\jacobx G(x\str (r), r) \in \R^{m\times n}\) má plnou hodnost \(m\), pak platí

\[\parc {} {r_i}f\str(r) = \parc f {r_i} (x\str(r), r) + \sum_{j = 1}^m y_j\str(r) \parc {g_j} {r_i} (x\str(r), r)\]

Obálka je křivka, která se množiny křivek dotýká (tj. se dotýká každé křívky) a má společnou tečnu s danou křivkou

Jinak řečeno je tečná k množině křivek

<div drawio-diagram="28"><img src="https://bookstack.zapadlo.name/uploads/images/drawio/2023-01/drawing-3-1672672543.png"></div>

Požadavky Věty \(\secRef{4.4.1}\) jsou relativně silné, proto uveďme její "slabší verzi".

Věta \(\secT{4.4.2}\)

Nechť \(f, g_1, \dots, g_m \in C^2\) a \(x\str\) je lokálním řešením úlohy

\[f(x) \to \min, \qquad g_1(x) = 0, \dots, g_m(x) = 0\]

s odpovídajícími Lagrangeovými multiplikátory \(y\str\). Nechť dále tato dvojice splňuje postačující podmínku druhého řádu, tj. \(\hessx L(x\str, y\str) > 0\) na \(\ker \jacob G(x\str)\), přičemž současně \(x\str\) je regulárním bodem, tj. \(\jacobx G(x\str) \in \R^{m\times n}\) má plnou hodnost \(m\). Uvažme úlohu parametrického programování

\[f(x) \to \min, \qquad G(x) = u \eqT{AC.2},\]

pro parametr \(u \in \R^m\). Pak existuje otevřená koule \(S\) se středem v počátku (\(u = 0\)) taková, že pro každé \(u \in S\) existuje lokální řešení \(x\str(u) \in \R^n\) úlohy \(\eqRef{AC.2}\) a odpovídající \(y\str(u) \in \R^m\). Navíc \(x\str(\cdot)\) a \(y\str(\cdot)\) jsou spojitě diferencovatelné funkce na \(S\) a platí \(x\str(0) = x\str, y\str(0) = y\str\) a pro každé \(u \in S\) máme

\[\grad f\str(u) = - y\str(u),\]

kde \(f\str(u)\) značí optimální hodnotu úlohy \(\eqRef{AC.2}\) vzhledem k \(u\), tj. klademe \(f\str(u) := f(x\str(u))\).

Jednoduše řečeno se optimální hodnota mění podle Lagrangeových multiplikátorů pro danou hodnotu \(u\)

Úlohy s nerovnostmi

Uvažujme úlohu závislou na \(m\)-tici parametrů \(b = (b_1, \dots, b_m)^T \in \R^m\), tj.

\[f(x) \to \min, \qquad x \in X(b) := \set{x \in P \subseteq \R^n \mid g_i(x) \leq b_i, \, i \in \set{1, \dots, m}} \eqT{4.4.2}\]

A dále zaveďme značení

\[G(x) := (g_1(x), \dots, g_m(x))^T, \quad X(b) := \set{x \in P \mid G(x) \leq b}\]\[B := \set{b \in \R^m \mid X(b) \neq \emptyset}, \quad F(b) := \inf_{x \in X(b)} f(x), \, b \in B\]

množinu K-T vektorů úlohy \(\eqRef{4.4.2}\) označme

\[Y(b) := \set{y \in \R^m \mid y \geq 0, \, F(b) \leq f(x) + \scal{y} {G(x) - b} \, \forall x \in P}\]

a subdifereniál funkce \(F(b)\) (viz Definice \(\secRefAt{2.5.1}{./Subgradient a subdiferenciál a Fenchelova transformace}\)) označme

\[\subdif F(b) := \set{a \in \R^m \mid F(b') - F(b) \geq \scal a {b' - b} \, \forall b' \in B}\]
Věta \(\secT{4.4.3}\)

Nechť množina \(P \subseteq \R^n\) je konvexní, funkce \(f, g_1, \dots, g_m\) jsou konvexní na \(P\) a platí \(0 \in B, F(0) > -\infty\) a \(Y(0) \neq \emptyset\). Potom

  1. množina \(B\) je konvexní
  2. funkce \(F(b)\) je konečná, konvexní a nerostoucí na \(B\)
  3. platí \(\subdif F(b) = -Y(b)\) pro všechna \(b \in B\)

Z předpokladů Věty \(\secRef{4.4.3}\) plyne, že

  • úloha \(\eqRef{4.4.2}\) je přípustná pro \(b = 0\)
  • úloha \(\eqRef{4.4.2}\) má řešení pro \(b = 0\)
  • množina K-T vektorů úlohy \(\eqRef{4.4.2}\) je neprázdná (toto není splněno automaticky, viz Věta \(\secRefAt{4.3.2}{./Duální úloha}\))

Navíc je-li \(F\) dokonce diferencovatelná v \(b\), pak \(\subdif F(b)\) je jednoprvková množina, která obsahuje pouze \(-\gradT F(b)\) a tedy tento vektor musí být roven \((-1) \cdot\) jediný K-T vektor této úlohy. (Toto je analogie Věty O obálce \(\secRef{4.4.1}\))

Podle Věty \(\secRefAt{4.3.6}{./Duální úloha}\) jsme popsali K-T vektory úlohy \(\knvxProg\) pomocí řešení duální úlohy \(\eqRefAt{4.3.1}{./Duální úloha}\). Část 3. této věty jim navíc dává ještě charaketeristiku subgradientu hodnoty úlohy parametrického programování \(\eqRef{4.4.2}\).

V případě regulární úlohy konvexního programování dostáváme zkombinováním těchto dvou výsledků \(\subdif F(b) = - Y\str(b)\), kde \(Y\str(b)\) je množina řešení duální úlohy (viz Věta \(\secRefAt{4.3.6}{./Duální úloha}\)).

Pomocí Věty \(\secRef{4.4.3}\) jsme schopni dostat zajímavé výsledky o původní úloze matematického programování, tj. \(\eqRef{4.4.2}\) s \(b = 0\).

Důsledek \(\secT{4.4.4}\)

Nechť množina \(P \subseteq \R^n\) je konvexní, funkce \(f, g_1, \dots, g_m\) jsou konvexní na \(P\), platí \(F(0) > - \infty\) a existuje \(\bar x \in P\) takové, že \(G(\bar x) < 0\) (viz Slaterova podmínka ve Větě \(\secRefAt{4.3.2}{./Duální úloha}\)). Potom \(0 \in B\) a

  1. funkce \(F(\cdot)\) je spojitá v bodě \(b = 0\)

  2. pro libovolné \(h \in \R^m\) existuje jednostranná směrová derivace

    \[F'_ h(0) = \max_ {y\str \in Y(0)} \scal {-y\str} h\]
  3. funkce \(F\) je diferencovatelná v bodě \(b = 0\) právě tehdy, když \(Y(0)\) je jednoprvková množina, tj. \(Y(0) = \brackets{y\str}\). Navíc platí \(\gradT F(0) = -y\str\).

Z části 3. okamžitě plyne, že pokud existuje více K-T vektorů \(\iff\) funkce \(F\) není diferencovatelná

Fenchelova transformace a duální úloha

Lze ukázat, že pro \(F(b)\) hodnotu primární úlohy je \(F\str(y) = -\vf(y)\) a tedy duální úlohu \(\eqRefAt{4.3.1}{./Duální úloha}\) je možné psát jako

\[-F\str(y) \to \max, \quad y \geq 0\]