\chapter{Constraint Optimization}% \label{cha:Constraint Optimization} Um zu erklären, was es mit der Constraint Optimization auf sich hat, lohnt es sich ein einfaches Beispiel zu betrachten Es soll $\argmin_x x^2$ für $x\ge b$ ermittelt werden. Abhängig davon, wie $b$ gewählt wird ist das Minimum gleich dem globalen Minimum oder gleich dem Grenzwert: \begin{center} \includegraphics[width = .6\textwidth]{constraint_optimization.png} \end{center} \section{Lagrangian Multipliers}% \label{sec:Lagrangian Multipliers} Eine Möglichkeit ein Constraint Optimization Problem (für konvexe Funktionen) zu lösen sind die Lagrangian Multiplier. Hierzu wird die Langrangesche Funktion gebildet: \begin{equation} \label{eq:Lagrangian} L = \text{objective} - \text{multiplier}\cdot \text{constraint} \end{equation} Hierbei ist die \say{objective} die Funtion die Optimiert werden soll. Allgemein schreibt man für eine zu minimierende Funktion $f(\bm x)$ und eine Menge von Constraints $h_i(\bm x)\le b_i$ ($i=1\dots K$): \begin{equation} \label{eq:lagrangian_function} L(\bm x,\bm\lambda)=f(\bm x)-\sum_{i=1}^K\lambda_i(h_i(\bm x) - b_i)\qquad \lambda_i\ge 0\forall i=1\dots K \end{equation} Die Lagrangian Optimization erfolgt anschließend durch: \begin{equation} \label{eq:lagrangian_optimization} \min_{\bm x} \max_{\bm\lambda} L(\bm x,\bm\lambda) \end{equation} Wenn sowohl die Funktion $f$ als auch die Constraints $h$ konvex sind dürfen $\min_{\bm x}$ und $\max_{\bm\lambda}$ \say{getauscht} werden. Man spricht hierbei dann von einem Dual Optimization Problem \begin{equation} \label{eq:dual_optimization_problem} \bm\lambda^*=\argmax_{\bm\lambda} g(\bm\lambda), g(\bm\lambda)= \min_{\bm x}L(\bm x,\bm\lambda) \end{equation} Hieraus ergibt sich der folgende Ablauf für die Lagrangian Optimization \pagebreak \begin{mybox} \textbf{\large Lagrangian Optimization}\\ \begin{enumerate} \item Die Langrangesche Funktion ermitteln $$L(\bm x,\bm\lambda) = f(\bm x)-\sum_{i=1}^K \lambda_i(h_i(\bm x) - b_i)$$ \item Die optimale Lösung für die Grundparameter (primal parameters) ermitteln $$\frac{\partial L(\bm x,\bm\lambda)}{\partial x}=0\rightarrow\bm x^* = f(\bm\lambda)$$ \item $\bm x^*$ wieder in die Langrangesche Funktion einsetzen um die Dual Function zu erhalten $$ g(\bm\lambda) = L(f(\bm\lambda),\bm\lambda)$$ \item Die optimale Lösung für die Dual Function ermitteln $$\bm\lambda^* = \argmax_{\bm\lambda} g(\bm\lambda), \lambda_i\ge 0 \forall i$$ \item Die Optimale Gesamtlösung errechnen $$\bm x^* = f(\bm\lambda^*)$$ \end{enumerate} \end{mybox} \subsection{Erklärung am Beispiel}% \label{sub:Erklärung am Beispiel} Für unser Beispiel ($\argmin_x x^2, x\ge b$) ergibt sich die Langrangesche Funktion: \begin{equation} \label{eq:lagrangian_example} L(x,\lambda) = \underbrace{x^2}_{\text{objective}}-\underbrace{\lambda}_{\text{multiplier}} \cdot \underbrace{(x-b)}_{\text{constraint}} \end{equation} Das hat den Effekt, dass $\min_x$ und $\max_\lambda$ gegeneinander ankämpfen. Die Anwendung der Lagrangian Optimization führt im Beispiel zu: \begin{itemize} \item $xb$: $(x-b)>0, \lambda>0\Rightarrow\lambda^*=0\Rightarrow$ constraint hat keinen Einfluss \item $x=b$: $\lambda$ ist irrelevant $\Rightarrow$ constraint hat keinen Einfluss \end{itemize} Abschließend erfolgt die Optimierung nach dem oben aufgeführten Prinzip:\\ \includegraphics[width=.8\textwidth]{lagrangian_optimization_example.png}