Abstrakte Verwendung der Dualität
This commit is contained in:
parent
6a6cbb3e13
commit
92e245e9a6
Binary file not shown.
@ -24,6 +24,7 @@
|
|||||||
%\usepackage{datetime}
|
%\usepackage{datetime}
|
||||||
%\usepackage{xcolor}
|
%\usepackage{xcolor}
|
||||||
\usepackage{lmodern}
|
\usepackage{lmodern}
|
||||||
|
\usepackage[ngerman]{cleveref}
|
||||||
|
|
||||||
% Formatierung
|
% Formatierung
|
||||||
\newcommand*{\algo}[1]{\textsc{#1}}
|
\newcommand*{\algo}[1]{\textsc{#1}}
|
||||||
@ -1058,11 +1059,12 @@ Beträgt der Schlupf 0, so ist die Nebenbedingung scharf.
|
|||||||
Seien $\vec{x}$ und $\vec{y}$ zulässige Lösungen des Primals beziehungsweise Duals.
|
Seien $\vec{x}$ und $\vec{y}$ zulässige Lösungen des Primals beziehungsweise Duals.
|
||||||
Sie sind genau dann optimale Lösungen, wenn für alle $i$ und $j$ $y_j \cdot \left(\row_j\left[A\right] \cdot \vec{y} - b_j\right) = 0$ und $\left(c_i - \row_i\left[\transposed{A}\right]\cdot \vec{y}\right) \cdot x_i =0$ gilt.
|
Sie sind genau dann optimale Lösungen, wenn für alle $i$ und $j$ $y_j \cdot \left(\row_j\left[A\right] \cdot \vec{y} - b_j\right) = 0$ und $\left(c_i - \row_i\left[\transposed{A}\right]\cdot \vec{y}\right) \cdot x_i =0$ gilt.
|
||||||
Die Bedingung können auch als
|
Die Bedingung können auch als
|
||||||
\begin{align*}
|
\begin{align}
|
||||||
y_j > 0 &\Rightarrow \row_j\left[A\right]\cdot\vec{x} = b_j\\
|
y_j > 0 &\Rightarrow \row_j\left[A\right]\cdot\vec{x} = b_j\label{eq:primaler-schlupf}\\
|
||||||
x_i > 0 &\Rightarrow \row_i\left[\transposed{A}\right] \cdot \vec{y} = c_i
|
x_i > 0 &\Rightarrow \row_i\left[\transposed{A}\right] \cdot \vec{y} = c_i \label{eq:dualer-schlupf}
|
||||||
\end{align*}
|
\end{align}
|
||||||
formuliert werden.
|
formuliert werden.
|
||||||
|
Für Approximationsalgorithmen ist vor allem die zweite Aussage wichtig.
|
||||||
\end{satz}
|
\end{satz}
|
||||||
|
|
||||||
\begin{satz}
|
\begin{satz}
|
||||||
@ -1071,4 +1073,18 @@ Beträgt der Schlupf 0, so ist die Nebenbedingung scharf.
|
|||||||
\zeta(\vec{y}) \le \opt(Y_\rel) = \opt(X_\rel) \le \opt(X) = \opt(I) \le z(\vec{x})
|
\zeta(\vec{y}) \le \opt(Y_\rel) = \opt(X_\rel) \le \opt(X) = \opt(I) \le z(\vec{x})
|
||||||
\end{equation*}
|
\end{equation*}
|
||||||
\end{satz}
|
\end{satz}
|
||||||
|
|
||||||
|
\subsection{Verwendung der Dualität für Approximationsalgorithmen}
|
||||||
|
\subsubsection{Entwurf neuer Algorithmen mittels Dual Fitting}
|
||||||
|
Beim Dual-Fitting wird allgemein versucht, \Cref{eq:dualer-schlupf} zu erfüllen.
|
||||||
|
Zunächst wird dazu eine zulässige Lösung $\vec{y}$ des Duals bestimmt, bei der einige Nebenbedingungen scharf sind.
|
||||||
|
Die den scharfen Nebenbedingungen entsprechenden Variablen $x_i$ des Primals werden dann als Approximation auf 1 gesetzt, die anderen auf 0.
|
||||||
|
Das so entstandene $\vec{x}$ gibt mit $z(\vec{x})$ eine obere Schranke an.
|
||||||
|
Die Qualität der Lösung hängt dabei stark von der Qualität des ursprünglich bestimmten $\vec{y}$ ab.
|
||||||
|
|
||||||
|
\subsubsection{Analyse bestehender Algorithmen}
|
||||||
|
Ein bestehender Algorithmus, der eine 0-1-Lösung des ursprünglichen ILPs $X$ berechnet, wird so erweitert, dass er gleichzeitig eine zulässige Lösung $\vec{y}$ für $Y_\rel$ konstruiert.
|
||||||
|
Da $\vec{x}$ und $\vec{y}$ von einander abhängen, hängt auch $z(\vec{x})$ von $\vec{y}$ ab.
|
||||||
|
Kann daraus der Wert $\zeta(\vec{y})$ isoliert werden, kann eine obere Schranke des Wertes der Lösung zu $I$ berechnet werden.
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
Loading…
Reference in New Issue
Block a user