BinPacking
This commit is contained in:
parent
fc38c96dac
commit
34a09b247d
Binary file not shown.
@ -106,6 +106,10 @@
|
|||||||
\newcommand{\vertexcover}{\problem{VertexCover}}
|
\newcommand{\vertexcover}{\problem{VertexCover}}
|
||||||
\newcommand{\greedyvc}{\algo{GreedyVC}}
|
\newcommand{\greedyvc}{\algo{GreedyVC}}
|
||||||
|
|
||||||
|
% BinPacking
|
||||||
|
\newcommand{\binpacking}{\problem{BinPacking}}
|
||||||
|
\newcommand{\nextfit}{\algo{NextFit}}
|
||||||
|
|
||||||
% Beweisumgebungen
|
% Beweisumgebungen
|
||||||
\newtheorem*{satz}{Satz}
|
\newtheorem*{satz}{Satz}
|
||||||
\newtheorem*{lemma}{Lemma}
|
\newtheorem*{lemma}{Lemma}
|
||||||
@ -237,6 +241,14 @@ Spezialfall von \setcover:
|
|||||||
\ziel &= \min
|
\ziel &= \min
|
||||||
\end{align*}
|
\end{align*}
|
||||||
|
|
||||||
|
\subsubsection{Das Behälterproblem \binpacking}
|
||||||
|
\begin{align*}
|
||||||
|
\domain &= \{M \mid M = \left\{a_1,\dots, a_n\right\}, 1 \ge s(a_1)\ge\dots\ge s(a_n)\ge 0\}\\
|
||||||
|
\solution(M) &= \{ B \mid B = \{B_1, \dots,B_k\}, \cupdot_{B_i\in B} B_i = M, \forall B_i \in B: s(B_i)\le 1\}\\
|
||||||
|
f(M) &= \abs{M}\\
|
||||||
|
\ziel &= \min
|
||||||
|
\end{align*}
|
||||||
|
|
||||||
\subsection{$t(n)$-Zeit-Approximationsalgorithmus}
|
\subsection{$t(n)$-Zeit-Approximationsalgorithmus}
|
||||||
Berechnet ein Algorithmus $A$ in Zeit $t(\abs{I})$ eine Ausgabe $\sigma_I^A \in \solution(I)$ für Eingabe $I \in \domain$, wird er als $t(n)$-Zeit-Approximationsalgorithmus bezeichnet. Es gilt die Schreibweise $A(I) = f(\sigma_I^A)$.
|
Berechnet ein Algorithmus $A$ in Zeit $t(\abs{I})$ eine Ausgabe $\sigma_I^A \in \solution(I)$ für Eingabe $I \in \domain$, wird er als $t(n)$-Zeit-Approximationsalgorithmus bezeichnet. Es gilt die Schreibweise $A(I) = f(\sigma_I^A)$.
|
||||||
|
|
||||||
@ -649,6 +661,23 @@ Sei $\Pi$ ein Optimierungsproblem und $A$ ein Approximationsalgorithmus für $\P
|
|||||||
Wenn \greedyvc{} zwei Knoten hinzufügt, könnte es auch ausreichen, nur eine einzelne Kante aufzunehmen.
|
Wenn \greedyvc{} zwei Knoten hinzufügt, könnte es auch ausreichen, nur eine einzelne Kante aufzunehmen.
|
||||||
\end{proof}
|
\end{proof}
|
||||||
|
|
||||||
|
\section{\nextfit{} für \binpacking}
|
||||||
|
\begin{algorithmic}[1]
|
||||||
|
\State $k = 1$
|
||||||
|
\State $B_1 = \emptyset$
|
||||||
|
\ForAll{$i \in \{1,\dots,n\}$}
|
||||||
|
\If{$s(a_i)+ s(B_k) > 1$}
|
||||||
|
\State $k = k+1$
|
||||||
|
\State $B_k = \emptyset$
|
||||||
|
\EndIf
|
||||||
|
\State $B_k = B_k \cup \{a_i\}$
|
||||||
|
\EndFor
|
||||||
|
\State \Return $(B_1,\dots,B_k)$
|
||||||
|
\end{algorithmic}
|
||||||
|
\begin{satz}
|
||||||
|
\nextfit{} approximiert \binpacking mit relativer Gütegarantie $\rho_\nextfit = 2$.
|
||||||
|
\end{satz}
|
||||||
|
|
||||||
\section{Christofides' Algorithmus \algo{CH} für $\deltatsp$}
|
\section{Christofides' Algorithmus \algo{CH} für $\deltatsp$}
|
||||||
Ein Matching $M$ eines kantengewichteten Graphen $G$ ist ein Teilgraph von $G$ mit $\Delta(G) \le 1$. Ist $G$ ein vollständiger Graph mit $\abs{V}$ gerade, dann gibt es perfekte Matchings. In einem perfekten Matching haben alle Knoten genau den Grad 1. Ein perfektes Matching mit kleinstmöglichem Gewicht wird als leichtestes Matching bezeichnet. Ein solches leichtestes Matching kann in $\bigO(n^{2.5}\cdot (\log n)^4)$ berechnet werden.
|
Ein Matching $M$ eines kantengewichteten Graphen $G$ ist ein Teilgraph von $G$ mit $\Delta(G) \le 1$. Ist $G$ ein vollständiger Graph mit $\abs{V}$ gerade, dann gibt es perfekte Matchings. In einem perfekten Matching haben alle Knoten genau den Grad 1. Ein perfektes Matching mit kleinstmöglichem Gewicht wird als leichtestes Matching bezeichnet. Ein solches leichtestes Matching kann in $\bigO(n^{2.5}\cdot (\log n)^4)$ berechnet werden.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user