forked from TH_General/Template_Summary
67 lines
3.6 KiB
TeX
67 lines
3.6 KiB
TeX
\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
|
|
\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 $x<b$: $(x-b)<0\Rightarrow\max_\lambda -\lambda(x-b)=\infty\Rightarrow$ wird von $\min_x$ nicht zugelassen
|
|
\item $x>b$: $(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}
|