aufgabe 2
This commit is contained in:
parent
ab4b93890d
commit
c7b83c1a42
5 changed files with 910 additions and 1 deletions
|
|
@ -1 +1,96 @@
|
|||
\section{Straßenreparatur mittels Linearer Programmierung und Flüssen}
|
||||
% vim: ft=tex
|
||||
\section{Straßenreparatur mittels Linearer Programmierung und Flüssen}
|
||||
\begin{quote}
|
||||
Gegeben sei ein ungerichteter Graph $G = \tup{V, E}$, der ein Verkehrsnetzwerk darstellt,
|
||||
wobei jeder Knoten $v \in V$ eine Stadt repräsentiert und jede Kante $e = \set{u, v}$ eine Straße
|
||||
zwischen den Städten $u$ und $v$.
|
||||
|
||||
Die Straßen müssen erneuert werden. Dabei sind für jede Straße $e \in E$ Reparaturkosten
|
||||
nötig, die durch eine Funktion $r: E \to~\RR_{\geq 0}$ gegeben sind. Zusätzlich hat jede Stadt $v \in V$
|
||||
nur ein begrenztes Budget, das durch eine Funktion $B: V \to \RR_{\geq 0}$ gegeben ist.
|
||||
\end{quote}
|
||||
\begin{tasks}
|
||||
\item Seien $u_e, v_e \in \RR_{\geq 0}$ die Reparaturbeträge, die Stadt $u$ und $v$ für eine inzidente Straße
|
||||
$e$ zahlen. Um $u_e, v_e$ zu erhalten gehen wir durch die Adjazenzliste und vermerken pro Kante die inzidenten Knoten.
|
||||
Dann müssen wir folgendes lineares Programm lösen.
|
||||
|
||||
Zielfunktion:
|
||||
$$
|
||||
\argmax \sum_{e \in E} u_e + v_e
|
||||
$$
|
||||
|
||||
Für alle $e \in E$ gilt
|
||||
$$
|
||||
r(e) - (u_e + v_e) \leq 0
|
||||
$$
|
||||
Damit stellen wir sicher, dass die vollen Reparaturkosten bezahlt werden.
|
||||
|
||||
Für alle $u \in V$ und zu $u$ inzidente Kanten $I$ gilt
|
||||
$$
|
||||
\sum_{e \in I} u_e \leq B(u)
|
||||
$$
|
||||
Damit stellen wir sicher, dass das Budget einer Stadt nicht überschritten wird.
|
||||
|
||||
Wenn die Zielfunktion den Wert der Summe aller Reparaturkosten hat, haben
|
||||
wir eine Lösung gefunden.
|
||||
\points{3}
|
||||
|
||||
\item Sei $x_e \in \set{0, 1}$ der Indikator, ob Stadt $x$ die Reparaturkosten der inzidenten Straße $e$ trägt. Dann müssen wir folgendes ganzahlig lineares Programm lösen.
|
||||
|
||||
Zielfunktion:
|
||||
$$
|
||||
\argmax \sum_{e \in E} x_e
|
||||
$$
|
||||
|
||||
Für alle $e \in E$ und deren inzidente Knoten $x, y$ gilt
|
||||
$$
|
||||
x_e + y_e \leq 1
|
||||
$$
|
||||
Damit Stellen wir sicher, dass nur eine Stadt die Reparaturkosten einer Staße trägt.
|
||||
|
||||
Für alle $x \in V$ und zu $x$ inzidente Kanten $I$ gilt
|
||||
$$
|
||||
\sum_{e \in I} x_e \cdotp r(x) \leq B(x)
|
||||
$$
|
||||
Damit stellen wir sicher, dass das Budget einer Stadt nicht überschritten wird.
|
||||
|
||||
Wenn die Zielfunktion den Wert der Anzahl an Knoten hat, haben wir eine
|
||||
Lösung gefunden.
|
||||
\points{2}
|
||||
|
||||
\item
|
||||
Das Problem kann wie in \autoref{fig:flow} als Fluss modelliert werden.
|
||||
|
||||
\begin{itemize}
|
||||
\item Dabei ist $s$ der Startknoten und $t$ der Zielknoten.
|
||||
|
||||
\item Die Kantenkapazitäten von $s$ zu den Städten $v_i \in V$ ist das Budget $B(v_i)$.
|
||||
|
||||
\item Die Kantenkapazitäten von $v_i$ zu den Straßen $e_j \in E$ müssen jeweils
|
||||
größer als $r(e_j)$ sein. Jede Straße $e_j$ hat genau zwei eingehende Kanten von
|
||||
den beiden inzidenten Städten.
|
||||
|
||||
\item Die Kantenkapazitäten von $e_j$ zu $t$ sind die Reparaturkosten $r(e_j)$
|
||||
\end{itemize}
|
||||
Wenn ein zulässiger Fluss alle in $t$ eingehenden Kanten füllt, dann gibt es
|
||||
eine Lösung für das Problem.
|
||||
|
||||
Das Modell ist korrekt, da
|
||||
\begin{itemize}
|
||||
\item Die Beiträge, die eine Stadt $v_i$ leisten kann von den
|
||||
eingehenden Kantenkapazitäten limitiert werden.
|
||||
\item Die Straßen $e_j$ genau zwei eingehende Kanten haben.
|
||||
\item Die Reparaturkosten einer Straße $e_j$ von den ausgehenden Kantenkapazitäten
|
||||
limitiert werden.
|
||||
\end{itemize}
|
||||
|
||||
\points{4}
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[page=2, width=0.8\textwidth]{figures.pdf}
|
||||
\caption{Das Problem als Flussproblem. Die blauen Knoten sind Städte und die orangenen Straßen.}
|
||||
\label{fig:flow}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\end{tasks}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue