1
0
mirror of https://github.com/2martens/uni.git synced 2026-05-07 03:46:25 +02:00

24 Commits

Author SHA1 Message Date
a6f03dd921 GDB-1: Lösung für Transaktionen aktualisiert. 2013-10-30 21:29:31 +01:00
b496c8d048 AD-2: 1 und 4 gelöst. 2013-10-30 20:43:09 +01:00
5f9084db1c AD-2: Blatt 2 Rohversion ohne Inhalt erstellt. 2013-10-30 18:18:42 +01:00
b36ce7c31a AD-Gruppe_8_Krabbe_Martens.tex umbenannt, um verschiedene Blätter zu unterscheiden. 2013-10-30 18:15:03 +01:00
4ba5f6f8f6 Dateinamen und Headervorgaben umgesetzt. 2013-10-30 18:09:11 +01:00
065ae97656 MATH2-Inf-3: 2a,b komplett gelöst; 1a größtenteils und 1b unter Vorbehalt 2013-10-30 17:58:14 +01:00
46bcd93de3 überflüssiges Plus entfernt 2013-10-30 17:57:15 +01:00
b97399d71c MATH2-Inf-1: Nach Erhalt von Lösung korrigiert. 2013-10-28 21:01:18 +01:00
54906bab74 GDB: Converted to unicode. 2013-10-27 18:32:20 +01:00
dc1219fded SE3-1: 2.2 und 2.3 geloest. 2013-10-27 14:48:04 +01:00
6cbe8d1aa9 GDB-1: Aufgaben 1 und 3 ergaenzt. 2013-10-27 11:20:46 +01:00
42ed9aaa89 SE3-1: 4c korrigiert. 2013-10-26 13:23:23 +02:00
ff08346dbd SE3-1: 2.1 geloest (funktioniert). 2013-10-25 13:30:26 +02:00
e52bfa225c GDB-1: 2 und 4 soweit geloest. 2013-10-24 18:40:27 +02:00
8cbf4666d0 GDB-1: Initialversion von Blatt 1 samt Vorlage. 2013-10-24 16:13:10 +02:00
996d99d393 MATH2-Inf-2: 2 geloest. 2013-10-24 15:27:08 +02:00
5e2b1503d4 SE3-1: 2.1 ansatzweise geloest (funzt noch nicht). 2013-10-24 14:22:48 +02:00
1c4d015147 SE3-1: Aufgabe 1 geloest. 2013-10-24 12:56:43 +02:00
ca6fb5942a SE3-1: leere Version Blatt 1 erstellt. 2013-10-24 12:40:31 +02:00
d6862e2a24 Added *.bak to gitignore. 2013-10-24 12:39:59 +02:00
70a3bebaea Added .zip to gitignore. 2013-10-24 12:31:09 +02:00
c251cd044f MATH2-Inf-2: 1b geloest. 2013-10-23 20:56:18 +02:00
f36ff887df MATH2-Inf-2: 1a geloest. 2013-10-23 18:40:42 +02:00
23074dcb68 MATH2-Inf-2: Grundstruktur zweites Blatt erstellt. 2013-10-23 17:14:37 +02:00
12 changed files with 1966 additions and 3 deletions

3
.gitignore vendored
View File

@ -2,6 +2,7 @@
*.acr
*.alg
*.aux
*.bak
*.bbl
*.blg
*.dvi
@ -27,8 +28,8 @@
*.ps
*.snm
*.synctex.gz
*.tex.bak
*.toc
*.vrb
*.xdy
*.tdo
*.zip

View File

@ -27,8 +27,9 @@
\makeatother
\begin{document}
\author{Tronje Krabbe, Jim Martens}
\author{Tronje Krabbe, Jim Martens (6420323)}
\title{Hausaufgaben zum 22. Oktober}
\subtitle{Gruppe 8}
\maketitle
\section{} %1
\subsection{} %a

View File

@ -0,0 +1,142 @@
\documentclass[10pt,a4paper,oneside,ngerman,numbers=noenddot]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{paralist}
\usepackage{gauss}
\usepackage{pgfplots}
\usepackage{textcomp}
\usepackage[locale=DE,exponent-product=\cdot,detect-all]{siunitx}
\usepackage{tikz}
\usetikzlibrary{matrix,fadings,calc,positioning,decorations.pathreplacing,arrows,decorations.markings}
\usepackage{polynom}
\polyset{style=C, div=:,vars=x}
\pgfplotsset{compat=1.8}
\pagenumbering{arabic}
\def\thesection{\arabic{section})}
\def\thesubsection{(\alph{subsection})}
\def\thesubsubsection{(\roman{subsubsection})}
\makeatletter
\renewcommand*\env@matrix[1][*\c@MaxMatrixCols c]{%
\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{#1}}
\makeatother
\begin{document}
\author{Tronje Krabbe, Jim Martens (6420323)}
\title{Hausaufgaben zum 6. November}
\subtitle{Gruppe 8}
\maketitle
\section{} %1
\subsection{} %a
In Level $l$ liegen maximal $k^{l}$ Knoten. Dies ist in einem vollen Baum auf jeder Ebene gegeben.
\subsection{} %b
Ein voller Baum der Tiefe $l$ hat auf der untersten Ebene $k^{l}$ Knoten. Daraus ergibt sich diese Summe:
\[
\sum\limits_{i=0}^{l} k^{i}
\]
Dies gilt da in einem vollen Baum die Anzahl Knoten in einer Ebene immer einer Potenz von $k$ entsprechen.
\subsection{} %c
Ein vollständiger Baum der Tiefe $l$ gleicht bis auf die letzte Ebene einem vollen Baum. In der letzten Ebene $l$ kommen maximal $k^{l} - 1$ Knoten vor, damit es ein vollständiger Baum, aber kein voller Baum ist. Daraus ergibt sich diese leicht abgewandelte Formel:
\[
\sum\limits_{i=0}^{l-1} \left(k^{i}\right) + c : 1 \leq c < k^{l}
\]
\subsection{} %d
Jeder Knoten hat genau ein Elternknoten mit dem er über eine Kante verbunden ist. Einzige Ausnahme ist der Wurzelknoten, der kein Elternelement hat und damit auch keine Kante, die mit einem solchen verbunden sein könnte. Daher gibt es genau $n-1$ Kanten.
\section{} %2
\subsection{} %a
\subsection{} %b
\subsection{} %c
\subsection{} %d
\subsection{} %e
\section{} %3
\subsection{} %a
\begin{alignat*}{2}
f(x) &=& x \cdot \frac{\ln(n)}{\ln(x)} \\
&=& \frac{x}{\ln(x)} \cdot \ln(n) \\
f'(x) &=& \left(\frac{x}{\ln(x)} \cdot \ln(n)\right)' \\
&=& \left(\frac{x}{\ln(x)}\right)' \cdot \ln(n) \\
&=& \frac{\ln(x) - 1}{\ln^{2}(x)} \cdot \ln(n) \\
\intertext{Einsetzen von $e$ für $x$}
f'(e) &=& \frac{\ln(e) - 1}{\ln^{2}(e)} \cdot \ln(n) \\
&=& \frac{1 - 1}{1^{2}} \cdot \ln(n) \\
&=& 0 \\
\intertext{Da $f'(x)$ offensichtlich nur eine Nullstelle hat, haben wir hiermit die einzige Extremstelle von $f$ gefunden.}
f(e) &=& \frac{e}{\ln(e)} \cdot \ln(n) \\
&=& e \cdot \ln(n)
\end{alignat*}
Das Ergebnis der letzten Gleichung ist somit das Minima von $f$. Als weitere Absicherung kann das asymptotische Wachstum betrachtet werden. Für einen kleineren Wert als $e$, ist $\ln(x)$ kleiner als $1$. Das Teilen von $x$ durch diesen Wert geringer als $1$ sorgt dafür, dass das Ergebnis größer als $x$ ist. Lässt man $x$ gegen $1$ laufen, läuft der Bruch gegen unendlich. Auf der anderen Seite kann man $x$ gegen unendlich gehen lassen, dann läuft der Bruch auch gegen unendlich, da eine lineare Funktion schneller wächst, als eine logarithmische. Der konstante Faktor am Ende kann dabei außer Acht gelassen werden.
\subsection{} %b
\subsection{} %c
\subsection{} %d
\subsection{} %e
\subsection{} %f
\section{} %4
\subsection{} %a
merge (2 2 5 7 9, 1 2 4 8) \\
1 $\circ$ merge (2 2 5 7 9, 2 4 8) \\
1 2 $\circ$ merge (2 5 7 9, 2 4 8) \\
1 2 2 $\circ$ merge (5 7 9, 2 4 8) \\
1 2 2 2 $\circ$ merge (5 7 9, 4 8) \\
1 2 2 2 4 $\circ$ merge (5 7 9, 8) \\
1 2 2 2 4 5 $\circ$ merge (7 9, 8) \\
1 2 2 2 4 5 7 $\circ$ merge (9, 8) \\
1 2 2 2 4 5 7 8 $\circ$ merge (9, []) \\
1 2 2 2 4 5 7 8 9
\subsection{} %b
Input 6 7 8 3 4 2 9 1 \\
Rekursiv in einzelne Ziffern zerlegt und dann zusammengefügt: \\
\begin{tikzpicture}
\tikzset{
position label/.style={
below = 3pt,
text height = 1.5ex,
text depth = 1ex
},
brace/.style={
decoration={brace, mirror},
decorate
}
}
\node [position label] (a1) at (0,0) {$6$};
\node [position label] (a2) at (0.5,0) {$7$};
\node [position label] (a3) at (1,0) {$8$};
\node [position label] (a4) at (1.5,0) {$3$};
\node [position label] (a5) at (2,0) {$4$};
\node [position label] (a6) at (2.5,0) {$2$};
\node [position label] (a7) at (3,0) {$9$};
\node [position label] (a8) at (3.5,0) {$1$};
\draw [brace] (a1.south) -- (a2.south);
\draw [brace] (a3.south) -- (a4.south);
\draw [brace] (a5.south) -- (a6.south);
\draw [brace] (a7.south) -- (a8.south);
\node [position label] (b1) at (0.25,-0.7) {$67$};
\node [position label] (b2) at (1.25,-0.7) {$38$};
\node [position label] (b3) at (2.25,-0.7) {$24$};
\node [position label] (b4) at (3.25,-0.7) {$19$};
\draw [brace,decoration={raise=4ex}] (a1.south) -- (a4.south);
\draw [brace,decoration={raise=4ex}] (a5.south) -- (a8.south);
\node [position label] (c1) at (0.75,-1.4) {$3678$};
\node [position label] (c2) at (2.75,-1.4) {$1249$};
\draw [brace,decoration={raise=8ex}] (a1.south) -- (a8.south);
\node [position label] (d1) at (1.75,-2.1) {$12346789$};
\end{tikzpicture}
\subsection{} %c
Eine Möglichkeit eine absteigende Sortierung zu erreichen, ist das Umkehren von $x[1] \leq y[1]$ zu $x[1] \geq y[1]$.
Eine andere Möglichkeit ist das Vertauschen der Fälle in der \texttt{if}-Abfrage. Dabei bleibt die Bedingung der Abfrage gleich, allerdings wird statt dem ersten Element von $x$ das erste Element von $y$ genommen. Im \texttt{else}-Fall wird dann dementsprechend das erste Element von $x$ genommen.
\section{} %5
\subsection{} %a
\subsection{} %b
\end{document}

View File

@ -0,0 +1,128 @@
\documentclass[ngerman]{gdb-aufgabenblatt}
\renewcommand{\Aufgabenblatt}{1}
\renewcommand{\Ausgabedatum}{Mi. 16.10.2013}
\renewcommand{\Abgabedatum}{Fr. 01.11.2013}
\renewcommand{\Gruppe}{Tim Dittrich, Sebastian Lindemann, Jim Martens}
% define how the sections are rendered
\def\thesection{Aufgabe \arabic{section}:}
\def\thesubsection{\alph{subsection})}
\def\thesubsubsection{(\roman{subsubsection})}
\begin{document}
\section{Informationssysteme}
\subsection{} %a
Ein Informationssystem zeichnen sich durch Kommunikationsbeziehungen zwischen Menschen und Maschine aus. Rechnergestützte Informationssysteme beinhalten automatisierte Anwendungssysteme, welche zur Beschaffung, Speicherung, Veränderung und Veranschaulichung von Informationen genutzt werden.
Die Informationen dienen dazu zielorientiertes Wissen zu generieren. Dieses Wissen dient dann wiederum zur Vorbereitung und Durchführung von Handlungen und Entscheidungen. Somit werden Informationssysteme beispielsweise genutzt um Arbeitsabläufe im Unternehmen zu organisieren und unterstützen.
\subsection{} %b
Legt man die 3-Schicht-Architektur eines Datenbankmanagementsystems (DBMS), mit der Sicht-Ebene, logischen Ebene und physischen Ebene zu Grunde, so kann man generell Datenunabhängigkeit als die Immunität der einzelnen Schichten auf Änderungen innerhalb der nächsten tieferen Schicht beschreiben. Um im Folgenden den Unterschied zwischen der logischen und physischen Datenunabhängigkeit leichter verdeutlichen zu können folgendes Szenario:
Es gebe eine Anwendung zum Verwalten von Immobilien für Immobilienmakler. Dabei gibt es 2 Sichten auf die Daten (Sicht-Ebene). Einmal die "`Chefsicht"' auf alle Daten und die "`Verkäufersicht"' auf nur ein Teil der Daten. Alle Immobilen werden in einer Tabelle gespeichert (logische Ebene) und es werden verschiedene Indexstrukturen und Algorithmen für die Optimierung von Abfragen verwendet (physische Ebene).
Die physische Datenunabhängigkeit bezieht sich auf die beiden unteren Ebenen (logische- und physische-Ebene). Wird beispielsweise der Speicherort einzelner Daten aus optimierungstechnischen Gründen geändert, hat dies kein Einfluss auf das festgelegte Schema. Die beiden Ebenen sind also voneinander entkoppelt.
Die logische Datenunabhängigkeit bezieht sich auf die beiden oberen Schichten (Sicht-und logische-Ebene). Kommt es zu einer Änderung im Schema, beispielsweise es wird ein Attribut in der Tabelle hinzugefügt, hat dies im Idealfall keinen Einfluss auf die einzelnen Sichten. In der Praxis ist dies nicht immer ganz so leicht umsetzbar. Aber die logische Datenunabhängigkeit hat große Vorteile, so muss im besten Fall nichts an der Anwendung geändert werden wenn es zu einer Änderung am Schema kommt.
\subsection{} %c
Informationssysteme werden zum Beispiel im öffentlichen Nahverkehr verwendet, um den Informationsbedarf von Passagieren bezüglich Fahrplanauskunft oder anderen Informationsinhalten zu befriedigen. Steht ein Passagier an einer Bushaltestelle werden ihm beispielsweise mit Hilfe geeigneter Informations- und Kommunikationstechnik mögliche Verspätungen oder die Ankunftszeit des nächsten Busses auf einem Bildschirm angezeigt. Hierfür reicht es nicht statische Daten in einer Datenbank abzulegen, sondern es werden dynamische Informationen über den derzeitigen Aufenthaltsort der einzelnen Busse benötigt. Dies geschieht in der Praxis mit modernen Sende- und Empfangseinheiten.
Auch im Gesundheitswesen kommen Informationssysteme zum Einsatz, um Patienteninformationen zu verwalten und am richtigen Ort zur richtigen Zeit zur Verfügung zu stellen. Zum einen werden bei der Ankunft von Patienten im Krankenhaus neue Daten über deren derzeitigen Gemütszustand erhoben, zum anderen ist es besonders wichtig für einen behandelnden Arzt Einsicht in die Patientenakte zu haben, um über mögliche Vorerkrankungen informiert zu sein.
Es ist vorstellbar, dass aus der Patientenakte die wichtigsten Informationen automatisiert zusammengefasst und in geeigneter Form kompakt dem Arzt dargestellt werden. An diesem Beispiel wird sehr gut die Kommunikationsbeziehung zwischen Mensch und Maschine deutlich.
Ein weiteres Anwendungsbeispiel ist die intelligente Routenplanung im Logistikwesen. Der Ölpreis steigt seit Jahren und es wird dadurch immer wichtiger Treibstoff einzusparen. Hierbei kommen nicht nur mathematische Optimierungsverfahren zum Einsatz, um eine möglichst kurze Strecke zu berechnen, sondern auch beispielsweise die Bewertung aktueller Verkehrsinformationen um Staus oder Sperrungen mit in die Routenplanung einzubeziehen. Hierfür kommen natürlich wieder Informationssysteme zum Einsatz. Auch interessant ist der Einsatz bei der Live-Planung wobei Routen geändert werden können, um zusätzliche Aufträge mit in die geplante Route zu integrieren.
\section{Miniwelt}
\subsection{} %a
Anhand der Beschreibung der Miniwelt werden folgende Objekttypen benötigt, die jeweils explizite oder implizite Funktionalitäten haben.
\begin{itemize}
\item Mitglieder: können sich am System anmelden und müssen daher identifizierbar sein (Name, EMail, Passwort)
\item Tippspielgemeinschaften: haben einen Namen und einen Gründer, der ein Mitglied ist
\item Wettbewerbe: werden einer Tippspielgemeinschaft zugeordnet
\item Begegnungen: werden einem Wettbewerb zugeordnet, beinhalten die Info wer gegen wen spielt und was für ein Ergebnis herauskommt
\item Tipps: werden einem Mitspieler und einer Begegnung zugeordnet und enthalten den eigentlichen Tipp
\item Punkte: werden einem Mitspieler und einer Tippspielgemeinschaft zugeordnet und enthalten die Punkte des Mitspielers in der Gemeinschaft
\end{itemize}
Ergänzend zu den genannten Objekttypen, die je eine Tabelle im konzeptuellen Schema ausmachen, gibt es noch eine Tabelle, die Mitglieder den Tippspielgemeinschaften zuordnet.
Folgende Vorgänge müssen durch die Anwendung abgebildet werden:
\begin{itemize}
\item Anmeldung bei Anwendung
\item Registrierung bei Anwendung
\item Gründen einer Tippspielgemeinschaft
\item Erstellen eines Wettbewerbs für eine Gemeinschaft
\item Erstellen von Begegnungen für einen Wettbewerb
\item Eintragen von Ergebnissen für eine Begegnung
\item Hinzufügen von Mitspielern zu einer Gemeinschaft
\item Entfernen von Mitspielern aus einer Gemeinschaft
\item Tipp auf eine Begegnung in einem Wettbewerb in einer Gemeinschaft, der der Mitspieler angehörig ist, abgeben
\item Betrachten des Punktestandes innerhalb einer Gemeinschaft
\item Ergebnisse von Begegnungen ansehen
\end{itemize}
Das Errechnen der Punkte erfolgt im gleichen Atemzug wie das Eintragen von Ergebnissen und geschieht ohne Zutun des Bedieners.
\subsection{} %b
Zunächst werden die Anforderungen an die Anwendung erfasst, um dann die in der Vorlesung genannten allgemeinen Anforderungen an Datenbanksysteme anhand des hier beschriebenen Beispiels zu diskutieren.
\begin{itemize}
\item Die Anwendung muss als Mehrbenutzersystem konzipiert werden und gleichzeitige Anfragen von unterschiedlichen Nutzern bearbeiten können.
\item Ebenso muss die Anwendung bei jeder Anfrage darauf achten nur die Inhalte zurückzugeben, auf die der anfragende Benutzer Zugriff hat. So sollte ein Benutzer nur Tipps in einer Gemeinschaft abgeben können, wenn er Teil dieser Gemeinschaft ist.
\item Nachdem die Ergebnisse einer Begegnung eingetragen worden sind, darf kein Mitspieler mehr Tipps setzen oder vorhandene ändern können.
\item Sobald Ergebnisse eingetragen wurden, kann die Begegnung nicht mehr gelöscht werden, da sie bereits stattgefunden hat.
\item Der Gründer einer Tippspielgemeinschaft kann nicht aus eben jener Gemeinschaft austreten.
\item Die Punkte dürfen nur automatisch durch die Anwendung berechnet werden. Ein manuelles Verändern darf nicht möglich sein (weder vom betreffenden Mitspieler noch vom Gründer der Gemeinschaft).
\item Wenn der Browser vor dem Abschließen einer Aktion geschlossen wird, darf nichts verändert werden.
\end{itemize}
Diese Anforderungen sind zum einen Teil anwendungsspezifisch und zum anderen Teil allgemein für jede Anwendung mit persistenten Daten wichtig.
Da die Anforderungen an die Anwendung nun bekannt sind, werden die Anforderungen an Datenbanksysteme nun an diesem Beispiel diskutiert.
So müssen Datenbanksysteme einen Schutz vor inkonsistenten Daten bieten. So wird eine Transaktion erst dann zur Persistierung freigegeben, wenn sie komplett erfolgreich durchlief. Sollte der Browser während einer Transaktion geschlossen werden, wird sie nicht abgeschlossen und damit nicht persistiert.
Außerdem müssen gleichzeitige Anfragen problemlos bearbeitet werden, solange sie nicht im Konflikt stehen. Eine Abfrage von Ergebnissen einer Begegnung steht beispielsweise nicht im Konflikt mit dem Hinzufügen eines Mitspielers in eine Gemeinschaft oder dem Registrieren eines neuen Mitglieds. Um Konflikte zu vermeiden ist eine weitgehende Isolierung im Datenbanksystem von Nöten.
Die Rechteverwaltung hängt von der Implementation ab. Die oben angewandte Methode benutzt einen Anwendungszugang zur Datenbank, womit die Zugriffskontrolle auf die Anwendung übergeht. Theoretisch wäre auch ein Datenbankzugang pro Benutzer denkbar, der dann eben nur entsprechende Rechte hätte. Allerdings wäre dies ein unnötiger Datenbankzugang, der zudem auch nur das konzeptuelle Schema berücksichtigt. So könnte ein Nutzer entweder alle Punkte aller Mitglieder ansehen oder keine.
Die externe Anwendungssicht auf die Daten umfasst hingegen eine logische Sicht, die auf das Fallbeispiel zugeschnitten ist. Daher sind die Zugriffskontrollen des Datenbanksystems viel zu vage, um sinnvoll für das Beispiel geeignet zu sein. Deswegen muss die Zugriffskontrolle hier auf Seiten der Anwendung stattfinden, die dann nur erlaubte Anfragen an das Datenbanksystem sendet.
\section{Transaktionen}
Zunächst betrachten wir den Stromausfall zum Zeitpunkt A. Daraus ergeben sich mehrere Fälle. Die ersten beiden Fälle betrachten immer ein Datenbanksystem, die letzten beiden immer ein Dateisystem.
\begin{itemize}
\item Das System hat die Änderung am Konto mit der ID 5 nicht persistent gespeichert. Sie bleibt also im Hauptspeicher, bzw. wird daraus gelöscht bei dem Stromausfall. Somit wird die Überweisung nicht durchgeführt und es herrscht der Ausgangszustand.
\item Das System hat die Änderungen am Konto mit der ID 5 persistent gespeichert. Die Daten werden auf die Festplatte geschrieben. Es gibt nach der Abbuchung der 1000 Euro einen Stromausfall. Das System "`merkt"' sich diesen Zeitpunkt. Nach erneutem Start des Systems wird der letzte bekannte Zustand rekonstruiert und danach in den Ausgangszustand zurück versetzt.
\item Das System hat die Änderung am Konto mit der ID 5 noch nicht persistent gespeichert. Sie bleibt also im Hauptspeicher, bzw. wird daraus gelöscht bei dem Stromausfall. Somit wird die Überweisung nicht durchgeführt und es herrscht der Ausgangszustand.
\item Das System hat die Änderung am Konto mit der ID 5 persistent gespeichert. Also die Daten bereits auf die Festplatte geschrieben. Somit werden 1000 Euro vom Konto mit der ID 5 abgebucht. Da aber kein Datenbanksystem verwendet wird, gibt es keinen Wiederaufnahmepunkt, an welchem das System wiedereinsteigen könnte. Somit werden keine 1000 Euro dem Konto mit der ID 7 gutgeschrieben und das Geld ist weg.
\end{itemize}
Anschließend betrachten wir den Stromausfall B.
\begin{itemize}
\item Das System hat die Änderung an beiden Konten nicht persistent gespeichert. Sie bleibt also im Hauptspeicher; bzw. wird daraus gelöscht bei dem Stromausfall. Somit wird die Überweisung nicht durchgeführt und es herrscht der Ausgangszustand. Es gibt aber eine falsche Meldung dem Clienten gegenüber für den Kontostand des Kontos mit der ID 7.
\item Das System hat die Änderungen an beiden Konten persistent gespeichert. Die Daten werden auf die Festplatte geschrieben. Es gibt nach der Überweisung einen Stromausfall. Jedoch wurde der Print Vorgang für das Konto mir der ID 5 nicht abgeschlossen. Dieser würde eine benutzerdefinierte Meldung an den Clienten zurückgeben. Da der Komplette Vorgang noch nicht abgeschlossen war werden beide Konten wieder in ihren Ausgangszustand zurück versetzt. Es gibt somit aber eine falsche Meldung dem Clienten gegenüber für den Kontostand des Kontos mit der ID 7.
\item Das System hat die Änderungen an beiden Konten nicht persistent gespeichert. Sie bleibt also im Hauptspeicher, bzw. wird daraus gelöscht bei dem Stromausfall. Somit wird die Überweisung nicht durchgeführt und es herrscht der Ausgangszustand. Es gibt somit aber eine falsche Meldung dem Clienten gegenüber für den Kontostand des Kontos mit der ID 7.
\item Das System hat die Änderungen an beiden Konten persistent gespeichert. Somit werden an beiden Konten die richtigen Aktionen durchgeführt. Das Konto mit der ID 5 wird mit 1000 Euro belastet und das Konto mit der ID 7 werden 1000 Euro gutgeschrieben. Jedoch gibt es vor dem Printbefehl für das Konto mit der ID 5 den Stromausfall. Der letzte Zustand kann nicht wiederhergestellt werden und somit fehlt dieser Print Befehl und der Client bekommt den falschen Kontostand für dieses Konto angezeigt.
\end{itemize}
Zusammenfassend kann gesagt werden, dass es bei einem Datenbanksystem zu jedem Zeitpunkt immer nur konsistente Daten gibt. Bei einem reinen Dateisystem können die Daten hingegen inkonsistent zurückgelassen werden.
\section{Warm-Up MySQL}
\subsection{} %a
Es wurde eine Tabelle mit dem Namen \texttt{user} in der Datenbank \texttt{gdb\textunderscore gruppe062} angelegt, die drei Felder (id, name, passwort) hat. Anschließend wurde ein Nutzer in diese Tabelle eingetragen mit den Werten (1 für id, "`gdbNutzer"' für name und "`geheim"' für passwort).
\subsection{} %b
Zunächst wurde die Zeile mit dem eben angelegten Nutzer komplett ausgelesen und anschließend die user-Tabelle gelöscht.
\subsection{} %c
Die MySQL-Architektur hat einen ähnlichen Aufbau wie die ANSI-SPARC Architektur. Das Dateisystem entspricht der internen Ebene. Die Speicherengines repräsentieren diese interne Ebene gegenüber der konzeptuellen Ebene und abstrahieren die tatsächliche Speicherung der Daten.
Damit stellen die Engines auch das Zugriffssystem dar. Die Metadatenverwaltung findet sich bei den Verwaltungsdiensten und -tools. Der Verbindungspool ist eine spezifische Implementation für Mehrbenutzersysteme, sodass mehrere Verbindungen gleichzeitig mit der Datenbank verbunden sein können. Auf dieser Ebene findet auch die Authentifizierung statt.
Über den Verbindungspool, welcher die technische Schnittstelle zu externen Anwendungen darstellt, gelangen die Anfragen zu einer Zwischenebene, die die Anfragen parsed, optimiert und gegebenenfalls bereits gecachte Daten zurückgibt. Diese Ebene ist dafür zuständig die Datenbankzugriffe so effizient und schnell wie möglich zu gestalten. Damit ist diese Ebene das Datensystem des ANSI-SPARC Modells.
\end{document}

22
gdb/gdb-aufgabenblatt.cls Normal file
View File

@ -0,0 +1,22 @@
% VSIS-Aufgabenblatt
%
% LaTeX-Klasse zur Erstellung von Aufgabenblaettern inkl. optionaler Musterloesung im VSIS-Stil.
%
% Entworfen von Wolfram Wingerath auf Grundlage eines existierenden Designs von Kristof Hamann
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{gdb-aufgabenblatt}[2009/11/08 v1.0 VSIS-Aufgabenblaetter]
\LoadClass{vsis-aufgabenblatt}
\newcommand{\Gruppe}{*Teilnehmernamen*}
\renewcommand{\Vorlesung}{Grundlagen von Datenbanken}
\renewcommand{\Semester}{WS 2013/14}
\renewcommand{\Punktezahl}{40}
\renewcommand{\PunktezahlTitel}{Gruppe}
\renewcommand{\Punktezahl}{\Gruppe}

469
gdb/sfmath.sty Normal file
View File

@ -0,0 +1,469 @@
% sfmath.sty, copyright 2001-2007 by Olaf Dietrich (olaf@dtrx.de)
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
% This work has the LPPL maintenance status `maintained'.
%
% The Current Maintainer of this work is Olaf Dietrich.
%
% This work consists of the file sfmath.sty.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{sfmath}[2007/08/27 v0.8 sans serif maths]
% This is a simple package for sans serif maths in documents.
%
% Usage: \usepackage{sfmath} or \usepackage[OPTIONS]{sfmath}
%
% After including the package sfmath.sty, all maths of the current
% document is displayed with sans serif fonts; there is no way to
% switch back to the original behavior.
%
% The default sans serif font for maths is the sans serif font
% selected for sans serif text (i.e., \sfdefault) when sfmath.sty
% is loaded. Therefore, you must include sfmath.sty after having
% changed \sfdefault, e.g., by a package such as helvet.sty or
% manually. Alternatively, use one of the font options described
% below (cm, helvet, cmbright, tx, px, or lm) in order to override
% the default sans serif font.
%
% Package OPTIONS (options marked with (+) are experimental):
%
% * slantedGreek: for slanted uppercase Greek letters
%
% * cm: use Computer Modern (cmss) for maths (explicitly)
% * helvet: use Postscript Helvetica (phv) for maths (explicitly)
% * cmbright: use CM-Bright fonts (cmbr) for maths (explicitely)
% * tx: use Postscript txfonts (tx) for maths (explicitly)
% * px: use Postscript pxfonts (tx) for maths (explicitly)
% * lm: use Latin Modern (lmss) for maths (explicitly) (+)
%
% * T1experimental: use T1 font encoding for standard maths (+)
% * AlphT1experimental: use T1 font encoding for \math*{...} commands (+)
%
% * mathrmOrig: do not change the behavior of the \mathrm command
% * mathbfOrig: do not change the behavior of the \mathbf command
% * mathitOrig: do not change the behavior of the \mathit command
% * mathsfOrig: do not change the behavior of the \mathsf command
%
% (+): Known limitations of experimental options:
% T1experimental produces a warning about the encoding of the
% operators font.
% AlphT1experimental DOES NOT WORK with uppercase Greek letters
% within the \math*{...} command!
% These options should only be used with the ec fonts.
%
% lm includes T1experimental and AlphT1experimental with the
% limitations mentioned above.
%
% RECOMMENDATION:
% use the fix-cm package instead of the experimental
% T1 options: with fix-cm.sty, the chosen ec fonts
% harmonize much better with the cm sans serif math fonts.
% Add \RequirePackage{fix-cm} _before_ \documentclass{...}.
%
%
% Some new macros are defined by sfmath.sty:
%
% * \mathsl{...}: A new math alphabet that is by default identical
% with \mathit{...}; useful in combination with the option mathitOrig.
%
% * \upOmega, \upDelta: upright versions of \Omega and \Delta;
% useful when the option slantedGreek is selected.
%
%
% More documentation can currently be found at:
% <URL:http://dtrx.de/od/tex/sfmath.html>
% CHANGES:
%
% v0.8:
%
% * Update documentation and add license details for CTAN upload.
%
%
% v0.7:
%
% * Add (experimental) support for latin modern (lmodern) fonts.
%
%
% v0.6:
%
% * Add some artificial intelligence to use slanted bold letters
% if available (e.g., for phv, txfonts, or pxfonts).
% Add options to select txfonts, pxfonts, and cmbright (probably
% not very useful) explicitely.
% (Thanks to Alberto Lusiani who asked for slanted bold letters.)
%
%
% v0.5:
%
% * Add experimental options for T1 font encoding of maths fonts.
% Using these options can be useful with ec fonts which look
% slightly different from the standard cm maths fonts (especially
% at large font size). About limitations see above.
%
%
% v0.4:
%
% * Add \upDelta, \upOmega command (to be a little more compatible
% with other packages that provide the slantedGreek option)
%
%
% v0.3:
%
% * Add sans serif shapes for "," and ".", "\ldotp"
%
% * Modified documentation
%
%
% v0.2:
%
% * New option slantedGreek for slanted greek capitals
%
% * Options helvet and cm to select explicitly the sans serif font
% for maths. Without any of these options, the current \sfdefault
% is chosen.
%
% * Options mathxxOrig: don't change the alphabet command \mathxx;
% available for \mathrm, \mathbf, \mathit, and \mathsf
%
% * Provide dotlessi and dotlessj (if available)
%
% BUGS/LIMITATIONS/PROBLEMS:
%
% * Functionality is limited by the intention to work without
% additionally defined (virtual) fonts; instead, only standard
% fonts are used.
%
% * The font metrics are not adjusted to maths usage (this may
% result in typographically unsatisfying results).
%
% * In many constellations with Postscript fonts (helvet.sty,
% pslatex.sty, ...) the upper-case greek letters are not chosen
% correctly within \mathrm, \mathbf, \mathit, ... (because
% they should be part of OT1-encoded fonts but are not included
% in these standard postscript fonts).
%
% * Bold math symbols are not always available (e.g. with pslatex.sty)
% or at least not slanted (e.g. with cmss fonts), so better don't
% use bold maths with this package. (This has been partially improved
% in version 0.6.)
%
% * There is a visual difference between the ec sans serif text fonts
% and the cm sans serif maths fonts, especially at larger font sizes.
% The fix-cm package might help to reduce the ugliness of the ec
% sans serif fonts and the differences between the ec text fonts
% and the cm math fonts.
% Alternatively, the experimental options T1experimental and
% AlphT1Experimental might help by using the ec fonts for maths as well.
%
% * The txfonts and pxfonts are reported to have several deficiencies
% with respect to font metrics and macro implementation; using
% these fonts is not recommended by the package author.
%
% * The set symbols \mathbb{N} or \mathbbm{N} (from bbm.sty) are not
% changed. You might like to use \mathbbmss{N} (from bbm.sty).
%
% * Some symbols have serifish shapes (\sum, \prod, probably more) and
% are not changed.
%
% * Lower-case greek letters are not available in sans serif shape
% (they don't have real serifs, but cannot be expected to harmonize
% with the sans serif latin letters).
%
%
% TODO:
%
% * Improve documentation.
%
% * Provide LaTeX .ins/.dtx files instead of naked .sty file.
%
% HERE WE GO:
% Declare options and defaults and process options
\DeclareOption{slantedGreek}{%
\renewcommand{\greek@shape}{sl}%
\renewcommand{\greek@bold@shape}{\greek@bold@sl}%
}
\DeclareOption{cm}{\renewcommand{\math@sfdefault}{cmss}}
\DeclareOption{lm}{\renewcommand{\math@sfdefault}{lmss}}
\DeclareOption{helvet}{\renewcommand{\math@sfdefault}{phv}}
\DeclareOption{cmbright}{\renewcommand{\math@sfdefault}{cmbr}}
\DeclareOption{tx}{\renewcommand{\math@sfdefault}{txss}}
\DeclareOption{px}{\renewcommand{\math@sfdefault}{pxss}}
\DeclareOption{T1experimental}{\renewcommand{\math@encoding}{T1}}
\DeclareOption{AlphT1experimental}{\renewcommand{\math@lph@encoding}{T1}}
\DeclareOption{mathrmOrig}{\renewcommand{\mathrm@lph}{cmr}}
\DeclareOption{mathbfOrig}{\renewcommand{\mathbf@lph}{cmr}}
\DeclareOption{mathitOrig}{\renewcommand{\mathit@lph}{cmr}}
\DeclareOption{mathsfOrig}{\renewcommand{\mathsf@lph}{cmss}}
\newcommand{\math@sfdefault}{\sfdefault}
\newcommand{\math@encoding}{OT1}
\newcommand{\math@lph@encoding}{OT1}
\newcommand{\mathrm@lph}{\math@sfdefault}
\newcommand{\mathbf@lph}{\math@sfdefault}
\newcommand{\mathit@lph}{\math@sfdefault}
\newcommand{\mathsf@lph}{\math@sfdefault}
% \math@sfGreek: Font for capital greeks: cmss or other?
% \greek@shape: Capital greeks: normal or slanted? [slantedGreek]
% \greek@bold@shape: Bold capital greeks: normal or slanted? [slantedGreek]
% \greek@bold@sl: Bold capital greeks: "sl" if slanted possible
%
% \mathnormal@bold@shape: Bold letters: normal or slanted? (always bold)
% \mathit@bold@series: Bold \mathit (\mathsl): medium or bold? (always slanted)
\newcommand{\math@sfGreek}{cmss}
\newcommand{\greek@shape}{n}
\newcommand{\greek@bold@shape}{n}
\newcommand{\greek@bold@sl}{n}
\newcommand{\mathnormal@bold@shape}{n}
\newcommand{\mathit@bold@series}{m}
\ProcessOptions
% check the current value of \math@sfdefault
\edef\tmp@sfdefault{\math@sfdefault}
\def\tmp@compare{cmss}
\ifx\tmp@sfdefault\tmp@compare
% \sfdefault is cmss
% no slanted bold letters
% no slanted bold capital Greeks
\renewcommand{\math@sfGreek}{cmss}
\renewcommand{\greek@bold@sl}{n}
\renewcommand{\mathnormal@bold@shape}{n}
\renewcommand{\mathit@bold@series}{m}
\fi
\def\tmp@compare{phv}
\ifx\tmp@sfdefault\tmp@compare
% \sfdefault is phv (helvet.sty)
% slanted bold letters
% no capital Greeks
\renewcommand{\math@sfGreek}{cmss}
\renewcommand{\greek@bold@sl}{n}
\renewcommand{\mathnormal@bold@shape}{sl}
\renewcommand{\mathit@bold@series}{bx}
\fi
\def\tmp@compare{txss}
\ifx\tmp@sfdefault\tmp@compare
% \sfdefault is txss (txfonts.sty)
% slanted bold letters
% slanted bold capital Greeks
\renewcommand{\math@sfGreek}{txss}
\renewcommand{\greek@bold@sl}{sl}
\renewcommand{\mathnormal@bold@shape}{sl}
\renewcommand{\mathit@bold@series}{bx}
\fi
\def\tmp@compare{pxss}
\ifx\tmp@sfdefault\tmp@compare
% \sfdefault is pxss (pxfonts.sty)
% slanted bold letters
% slanted bold capital Greeks
\renewcommand{\math@sfGreek}{pxss}
\renewcommand{\greek@bold@sl}{sl}
\renewcommand{\mathnormal@bold@shape}{sl}
\renewcommand{\mathit@bold@series}{bx}
\fi
\def\tmp@compare{cmbr}
\ifx\tmp@sfdefault\tmp@compare
% \sfdefault is cmbr (cmbright.sty)
% no slanted bold letters
% no slanted bold capital Greeks
\renewcommand{\math@sfGreek}{cmbr}
\renewcommand{\greek@bold@sl}{n}
\renewcommand{\mathnormal@bold@shape}{n}
\renewcommand{\mathit@bold@series}{m}
\fi
\def\tmp@compare{lmss}
\ifx\tmp@sfdefault\tmp@compare
% \sfdefault is lmss (lmodern.sty sans serif)
% T1 encoding only
% slanted bold letters
% no slanted bold capital Greeks
\renewcommand{\math@encoding}{T1}
\renewcommand{\math@lph@encoding}{T1}
\renewcommand{\math@sfGreek}{cmss}
\renewcommand{\greek@bold@sl}{n}
\renewcommand{\mathnormal@bold@shape}{sl}
\renewcommand{\mathit@bold@series}{bx}
\fi
% Change font for digits and "operators" (\sin, \exp, ...)
% to default sans serif font
\SetSymbolFont{operators}{normal}{\math@encoding}{\math@sfdefault}{m}{n}
\SetSymbolFont{operators}{bold}{\math@encoding}{\math@sfdefault}{bx}{n}
% Most special math symbols remain unmodified (and many of those
% don't have serifs); however all letters (A-Z, a-z) are
% explicitely changed to the sans serif version (again
% default sans serif font).
%
% Unfortunately, there is no standard slanted+bold sans serif font
% available (as Postscript Type 1 font), so try an upright
% version (may be better than nothing).
\DeclareSymbolFont{SFMath}{\math@encoding}{\math@sfdefault}{m}{sl}
\SetSymbolFont{SFMath}{normal}{\math@encoding}{\math@sfdefault}{m}{sl}
\SetSymbolFont{SFMath}{bold}{\math@encoding}{\math@sfdefault}{bx}{\mathnormal@bold@shape}
\DeclareMathSymbol{A}{\mathalpha}{SFMath}{`A}
\DeclareMathSymbol{B}{\mathalpha}{SFMath}{`B}
\DeclareMathSymbol{C}{\mathalpha}{SFMath}{`C}
\DeclareMathSymbol{D}{\mathalpha}{SFMath}{`D}
\DeclareMathSymbol{E}{\mathalpha}{SFMath}{`E}
\DeclareMathSymbol{F}{\mathalpha}{SFMath}{`F}
\DeclareMathSymbol{G}{\mathalpha}{SFMath}{`G}
\DeclareMathSymbol{H}{\mathalpha}{SFMath}{`H}
\DeclareMathSymbol{I}{\mathalpha}{SFMath}{`I}
\DeclareMathSymbol{J}{\mathalpha}{SFMath}{`J}
\DeclareMathSymbol{K}{\mathalpha}{SFMath}{`K}
\DeclareMathSymbol{L}{\mathalpha}{SFMath}{`L}
\DeclareMathSymbol{M}{\mathalpha}{SFMath}{`M}
\DeclareMathSymbol{N}{\mathalpha}{SFMath}{`N}
\DeclareMathSymbol{O}{\mathalpha}{SFMath}{`O}
\DeclareMathSymbol{P}{\mathalpha}{SFMath}{`P}
\DeclareMathSymbol{Q}{\mathalpha}{SFMath}{`Q}
\DeclareMathSymbol{R}{\mathalpha}{SFMath}{`R}
\DeclareMathSymbol{S}{\mathalpha}{SFMath}{`S}
\DeclareMathSymbol{T}{\mathalpha}{SFMath}{`T}
\DeclareMathSymbol{U}{\mathalpha}{SFMath}{`U}
\DeclareMathSymbol{V}{\mathalpha}{SFMath}{`V}
\DeclareMathSymbol{W}{\mathalpha}{SFMath}{`W}
\DeclareMathSymbol{X}{\mathalpha}{SFMath}{`X}
\DeclareMathSymbol{Y}{\mathalpha}{SFMath}{`Y}
\DeclareMathSymbol{Z}{\mathalpha}{SFMath}{`Z}
\DeclareMathSymbol{a}{\mathalpha}{SFMath}{`a}
\DeclareMathSymbol{b}{\mathalpha}{SFMath}{`b}
\DeclareMathSymbol{c}{\mathalpha}{SFMath}{`c}
\DeclareMathSymbol{d}{\mathalpha}{SFMath}{`d}
\DeclareMathSymbol{e}{\mathalpha}{SFMath}{`e}
\DeclareMathSymbol{f}{\mathalpha}{SFMath}{`f}
\DeclareMathSymbol{g}{\mathalpha}{SFMath}{`g}
\DeclareMathSymbol{h}{\mathalpha}{SFMath}{`h}
\DeclareMathSymbol{i}{\mathalpha}{SFMath}{`i}
\DeclareMathSymbol{j}{\mathalpha}{SFMath}{`j}
\DeclareMathSymbol{k}{\mathalpha}{SFMath}{`k}
\DeclareMathSymbol{l}{\mathalpha}{SFMath}{`l}
\DeclareMathSymbol{m}{\mathalpha}{SFMath}{`m}
\DeclareMathSymbol{n}{\mathalpha}{SFMath}{`n}
\DeclareMathSymbol{o}{\mathalpha}{SFMath}{`o}
\DeclareMathSymbol{p}{\mathalpha}{SFMath}{`p}
\DeclareMathSymbol{q}{\mathalpha}{SFMath}{`q}
\DeclareMathSymbol{r}{\mathalpha}{SFMath}{`r}
\DeclareMathSymbol{s}{\mathalpha}{SFMath}{`s}
\DeclareMathSymbol{t}{\mathalpha}{SFMath}{`t}
\DeclareMathSymbol{u}{\mathalpha}{SFMath}{`u}
\DeclareMathSymbol{v}{\mathalpha}{SFMath}{`v}
\DeclareMathSymbol{w}{\mathalpha}{SFMath}{`w}
\DeclareMathSymbol{x}{\mathalpha}{SFMath}{`x}
\DeclareMathSymbol{y}{\mathalpha}{SFMath}{`y}
\DeclareMathSymbol{z}{\mathalpha}{SFMath}{`z}
\DeclareMathSymbol{\imath}{\mathalpha}{SFMath}{"10}
\DeclareMathSymbol{\jmath}{\mathalpha}{SFMath}{"11}
% The symbols ",", ".", and "\ldotp" should be sans serif
% but upright.
\DeclareSymbolFont{SFMathUp}{\math@encoding}{\math@sfdefault}{m}{n}
\SetSymbolFont{SFMathUp}{normal}{\math@encoding}{\math@sfdefault}{m}{n}
\SetSymbolFont{SFMathUp}{bold}{\math@encoding}{\math@sfdefault}{bx}{n}
\DeclareMathSymbol{,}{\mathpunct}{SFMathUp}{`,}
\DeclareMathSymbol{.}{\mathord}{SFMathUp}{`.}
\DeclareMathSymbol{\ldotp}{\mathord}{SFMathUp}{`.}
% Take capital greek letters from cmss or [tp]xss; other sans serif fonts
% like helvetica don't have capital greeks, so here cmss is
% taken instead of \sfdefault. Unfortunately, this does not work
% within the alphabet commands \mathrm, \mathsf, ...
\DeclareSymbolFont{SFMathGreek}{OT1}{\math@sfGreek}{m}{\greek@shape}
\SetSymbolFont{SFMathGreek}{normal}{OT1}{\math@sfGreek}{m}{\greek@shape}
\SetSymbolFont{SFMathGreek}{bold}{OT1}{\math@sfGreek}{bx}{\greek@bold@shape}
\DeclareMathSymbol{\Gamma}{\mathalpha}{SFMathGreek}{"00}
\DeclareMathSymbol{\Delta}{\mathalpha}{SFMathGreek}{"01}
\DeclareMathSymbol{\Theta}{\mathalpha}{SFMathGreek}{"02}
\DeclareMathSymbol{\Lambda}{\mathalpha}{SFMathGreek}{"03}
\DeclareMathSymbol{\Xi}{\mathalpha}{SFMathGreek}{"04}
\DeclareMathSymbol{\Pi}{\mathalpha}{SFMathGreek}{"05}
\DeclareMathSymbol{\Sigma}{\mathalpha}{SFMathGreek}{"06}
\DeclareMathSymbol{\Upsilon}{\mathalpha}{SFMathGreek}{"07}
\DeclareMathSymbol{\Phi}{\mathalpha}{SFMathGreek}{"08}
\DeclareMathSymbol{\Psi}{\mathalpha}{SFMathGreek}{"09}
\DeclareMathSymbol{\Omega}{\mathalpha}{SFMathGreek}{"0A}
\DeclareSymbolFont{SFMathUpGreek}{OT1}{\math@sfGreek}{m}{n}
\SetSymbolFont{SFMathUpGreek}{normal}{OT1}{\math@sfGreek}{m}{n}
\SetSymbolFont{SFMathUpGreek}{bold}{OT1}{\math@sfGreek}{bx}{n}
\DeclareMathSymbol{\upDelta}{\mathalpha}{SFMathUpGreek}{"01}
\DeclareMathSymbol{\upOmega}{\mathalpha}{SFMathUpGreek}{"0A}
% Define new behavior for math alphabet commands
\SetMathAlphabet{\mathnormal}{normal}{\math@lph@encoding}{\math@sfdefault}{m}{sl}
\SetMathAlphabet{\mathnormal}{bold}{\math@lph@encoding}{\math@sfdefault}{bx}{\mathnormal@bold@shape}
\SetMathAlphabet{\mathrm}{normal}{\math@lph@encoding}{\mathrm@lph}{m}{n}
\SetMathAlphabet{\mathrm}{bold}{\math@lph@encoding}{\mathrm@lph}{bx}{n}
\SetMathAlphabet{\mathbf}{normal}{\math@lph@encoding}{\mathbf@lph}{bx}{n}
\SetMathAlphabet{\mathbf}{bold}{\math@lph@encoding}{\mathbf@lph}{bx}{n}
\SetMathAlphabet{\mathit}{normal}{\math@lph@encoding}{\mathit@lph}{m}{sl}
\SetMathAlphabet{\mathit}{bold}{\math@lph@encoding}{\mathit@lph}{\mathit@bold@series}{sl}
\SetMathAlphabet{\mathsf}{normal}{\math@lph@encoding}{\mathsf@lph}{m}{n}
\SetMathAlphabet{\mathsf}{bold}{\math@lph@encoding}{\mathsf@lph}{bx}{n}
% Define new math alphabet command \mathsl
\DeclareMathAlphabet{\mathsl}{\math@lph@encoding}{\math@sfdefault}{m}{sl}
\SetMathAlphabet{\mathsl}{bold}{\math@lph@encoding}{\math@sfdefault}{\mathit@bold@series}{sl}
\endinput

101
gdb/vsis-aufgabenblatt.cls Normal file
View File

@ -0,0 +1,101 @@
% VSIS-Aufgabenblatt
%
% LaTeX-Klasse zur Erstellung von Aufgabenblaettern inkl. optionaler Musterloesung im VSIS-Stil.
%
% Entworfen von Kristof Hamann auf Grundlage eines existierenden Designs aus aelteren Semestern.
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{vsis-aufgabenblatt}[2009/11/08 v1.0 VSIS-Aufgabenblaetter]
\LoadClass[a4paper,parskip=half-,numbers=noenddot]{scrartcl}
% Kodierung der Schriftarten wegen Umlauten
\RequirePackage[T1]{fontenc}
% Silbentrennung
\RequirePackage[ngerman]{babel}
% Einbinden von Grafiken (z.B. VSIS-Logo)
\RequirePackage{graphicx}
% Definieren von Farben
\RequirePackage{xcolor}
\definecolor{shadecolor}{gray}{0.9}
% Rahmen (z.B. fuer Musterloesungen)
\RequirePackage{framed}
% Erweiterte Tabellen (z.B. fuer Kopfzile)
\RequirePackage{tabularx}
% Tabellenzellen ueber mehrere Zeilen (z.B. fuer Kopfzeile)
\RequirePackage{multirow}
\renewcommand{\familydefault}{\sfdefault}
\RequirePackage{sfmath}
\RequirePackage{uri}
% Seitenlayout
\RequirePackage{scrpage2}
\setlength{\headsep}{3.5cm}
\setlength{\oddsidemargin}{-1cm}
\setlength{\textwidth}{18cm}
\setkomafont{pageheadfoot}{\small}
% Section = Aufgabe
% \othersectionlevelsformat{Gliederungsname}{}{Zaehlerausgabe}
%\renewcommand*{\othersectionlevelsformat}[3]{\AufgabeTitel~#3:\enskip}
% Aufzaehlungen fuer Teilaufgaben
%\renewcommand{\labelenumi}{\alph{enumi})}
%\renewcommand{\labelenumii}{\roman{enumii})}
% Optionales Einblenden von Musterloesungen, Layout von Musterloesungen
\newif\ifmusterloesung
\musterloesungfalse
\newcommand{\aufgabe}[2]{\section{#1\hfill\normalfont(#2)}}
\newenvironment{musterloesung}{\begin{shaded}\textbf{\MusterloesungTitel:}\\[0.5em]}{\end{shaded}}
% Kopfzeile mit VSIS-Logo und Vorlesungsdaten
\pagestyle{scrheadings}
\chead{
\begin{tabularx}{\textwidth}{|p{2.2cm}|X|X|X|X|}
\cline{1-5}
& & \multicolumn{3}{l|}{}\\[-0.95em]
\multirow{4}{*}{\includegraphics[width=2.2cm]{vsis.pdf}} & \VorlesungTitel & \multicolumn{3}{l|}{\textbf{\Vorlesung}\hfill\Semester} \\
& & \multicolumn{3}{l|}{}\\[-0.95em]
\cline{2-5}
& & \multicolumn{3}{l|}{}\\[-0.95em]
& \AufgabenblattTitel & \multicolumn{3}{l|}{\bfseries\Aufgabenblatt{} \ifmusterloesung(\MusterloesungTitelblatt)\fi} \\
& & \multicolumn{3}{l|}{}\\[-0.95em]
\cline{2-5}
& & \multicolumn{3}{l|}{}\\[-0.95em]
& \PunktezahlTitel & \multicolumn{3}{l|}{\bfseries\Punktezahl} \\
& & \multicolumn{3}{l|}{}\\[-0.95em]
\cline{2-5}
& & & &\\[-0.95em]
& \AusgabedatumTitel & \bfseries\Ausgabedatum & \AbgabedatumTitel & \bfseries\Abgabedatum \\[0.25em]
\cline{1-5}
\end{tabularx}
}
% GDB-Makros laden
\RequirePackage{vsis-gdb}
% Variablen fuer Seitenkopf: Setzen mit \renewcommand{\Variable}{Wert}
\newcommand{\Vorlesung}{}
\newcommand{\Semester}{}
\newcommand{\Ausgabedatum}{}
\newcommand{\Abgabedatum}{}
\newcommand{\Aufgabenblatt}{}
\newcommand{\Punktezahl}{}
\newcommand{\MusterloesungTitel}{L\"osungsvorschlag}
\newcommand{\MusterloesungTitelblatt}{L\"osungsvorschl\"age}
\newcommand{\VorlesungTitel}{Lehrveranstaltung}
\newcommand{\AufgabenblattTitel}{Aufgabenzettel}
\newcommand{\PunktezahlTitel}{Gesamtpunktzahl}
\newcommand{\AusgabedatumTitel}{Ausgabe}
\newcommand{\AbgabedatumTitel}{Abgabe}
\newcommand{\AufgabeTitel}{Aufgabe}

139
gdb/vsis-gdb.sty Normal file
View File

@ -0,0 +1,139 @@
%
% Nuetzliche Makros und Einstellungen fuer GDB
%
% von Kristof Hamann, teilweise basierend auf Aufgabenzettel vergangener Jahre
%
% Changelog:
%
% v1.2:
% 2009-11-27 KH: Makro \wert angepasst (Schriftart)
%
% v1.1:
% 2009-11-11 KH: Neues Makro \SF
% 2009-11-11 KH: Makro \wert angepasst (Anf<6E>hrungszeichen)
%
% v1.0:
% 2009-11-09 KH: Erste Version der Makro-Sammlung
\usepackage{ulsy}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{vsis-gdb}[2009/11/27 v1.2 Nuetzliche Makros fuer GDB]
% Gestricheltes Unterstreichen, z.B. f<>r Relationales Datenbankmodell (Fremdschl<68>ssel)
\RequirePackage[normalem]{ulem}
\def\dashuline{\bgroup
\ifdim\ULdepth=\maxdimen % Set depth based on font, if not set already
\settodepth\ULdepth{(j}\advance\ULdepth.4pt\fi
\markoverwith{\kern.1em
\vtop{\kern\ULdepth \hrule width .3em}%
\kern.1em}\ULon}
\def\soliduline{\bgroup \markoverwith{\hbox
{\vtop{\kern.3ex\hrule width.2em}}}\ULon}
% Operatoren der relationalen Algebra
\newcommand*{\projektion}[1]{\pi_{#1}}
\newcommand*{\selektion}[1]{\sigma_{#1}}
\newcommand*{\symdiff}{\triangleright}
\newcommand*{\natverbund}{\bowtie}
\newcommand*{\verbund}[1]{\raisebox{-1ex}{\(\stackrel{\textrm{\large$\natverbund$}}{_{#1}}\)}}
\newcommand*{\wert}[1]{\mathrm{``#1``}}
\newcommand*{\SF}{\textup{SF}}
% textsubscript
\newcommand{\ts}{\textsubscript}
% TikZ fuer Grafiken, wie ER-Diagramme
\RequirePackage{tikz}
\usetikzlibrary{arrows,positioning,calc,fit,shapes}
% the vsis blue color
% RGB value / 255
\definecolor{vsisBlue}{rgb}{0.596078,0.7176471,0.937254922}
\definecolor{arrowBlue}{rgb}{0.15294117,0.31372549,0.7725490196}
\tikzset{
% Layout fuer ER-Diagramme
er-element/.style={
draw,
fill=white,
top color=white,
bottom color=vsisBlue,
minimum width=2cm,
minimum height=0.8cm,
},
entity/.style={
er-element,
rectangle,
},
weakentity/.style={
er-element,
rectangle,
double distance=1pt
},
relationship/.style={
er-element,
diamond,
aspect=2,
inner sep=2pt,
font=\footnotesize,
},
weakrelationship/.style={
er-element,
diamond,
aspect=2,
inner sep=2pt,
double distance=1pt,
font=\footnotesize,
},
multivalentattribut/.style={
er-element,
ellipse,
inner sep=0,
double distance=1pt,
font=\footnotesize,
},
attribut/.style={
er-element,
ellipse,
inner sep=0,
font=\footnotesize,
},
erbt/.style={
draw,
>=open triangle 45,
->,
},
% Layout fuer referenzgraphen
refGraph/.style={
draw,
fill=white,
minimum width=2cm,
minimum height=0.8cm,
},
tabelle/.style={
refGraph,
rectangle,
},
}
% Layouts fuer Grafiken
\tikzset{
smalll/.style={
font=\scriptsize,
align=left,
},
smallr/.style={
font=\scriptsize,
align=right,
},
}
\RequirePackage[utf8]{inputenc}
\RequirePackage{vsis-gdb} % Nuetzliche Makros fuer GDB
\RequirePackage{booktabs} % Linien f<>r Tabellen

View File

@ -144,7 +144,7 @@ Stephan Niendorf (6242417)}
\end{alignat*}
\subsection{} %b
\begin{alignat*}{7}
\text{maximiere}\; & 13a_{1} &+& 8a_{2} &+& 15b_{1} &+& 12b_{2} &+& 14c_{1} &+& 10c_{2} && \\
\text{maximiere}\; & 8a_{1} &+& 3a_{2} &+& 6b_{1} &+& 3b_{2} &+& 9c_{1} &+& 5c_{2} && \\
\multicolumn{14}{l}{\text{unter den Nebenbedingungen}} && \\
& a_{1} &+& a_{2} && && && && &\leq &\, 400 \\
& && && b_{1} &+& b_{2} && && &\leq &\, 480 \\

View File

@ -0,0 +1,375 @@
\documentclass[10pt,a4paper,oneside,ngerman,numbers=noenddot]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{paralist}
\usepackage{gauss}
\usepackage{pgfplots}
\usepackage[locale=DE,exponent-product=\cdot,detect-all]{siunitx}
\usepackage{tikz}
\usetikzlibrary{matrix,fadings,calc,positioning,decorations.pathreplacing,arrows,decorations.markings}
\usepackage{polynom}
\polyset{style=C, div=:,vars=x}
\pgfplotsset{compat=1.8}
\pagenumbering{arabic}
% ensures that paragraphs are separated by empty lines
\parskip 12pt plus 1pt minus 1pt
\parindent 0pt
% define how the sections are rendered
\def\thesection{\arabic{section})}
\def\thesubsection{\alph{subsection})}
\def\thesubsubsection{(\roman{subsubsection})}
% some matrix magic
\makeatletter
\renewcommand*\env@matrix[1][*\c@MaxMatrixCols c]{%
\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{#1}}
\makeatother
\begin{document}
\author{Jan Branitz (6326955), Jim Martens (6420323),\\
Stephan Niendorf (6242417)}
\title{Hausaufgaben zum 28. Oktober}
\maketitle
\section{} %1
\subsection{} %a
\textbf{Aufgabe:} Lösen Sie das folgende LP-Problem mit dem Simplexverfahren:
\begin{alignat*}{4}
\text{maximiere}\; & x_{1} &+& 6x_{2} &-& 4x_{3} && \\
\multicolumn{8}{l}{\text{unter den Nebenbedingungen}} && \\
\;& 2x_{1} && &+& x_{3} &\leq & 5 \\
\;-& x_{1} &+& 3x_{2} &-& 2x_{3} &\leq & 2 \\
\;& && x_{2} &-& x_{3} &\leq & 2 \\
\multicolumn{6}{r}{$x_{1}, x_{2}, x_{3}$} \,&\geq &\, 0
\end{alignat*}
\textbf{Lösung.}
\underline{Starttableau}:
\begin{alignat*}{5}
x_{4} \,&=&\, 5 \,&-&\, 2x_{1} && &-&\, x_{3} \\
x_{5} \,&=&\, 2 \,&+&\, x_{1} \,&-&\, 3x_{2} \,&+&\, 2x_{3} \\
x_{6} \,&=&\, 2 && &-&\, x_{2} \,&+&\, x_{3} \\ \cline{1 - 9}
z &=& && x_{1} \,&+&\, 6x_{2} \,&-&\, 4x_{3}
\end{alignat*}
\underline{1. Iteration}:
Eingangsvariable: $x_{2}$\\
Ausgangsvariable: $x_{5}$
Es folgt
\begin{alignat*}{2}
3x_{2} \,&=&&\, 2 + x_{1} + 2x_{3} - x_{5} \\
x_{2} \,&=&&\, \frac{2}{3} + \frac{1}{3}x_{1} + \frac{2}{3}x_{3} - \frac{1}{3}x_{5} \\
x_{4} \,&=&&\, 5 - 2x_{1} - x_{3} \\
x_{6} \,&=&&\, 2 - \left(\frac{2}{3} + \frac{1}{3}x_{1} + \frac{2}{3}x_{3} - \frac{1}{3}x_{5}\right) + x_{3} \\
&=&&\, 2 - \frac{2}{3} - \frac{1}{3}x_{1} - \frac{2}{3}x_{3} + \frac{1}{3}x_{5} + x_{3} \\
&=&&\, \frac{4}{3} - \frac{1}{3}x_{1} + \frac{1}{3}x_{3} + \frac{1}{3}x_{5} \\
z \,&=&&\, x_{1} + 6\left(\frac{2}{3} + \frac{1}{3}x_{1} + \frac{2}{3}x_{3} - \frac{1}{3}x_{5}\right) - 4x_{3} \\
&=&&\, x_{1} + 4 + 2x_{1} + 4x_{3} - 2x_{5} - 4x_{3} \\
&=&&\, 4 + 3x_{1} - 2x_{5}
\end{alignat*}
\underline{Ergebnis der 1. Iteration}:
\begin{alignat*}{5}
x_{2} \,&=&\, \frac{2}{3} \,&+&\, \frac{1}{3}x_{1} \,&+&\, \frac{2}{3}x_{3} \,&-&\, \frac{1}{3}x_{5} \\
x_{4} \,&=&\, 5 \,&-&\, 2x_{1} \,&-&\, x_{3} && \\
x_{6} \,&=&\, \frac{4}{3} \,&-&\, \frac{1}{3}x_{1} \,&+&\, \frac{1}{3}x_{3} \,&+&\, \frac{1}{3}x_{5} \\ \cline{1 - 9}
z &=& 4 \,&+&\, 3x_{1} && &-& 2x_{5}
\end{alignat*}
\underline{2. Iteration}:
Eingangsvariable: $x_{1}$ \\
Ausgangsvariable: $x_{4}$
Es folgt
\begin{alignat*}{2}
2x_{1} &=&& 5 - x_{3} - x_{4} \\
x_{1} &=&& \frac{5}{2} - \frac{1}{2}x_{3} - \frac{1}{2}x_{4} \\
x_{2} &=&& \frac{2}{3} + \frac{1}{3}\left(\frac{5}{2} - \frac{1}{2}x_{3} - \frac{1}{2}x_{4}\right) + \frac{2}{3}x_{3} - \frac{1}{3}x_{5} \\
&=&& \frac{3}{2} - \frac{1}{6}x_{3} - \frac{1}{6}x_{4} + \frac{2}{3}x_{3} - \frac{1}{3}x_{5} \\
&=&& \frac{3}{2} + \frac{1}{2}x_{3} - \frac{1}{6}x_{4} - \frac{1}{3}x_{5} \\
x_{6} &=&& \frac{4}{3} - \frac{1}{3}\left(\frac{5}{2} - \frac{1}{2}x_{3} - \frac{1}{2}x_{4}\right) + \frac{1}{3}x_{3} + \frac{1}{3}x_{5} \\
&=&& \frac{1}{2} + \frac{1}{6}x_{3} + \frac{1}{6}x_{4} + \frac{1}{3}x_{3} + \frac{1}{3}x_{5} \\
&=&& \frac{1}{2} + \frac{1}{2}x_{3} + \frac{1}{6}x_{4} + \frac{1}{3}x_{5} \\
z &=&& 4 + 3\left(\frac{5}{2} - \frac{1}{2}x_{3} - \frac{1}{2}x_{4}\right) - 2x_{5} \\
&=&& \frac{23}{2} - \frac{3}{2}x_{3} - \frac{3}{2}x_{4} - 2x_{5} \\
&=&& \frac{23}{2} - \frac{3}{2}x_{3} - \frac{3}{2}x_{4} - 2x_{5}
\end{alignat*}
\underline{Ergebnis der 2. Iteration}:
\begin{alignat*}{5}
x_{1} \,&=&\, \frac{5}{2} \,&-&\, \frac{1}{2}x_{3} \,&-&\, \frac{1}{2}x_{4} && \\
x_{2} \,&=&\, \frac{3}{2} \,&+&\, \frac{1}{2}x_{3} \,&-&\, \frac{1}{6}x_{4} \,&-&\, \frac{1}{3}x_{5} \\
x_{6} \,&=&\, \frac{1}{2} \,&+&\, \frac{1}{2}x_{3} \,&+&\, \frac{1}{6}x_{4} \,&+&\, \frac{1}{3}x_{5} \\ \cline{1 - 9}
z &=& \frac{23}{2} \,&-&\, \frac{3}{2}x_{3} \,&-&\, \frac{3}{2}x_{4} \,&-&\, 2x_{5}
\end{alignat*}
Dieses Tableau liefert die optimale Lösung $x_{1} = \frac{5}{2}, x_{2} = \frac{3}{2}, x_{3} = 0$ mit $z = \frac{23}{2}$.
\underline{Startlösung ("`zulässige Basislösung am Anfang"')}:
\[
x_{1} = 0, x_{2} = 0, x_{3} = 0, x_{4} = 5, x_{5} = 2, x_{6} = 2 \text{ mit } z = 0
\]
\underline{Zulässige Basislösung nach der 1. Iteration}:
\[
x_{1} = 0, x_{2} = \frac{2}{3}, x_{3} = 0, x_{4} = 5, x_{5} = 0, x_{6} = \frac{4}{3} \text{ mit } z = 4
\]
\underline{Zulässige Basislösung nach der 2. Iteration}:
\[
x_{1} = \frac{5}{2}, x_{2} = \frac{3}{2}, x_{3} = 0, x_{4} = 0, x_{5} = 0, x_{6} = \frac{1}{2} \text{ mit } z = \frac{23}{2}
\]
\subsection{} %b
\textbf{Aufgabe:} Lösen Sie das folgende LP-Problem mit dem Simplexverfahren:
\begin{alignat*}{4}
\text{maximiere}\; -& 5x_{1} &+& 11x_{2} &-& 5x_{3} && \\
\multicolumn{8}{l}{\text{unter den Nebenbedingungen}} && \\
\;-& x_{1} &+& 3x_{2} &-& 4x_{3} &\leq & 2 \\
\;& x_{1} &+& 5x_{2} &+& 3x_{3} &\leq & 6 \\
\;-& x_{1} &+& 3x_{2} &+& 3x_{3} &\leq &\, 4 \\
\;& x_{1} &-& x_{2} &+& 3x_{3} &\leq &\, 2 \\
\multicolumn{6}{r}{$x_{1}, x_{2}, x_{3}$} \,&\geq &\, 0
\end{alignat*}
\textbf{Lösung.}
\underline{Starttableau}:
\begin{alignat*}{5}
x_{4} \,&=&\, 2 \,&+&\, x_{1} \,&-&\, 3x_{2} \,&+&\, 4x_{3} \\
x_{5} \,&=&\, 6 \,&-&\, x_{1} \,&-&\, 5x_{2} \,&-&\, 3x_{3} \\
x_{6} \,&=&\, 4 \,&+&\, x_{1} \,&-&\, 3x_{2} \,&-&\, 3x_{3} \\
x_{7} \,&=&\, 2 \,&-&\, x_{1} \,&+&\, x_{2} \,&-&\, 3x_{3} \\ \cline{1 - 9}
z \,&=&\, &-& 5x_{1} \,&+&\, 11x_{2} \,&-&\, 5x_{3}
\end{alignat*}
\underline{1. Iteration}:
Eingangsvariable: $x_{2}$\\
Ausgangsvariable: $x_{4}$
Es folgt
\begin{alignat*}{2}
3x_{2} \,&=&&\, 2 + x_{1} + 4x_{3} - x_{4} \\
x_{2} \,&=&&\, \frac{2}{3} + \frac{1}{3}x_{1} + \frac{4}{3}x_{3} - \frac{1}{3}x_{4} \\
x_{5} \,&=&&\, 6 - x_{1} - 5\left(\frac{2}{3} + \frac{1}{3}x_{1} + \frac{4}{3}x_{3} - \frac{1}{3}x_{4}\right) - 3x_{3} \\
&=&& 6 - x_{1} - \frac{10}{3} - \frac{5}{3}x_{1} - \frac{20}{3}x_{3} + \frac{5}{3}x_{4} - 3x_{3} \\
&=&& \frac{8}{3} - \frac{8}{3}x_{1} - \frac{29}{3}x_{3} + \frac{5}{3}x_{4} \\
x_{6} \,&=&&\, 4 + x_{1} - 3\left(\frac{2}{3} + \frac{1}{3}x_{1} + \frac{4}{3}x_{3} - \frac{1}{3}x_{4}\right) - 3x_{3} \\
&=&&\, 4 + x_{1} - 2 - x_{1} - 4x_{3} + x_{4} - 3x_{3} \\
&=&&\, 2 - 7x_{3} + x_{4} \\
x_{7} &=&& 2 - x_{1} + \frac{2}{3} + \frac{1}{3}x_{1} + \frac{4}{3}x_{3} - \frac{1}{3}x_{4} - 3x_{3} \\
&=&& \frac{8}{3} - \frac{2}{3}x_{1} - \frac{5}{3}x_{3} - \frac{1}{3}x_{4} \\
z \,&=&&\, - 5x_{1} + 11\left(\frac{2}{3} + \frac{1}{3}x_{1} + \frac{4}{3}x_{3} - \frac{1}{3}x_{4}\right) - 5x_{3} \\
&=&&\, -5x_{1} + \frac{22}{3} + \frac{11}{3}x_{1} + \frac{44}{3}x_{3} - \frac{11}{3}x_{4} - 5x_{3} \\
&=&&\, \frac{22}{3} - \frac{4}{3}x_{1} + \frac{29}{3}x_{3} - \frac{11}{3}x_{4}
\end{alignat*}
\underline{Ergebnis der 1. Iteration}:
\begin{alignat*}{5}
x_{2} \,&=&\, \frac{2}{3} \,&+&\, \frac{1}{3}x_{1} \,&+&\, \frac{4}{3}x_{3} \,&-&\, \frac{1}{3}x_{4} \\
x_{5} \,&=&\, \frac{8}{3} \,&-&\, \frac{8}{3}x_{1} \,&-&\, \frac{29}{3}x_{3} \,&+&\, \frac{5}{3}x_{4} \\
x_{6} \,&=&\, 2 && \,&-&\, 7x_{3} \,&+&\, x_{4} \\
x_{7} \,&=&\, \frac{8}{3} \,&-&\, \frac{2}{3}x_{1} \,&-&\, \frac{5}{3}x_{3} \,&-&\, \frac{1}{3}x_{4} \\ \cline{1 - 9}
z \,&=&\, \frac{22}{3} \,&-&\, \frac{4}{3}x_{1} \,&+&\, \frac{29}{3}x_{3} \,&-&\, \frac{11}{3}x_{4}
\end{alignat*}
\underline{2. Iteration}:
Eingangsvariable: $x_{3}$ \\
Ausgangsvariable: $x_{5}$
Es folgt
\begin{alignat*}{2}
\frac{29}{3}x_{3} &=&& \frac{8}{3} - \frac{8}{3}x_{1} + \frac{5}{3}x_{4} - x_{5} \\
x_{3} &=&& \frac{8}{29} - \frac{8}{29}x_{1} + \frac{5}{29}x_{4} - \frac{3}{29}x_{5} \\
x_{2} &=&& \frac{2}{3} + \frac{1}{3}x_{1} + \frac{4}{3}\left(\frac{8}{29} - \frac{8}{29}x_{1} + \frac{5}{29}x_{4} - \frac{3}{29}x_{5}\right) - \frac{1}{3}x_{4} \\
&=&& \frac{2}{3} + \frac{1}{3}x_{1} + \frac{32}{87} - \frac{32}{87}x_{1} + \frac{20}{87}x_{4} - \frac{4}{29}x_{5} - \frac{1}{3}x_{4} \\
&=&& \frac{30}{29} - \frac{1}{29}x_{1} - \frac{1}{29}x_{4} - \frac{4}{29}x_{5} \\
x_{6} &=&& 2 - 7\left(\frac{8}{29} - \frac{8}{29}x_{1} + \frac{5}{29}x_{4} - \frac{3}{29}x_{5}\right) + x_{4} \\
&=&& 2 - \frac{56}{29} + \frac{56}{29}x_{1} - \frac{35}{29}x_{4} + \frac{21}{29}x_{5} + x_{4} \\
&=&& \frac{2}{29} + \frac{56}{29}x_{1} - \frac{6}{29}x_{4} + \frac{21}{29}x_{5} \\
x_{7} &=&& \frac{8}{3} - \frac{2}{3}x_{1} - \frac{5}{3}\left(\frac{8}{29} - \frac{8}{29}x_{1} + \frac{5}{29}x_{4} - \frac{3}{29}x_{5}\right) - \frac{1}{3}x_{4} \\
&=&& \frac{8}{3} - \frac{2}{3}x_{1} - \frac{40}{87} + \frac{40}{87}x_{1} - \frac{25}{87}x_{4} + \frac{5}{29}x_{5} - \frac{1}{3}x_{4} \\
&=&& \frac{64}{29} - \frac{6}{29}x_{1} - \frac{18}{29}x_{4} + \frac{5}{29}x_{5} \\
z &=&& \frac{22}{3} - \frac{4}{3}x_{1} + \frac{29}{3}\left(\frac{8}{29} - \frac{8}{29}x_{1} + \frac{5}{29}x_{4} - \frac{3}{29}x_{5}\right) - \frac{11}{3}x_{4} \\
&=&& \frac{22}{3} - \frac{4}{3}x_{1} + \frac{8}{3} - \frac{8}{3}x_{1} + \frac{5}{3}x_{4} - x_{5} - \frac{11}{3}x_{4} \\
&=&& 10 + \frac{4}{3}x_{1} - 2x_{4} - x_{5}
\end{alignat*}
\underline{Ergebnis der 2. Iteration}:
\begin{alignat*}{5}
x_{3} \,&=&\, \frac{8}{29} \,&-&\, \frac{8}{29}x_{1} \,&+&\, \frac{5}{29}x_{4} \,&-&\, \frac{3}{29}x_{5} \\
x_{2} \,&=&\, \frac{30}{29} \,&-&\, \frac{1}{29}x_{1} \,&-&\, \frac{1}{29}x_{4} \,&-&\, \frac{4}{29}x_{5} \\
x_{6} \,&=&\, \frac{2}{29} \,&+&\, \frac{56}{29}x_{1} \,&-&\, \frac{6}{29}x_{4} \,&+&\, \frac{21}{29}x_{5} \\
x_{7} \,&=&\, \frac{64}{29} \,&-&\, \frac{6}{29}x_{1} \,&-&\, \frac{18}{29}x_{4} \,&+&\, \frac{5}{29}x_{5} \\ \cline{1 - 9}
z \,&=&\, 10 \,&+&\, \frac{4}{3}x_{1} \,&-&\, 2x_{4} \,&-&\, x_{5}
\end{alignat*}
\underline{3. Iteration}:
Eingangsvariable: $x_{1}$\\
Ausgangsvariable: $x_{3}$
Es folgt
\begin{alignat*}{2}
\frac{8}{29}x_{1} &=&& \frac{8}{29} + \frac{5}{29}x_{4} - \frac{3}{29}x_{5} - x_{3} \\
x_{1} &=&& 1 + \frac{5}{8}x_{4} - \frac{3}{8}x_{5} - \frac{29}{8}x_{3} \\
x_{2} &=&& \frac{30}{29} - \frac{1}{29}\left(1 + \frac{5}{8}x_{4} - \frac{3}{8}x_{5} - \frac{29}{8}x_{3}\right) - \frac{1}{29}x_{4} - \frac{4}{29}x_{5} \\
&=&& \frac{30}{29} - \frac{1}{29} - \frac{5}{232}x_{4} + \frac{3}{232}x_{5} + \frac{1}{8}x_{3} - \frac{1}{29}x_{4} - \frac{4}{29}x_{5} \\
&=&& 1 - \frac{13}{232}x_{4} - \frac{1}{8}x_{5} + \frac{1}{8}x_{3} \\
x_{6} &=&& \frac{2}{29} + \frac{56}{29}\left(1 + \frac{5}{8}x_{4} - \frac{3}{8}x_{5} - \frac{29}{8}x_{3}\right) - \frac{6}{29}x_{4} + \frac{21}{29}x_{5} \\
&=&& \frac{2}{29} + \frac{56}{29} + \frac{35}{29}x_{4} - \frac{21}{29}x_{5} - 7x_{3} - \frac{6}{29}x_{4} + \frac{21}{29}x_{5} \\
&=&& 2 + x_{4} - 7x_{3} \\
x_{7} &=&& \frac{64}{29} - \frac{6}{29}\left(1 + \frac{5}{8}x_{4} - \frac{3}{8}x_{5} - \frac{29}{8}x_{3}\right) - \frac{18}{29}x_{4} + \frac{5}{29}x_{5} \\
&=&& \frac{64}{29} - \frac{6}{29} - \frac{15}{116}x_{4} + \frac{18}{232}x_{5} + \frac{3}{4}x_{3} - \frac{18}{29}x_{4} + \frac{5}{29}x_{5} \\
&=&& 2 - \frac{3}{4}x_{4} + \frac{1}{4}x_{5} + \frac{3}{4}x_{3} \\
z &=&& 10 + \frac{4}{3}\left(1 + \frac{5}{8}x_{4} - \frac{3}{8}x_{5} - \frac{29}{8}x_{3}\right) - 2x_{4} - x_{5} \\
&=&& 10 + \frac{4}{3} + \frac{5}{6}x_{4} - \frac{1}{2}x_{5} - \frac{29}{6}x_{3} - 2x_{4} - x_{5} \\
&=&& \frac{34}{3} - \frac{7}{6}x_{4} - \frac{3}{2}x_{5} - \frac{29}{6}x_{3}
\end{alignat*}
\underline{Ergebnis der 3. Iteration}:
\begin{alignat*}{5}
x_{1} \,&=&\, 1 \,&+&\, \frac{5}{8}x_{4} \,&-&\, \frac{3}{8}x_{5} \,&-&\, \frac{29}{8}x_{3} \\
x_{2} \,&=&\, 1 \,&-&\, \frac{13}{232}x_{4} \,&-&\, \frac{1}{8}x_{5} \,&+&\, \frac{1}{8}x_{3} \\
x_{6} \,&=&\, 2 \,&+&\, x_{4} && \,&-&\, 7x_{3} \\
x_{7} \,&=&\, 2 \,&-&\, \frac{3}{4}x_{4} \,&+&\, \frac{1}{4}x_{5} \,&+&\, \frac{3}{4}x_{3} \\ \cline{1 - 9}
z \,&=&\, \frac{34}{3} \,&-&\, \frac{7}{6}x_{4} \,&-&\, \frac{3}{2}x_{5} \,&-&\, \frac{29}{6}x_{3}
\end{alignat*}
Dieses Tableau liefert die optimale Lösung $x_{1} = 1, x_{2} = 1, x_{3} = 0$ mit $z = \frac{34}{3}$.
\underline{Startlösung ("`zulässige Basislösung am Anfang"')}:
\[
x_{1} = 0, x_{2} = 0, x_{3} = 0, x_{4} = 2, x_{5} = 6, x_{6} = 4, x_{7} = 2 \text{ mit } z = 0
\]
\underline{Zulässige Basislösung nach der 1. Iteration}:
\[
x_{1} = 0, x_{2} = \frac{2}{3}, x_{3} = 0, x_{4} = 0, x_{5} = \frac{8}{3}, x_{6} = 2, x_{7} = \frac{8}{3} \text{ mit } z = \frac{22}{3} = 7\frac{1}{3}
\]
\underline{Zulässige Basislösung nach der 2. Iteration}:
\[
x_{1} = 0, x_{2} = \frac{30}{29}, x_{3} = \frac{8}{29}, x_{4} = 0, x_{5} = 0, x_{6} = 2, x_{7} = \frac{64}{29} \text{ mit } z = 10
\]
\underline{Zulässige Basislösung nach der 3. Iteration}:
\[
x_{1} = 1, x_{2} = 1, x_{3} = 0, x_{4} = 0, x_{5} = 0, x_{6} = 2, x_{7} = 2 \text{ mit } z = \frac{34}{3} = 11\frac{1}{3}
\]
%
% 2 startet hier
%
%
\section{} %2
\textbf{Aufgabe:} Lösen Sie das folgende LP-Problem mit dem Simplexverfahren:
\begin{alignat*}{5}
\text{maximiere}\; & x_{1} &-& 9x_{2} &-& 11x_{3} &+& 3x_{4} && \\
\multicolumn{10}{l}{\text{unter den Nebenbedingungen}} && \\
\;& x_{1} &+& x_{2} &+& 3x_{3} &+& x_{4} &\leq & 3 \\
\;-& x_{1} &-& 3x_{2} &-& 7x_{3} &+& x_{4} &\leq & 1 \\
\multicolumn{8}{r}{$x_{1}, x_{2}, x_{3}, x_{4}$} \,&\geq &\, 0
\end{alignat*}
\textbf{Lösung.}
\underline{Starttableau}:
\begin{alignat*}{6}
x_{5} \,&=&\, 3 \,&-&\, x_{1} \,&-&\, x_{2} \,&-&\, 3x_{3} \,&-&\, x_{4} \\
x_{6} \,&=&\, 1 \,&+&\, x_{1} \,&+&\, 3x_{2} \,&+&\, 7x_{3} \,&-&\, x_{4} \\ \cline{1 - 11}
z \,&=&\, && x_{1} \,&-&\, 9x_{2} \,&-&\, 11x_{3} \,&+&\, 3x_{4}
\end{alignat*}
\underline{1. Iteration}:
Eingangsvariable: $x_{4}$\\
Ausgangsvariable: $x_{6}$
Es folgt
\begin{alignat*}{2}
x_{4} &=&& 1 + x_{1} + 3x_{2} + 7x_{3} - x_{6} \\
x_{5} &=&& 3 - x_{1} - x_{2} - 3x_{3} - \left(1 + x_{1} + 3x_{2} + 7x_{3} - x_{6}\right) \\
&=&& 3 - x_{1} - x_{2} - 3x_{3} - 1 - x_{1} - 3x_{2} - 7x_{3} + x_{6} \\
&=&& 2 - 2x_{1} - 4x_{2} - 10x_{3} + x_{6} \\
z &=&& x_{1} - 9x_{2} - 11x_{3} + 3\left(1 + x_{1} + 3x_{2} + 7x_{3} - x_{6}\right) \\
&=&& x_{1} - 9x_{2} - 11x_{3} + 3 + 3x_{1} + 9x_{2} + 21x_{3} - 3x_{6} \\
&=&& 3 + 4x_{1} + 10x_{3} - 3x_{6}
\end{alignat*}
\underline{Ergebnis der 1. Iteration}:
\begin{alignat*}{6}
x_{4} \,&=&\, 1 \,&+&\, x_{1} \,&+&\, 3x_{2} \,&+&\, 7x_{3} \,&-&\, x_{6} \\
x_{5} \,&=&\, 2 \,&-&\, 2x_{1} \,&-&\, 4x_{2} \,&-&\, 10x_{3} \,&+&\, x_{6} \\ \cline{1 - 11}
z \,&=&\, 3 \,&+&\, 4x_{1} && \,&+&\, 10x_{3} \,&-&\, 3x_{6}
\end{alignat*}
\underline{2. Iteration}:
Eingangsvariable: $x_{3}$ \\
Ausgangsvariable: $x_{5}$
Es folgt
\begin{alignat*}{2}
10x_{3} &=&& 2 - 2x_{1} - 4x_{2} + x_{6} - x_{5} \\
x_{3} &=&& \frac{1}{5} - \frac{1}{5}x_{1} - \frac{2}{5}x_{2} + \frac{1}{10}x_{6} - \frac{1}{10}x_{5} \\
x_{4} &=&& 1 + x_{1} + 3x_{2} + 7\left(\frac{1}{5} - \frac{1}{5}x_{1} - \frac{2}{5}x_{2} + \frac{1}{10}x_{6} - \frac{1}{10}x_{5}\right) - x_{6} \\
&=&& 1 + x_{1} + 3x_{2} + \frac{7}{5} - \frac{7}{5}x_{1} - \frac{14}{5}x_{2} + \frac{7}{10}x_{6} - \frac{7}{10}x_{5} - x_{6} \\
&=&& \frac{12}{5} - \frac{2}{5}x_{1} + \frac{1}{5}x_{2} - \frac{3}{10}x_{6} - \frac{7}{10}x_{5} \\
z &=&& 3 + 4x_{1} + 10\left(\frac{1}{5} - \frac{1}{5}x_{1} - \frac{2}{5}x_{2} + \frac{1}{10}x_{6} - \frac{1}{10}x_{5}\right) - 3x_{6} \\
&=&& 3 + 4x_{1} + 2 - 2x_{1} - 4x_{2} + x_{6} - x_{5} - 3x_{6} \\
&=&& 5 + 2x_{1} - 4x_{2} - 2x_{6} - x_{5}
\end{alignat*}
\underline{Ergebnis der 2. Iteration}:
\begin{alignat*}{6}
x_{3} \,&=&\, \frac{1}{5} \,&-&\, \frac{1}{5}x_{1} \,&-&\, \frac{2}{5}x_{2} \,&+&\, \frac{1}{10}x_{6} \,&-&\, \frac{1}{10}x_{5} \\
x_{4} \,&=&\, \frac{12}{5} \,&-&\, \frac{2}{5}x_{1} \,&+&\, \frac{1}{5}x_{2} \,&-&\, \frac{3}{10}x_{6} \,&-&\, \frac{7}{10}x_{5} \\ \cline{1 - 11}
z \,&=&\, 5 \,&+&\, 2x_{1} \,&-&\, 4x_{2} \,&-&\, 2x_{6} \,&-&\, x_{5}
\end{alignat*}
\underline{3. Iteration}:
Eingangsvariable: $x_{1}$\\
Ausgangsvariable: $x_{3}$
Es folgt
\begin{alignat*}{2}
\frac{1}{5}x_{1} &=&& \frac{1}{5} - \frac{2}{5}x_{2} + \frac{1}{10}x_{6} - \frac{1}{10}x_{5} - x_{3} \\
x_{1} &=&& 1 - 2x_{2} + \frac{1}{2}x_{6} - \frac{1}{2}x_{5} - 5x_{3} \\
x_{4} &=&& \frac{12}{5} - \frac{2}{5}\left(1 - 2x_{2} + \frac{1}{2}x_{6} - \frac{1}{2}x_{5} - 5x_{3}\right) + \frac{1}{5}x_{2} - \frac{3}{10}x_{6} - \frac{7}{10}x_{5} \\
&=&& \frac{12}{5} - \frac{2}{5} + \frac{4}{5}x_{2} - \frac{1}{5}x_{6} + \frac{1}{5}x_{5} + 2x_{3} + \frac{1}{5}x_{2} - \frac{3}{10}x_{6} - \frac{7}{10}x_{5} \\
&=&& 2 + x_{2} - \frac{1}{2}x_{6} - \frac{1}{2}x_{5} + 2x_{3} \\
z &=&& 5 + 2\left(1 - 2x_{2} + \frac{1}{2}x_{6} - \frac{1}{2}x_{5} - 5x_{3}\right) - 4x_{2} - 2x_{6} - x_{5} \\
&=&& 5 + 2 - 4x_{2} + x_{6} - x_{5} - 10x_{3} - 4x_{2} - 2x_{6} - x_{5} \\
&=&& 7 - 8x_{2} - x_{6} - 2x_{5} - 10x_{3}
\end{alignat*}
\underline{Ergebnis der 3. Iteration}:
\begin{alignat*}{6}
x_{1} \,&=&\, 1 \,&-&\, 2x_{2} \,&+&\, \frac{1}{2}x_{6} \,&-&\, \frac{1}{2}x_{5} \,&-&\, 5x_{3} \\
x_{4} \,&=&\, 2 \,&+&\, x_{2} \,&-&\, \frac{1}{2}x_{6} \,&-&\, \frac{1}{2}x_{5} \,&+&\, 2x_{3} \\ \cline{1 - 11}
z \,&=&\, 7 \,&-&\, 8x_{2} \,&-&\, x_{6} \,&-&\, 2x_{5} \,&-&\, 10x_{3}
\end{alignat*}
Dieses Tableau liefert die optimale Lösung $x_{1} = 1, x_{2} = 0, x_{3} = 0$ mit $z = 7$.
\underline{Startlösung ("`zulässige Basislösung am Anfang"')}:
\[
x_{1} = 0, x_{2} = 0, x_{3} = 0, x_{4} = 2, x_{5} = 3, x_{6} = 1 \text{ mit } z = 0
\]
\underline{Zulässige Basislösung nach der 1. Iteration}:
\[
x_{1} = 0, x_{2} = \frac{2}{3}, x_{3} = 0, x_{4} = 1, x_{5} = 2, x_{6} = 0 \text{ mit } z = 3
\]
\underline{Zulässige Basislösung nach der 2. Iteration}:
\[
x_{1} = 0, x_{2} = 0, x_{3} = \frac{1}{5}, x_{4} = \frac{12}{5}, x_{5} = 0, x_{6} = 2 \text{ mit } z = 5
\]
\underline{Zulässige Basislösung nach der 3. Iteration}:
\[
x_{1} = 1, x_{2} = 0, x_{3} = 0, x_{4} = 2, x_{5} = 0, x_{6} = 0 \text{ mit } z = 7
\]
\end{document}

View File

@ -0,0 +1,366 @@
\documentclass[10pt,a4paper,oneside,ngerman,numbers=noenddot]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{paralist}
\usepackage{gauss}
\usepackage{pgfplots}
\usepackage[locale=DE,exponent-product=\cdot,detect-all]{siunitx}
\usepackage{tikz}
\usetikzlibrary{matrix,fadings,calc,positioning,decorations.pathreplacing,arrows,decorations.markings}
\usepackage{polynom}
\polyset{style=C, div=:,vars=x}
\pgfplotsset{compat=1.8}
\pagenumbering{arabic}
% ensures that paragraphs are separated by empty lines
\parskip 12pt plus 1pt minus 1pt
\parindent 0pt
% define how the sections are rendered
\def\thesection{\arabic{section})}
\def\thesubsection{\alph{subsection})}
\def\thesubsubsection{(\roman{subsubsection})}
% some matrix magic
\makeatletter
\renewcommand*\env@matrix[1][*\c@MaxMatrixCols c]{%
\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{#1}}
\makeatother
\begin{document}
\author{Jan Branitz (6326955), Jim Martens (6420323),\\
Stephan Niendorf (6242417)}
\title{Hausaufgaben zum 4. November}
\maketitle
\section{} %1
\subsection{} %a
\textbf{Aufgabe:} Lösen Sie das folgende LP-Problem mit dem Simplexverfahren:
\begin{alignat*}{3}
\text{maximiere}\; & x_{1} &+& 2x_{2} && \\
\multicolumn{6}{l}{\text{unter den Nebenbedingungen}} && \\
\;-& 4x_{1} &+& x_{2} &\leq & 1 \\
\;-& x_{1} &+& x_{2} &\leq & 2 \\
\;& \frac{1}{2}x_{1} &-& x_{2} &\leq & 1 \\
\multicolumn{4}{r}{$x_{1}, x_{2}$} \,&\geq &\, 0
\end{alignat*}
\textbf{Lösung.}
\underline{Starttableau}:
\begin{alignat*}{4}
x_{3} \,&=&\, 1 \,&+&\, 4x_{1} \,&-&\, x_{2} \\
x_{4} \,&=&\, 2 \,&+&\, x_{1} \,&-&\, x_{2} \\
x_{5} \,&=&\, 1 \,&-&\, \frac{1}{2}x_{1} \,&+&\, x_{2} \\ \cline{1 - 9}
z &=& && x_{1} \,&+&\, 2x_{2}
\end{alignat*}
\underline{1. Iteration}:
Eingangsvariable: $x_{2}$\\
Ausgangsvariable: $x_{3}$
Es folgt
\begin{alignat*}{2}
x_{2} \,&=&&\, 1 + 4x_{1} - x_{3} \\
x_{4} \,&=&&\, 2 + x_{1} - \left(1 + 4x_{1} - x_{3}\right) \\
&=&&\, 2 + x_{1} - 1 - 4x_{1} + x_{3} \\
&=&&\, 1 - 3x_{1} + x_{3} \\
x_{5} \,&=&&\, 1 - \frac{1}{2}x_{1} + \left(1 + 4x_{1} - x_{3}\right) \\
&=&&\, 1 - \frac{1}{2}x_{1} + 1 + 4x_{1} - x_{3} \\
&=&&\, 2 + \frac{7}{2}x_{1} - x_{3} \\
z \,&=&&\, x_{1} + 2\left(1 + 4x_{1} - x_{3}\right) \\
&=&&\, x_{1} + 2 + 8x_{1} - 2x_{3} \\
&=&&\, 2 + 9x_{1} - 2x_{3}
\end{alignat*}
\underline{Ergebnis der 1. Iteration}:
\begin{alignat*}{4}
x_{2} \,&=&\, 1 \,&+&\, 4x_{1} \,&-&\, x_{3} \\
x_{4} \,&=&\, 1 \,&-&\, 3x_{1} \,&+&\, x_{3} \\
x_{5} \,&=&\, 2 \,&+&\, \frac{7}{2}x_{1} \,&-&\, x_{3} \\ \cline{1 - 9}
z &=& 2 \,&+&\, 9x_{1} &-& 2x_{3}
\end{alignat*}
\underline{2. Iteration}:
Eingangsvariable: $x_{1}$ \\
Ausgangsvariable: $x_{4}$
Es folgt
\begin{alignat*}{2}
3x_{1} &=&& 1 + x_{3} - x_{4} \\
x_{1} &=&& \frac{1}{3} + \frac{1}{3}x_{3} - \frac{1}{3}x_{4} \\
x_{2} &=&& 1 + 4\left(\frac{1}{3} + \frac{1}{3}x_{3} - \frac{1}{3}x_{4}\right) - x_{3} \\
&=&& 1 + \frac{4}{3} + \frac{4}{3}x_{3} - \frac{4}{3}x_{4} \\
&=&& \frac{7}{3} + \frac{4}{3}x_{3} - \frac{4}{3}x_{4} \\
x_{5} &=&& 3 + \frac{7}{2}\left(\frac{1}{3} + \frac{1}{3}x_{3} - \frac{1}{3}x_{4}\right) - x_{3} \\
&=&& 3 + \frac{7}{6} + \frac{7}{6}x_{3} - \frac{7}{6}x_{4} - x_{3} \\
&=&& \frac{13}{6} + \frac{1}{6}x_{3} - \frac{7}{6}x_{4} \\
z &=&& 2 + 9\left(\frac{1}{3} + \frac{1}{3}x_{3} - \frac{1}{3}x_{4}\right) - 2x_{3} \\
&=&& 2 + 3 + 3x_{3} - 3x_{4} - 2x_{3} \\
&=&& 5 + x_{3} - 3x_{4}
\end{alignat*}
\underline{Ergebnis der 2. Iteration}:
\begin{alignat*}{4}
x_{1} \,&=&\, \frac{1}{3} \,&+&\, \frac{1}{3}x_{3} \,&-&\, \frac{1}{3}x_{4} \\
x_{2} \,&=&\, \frac{7}{3} \,&+&\, \frac{4}{3}x_{3} \,&-&\, \frac{4}{3}x_{4} \\
x_{5} \,&=&\, \frac{13}{6} \,&+&\, \frac{1}{6}x_{3} \,&-&\, \frac{7}{6}x_{4} \\ \cline{1 - 7}
z &=& 5 \,&+&\, x_{3} \,&-&\, 3x_{4}
\end{alignat*}
\underline{3. Iteration}:
Eingangsvariable: $x_{3}$ \\
Ausgangsvariable: keine vorhanden
Es gibt keine optimale Lösung, da es keine Basisvariable gibt, die $x_{3}$ beschränkt. Damit ist dieses Problem unbeschränkt.
\underline{Startlösung ("`zulässige Basislösung am Anfang"')}:
\[
x_{1} = 0, x_{2} = 0, x_{3} = 1, x_{4} = 2, x_{5} = 1 \text{ mit } z = 0
\]
\underline{Zulässige Basislösung nach der 1. Iteration}:
\[
x_{1} = 0, x_{2} = 1, x_{3} = 0, x_{4} = 1, x_{5} = 2 \text{ mit } z = 2
\]
\underline{Zulässige Basislösung nach der 2. Iteration}:
\[
x_{1} = \frac{1}{3}, x_{2} = \frac{7}{3}, x_{3} = 0, x_{4} = 0, x_{5} = \frac{13}{6} \text{ mit } z = 5
\]
Ermittlung einer Halbgeraden des $\mathbb{R}^{2}$:
\begin{alignat*}{2}
x_{3} &=& t \\
x_{4} &=& 0 \\
x_{1} &=& \frac{1}{3} + \frac{1}{3}t \\
x_{2} &=& \frac{7}{3} + \frac{4}{3}t \\
x_{5} &=& \frac{13}{6} + \frac{1}{6}t \\
z &=& 5 + t \\
t &\geq & 0
\end{alignat*}
Daraus ergibt sich in Parameterform:
\begin{alignat*}{2}
(x_{1}, x_{2}) &=& \left(\frac{1}{3} + \frac{1}{3}t, \frac{7}{3} + \frac{4}{3}t\right) \\
&=& \left(\frac{1}{3}, \frac{7}{3}\right) + t\left(\frac{1}{3}, \frac{4}{3}\right)
\end{alignat*}
\begin{alignat*}{2}
(x_{3}, x_{2}) &=& \left(t, \frac{7}{3} + \frac{4}{3}t\right) \\
&=& \left(0, \frac{7}{3}\right) + t\left(1, \frac{4}{3}\right)
\end{alignat*}
Da in diesem Fall $x_{1}$ eine Basisvariable ist und somit nicht gleich $t$ ist, stellt $t$ eine beliebige positive Konstante dar. Daher verändert sich auch die Gerade je nach Wahl von $t$. Deswegen ist es nicht möglich genau eine Halbgerade zu finden, auf der die Zielfunktion beliebig große Werte annimmt.
\subsection{} %b
Durch Umstellen der Nebenbedingungen des Problems aus a nach $x_{2}$ ergibt sich:
\begin{alignat*}{3}
x_{2} &\leq & 4x_{1} &+& 1 \\
x_{2} &\leq & x_{1} &+& 2 \\
x_{2} &\geq & \frac{1}{2}x_{1} &-& 1
\end{alignat*}
Daraus lässt sich die Fläche aller gültigen Werte zeichnen.
\begin{tikzpicture}[>=stealth]
\begin{axis}[
ymin=0,ymax=7,
x=1cm,
y=1cm,
axis x line=middle,
axis y line=middle,
axis line style=->,
xlabel={$x_{1}$},
ylabel={$x_{2}$},
xmin=0,xmax=7
]
\addplot[no marks, black, -] expression[domain=0:6,samples=100]{4*x + 1} node[pos=0.65,anchor=north]{};
\addplot[no marks, black, -] expression[domain=0:6,samples=100]{1*x + 2} node[pos=0.65,anchor=north]{};
\addplot[no marks, black, -] expression[domain=0:6,samples=100]{0.5*x - 1} node[pos=0.65,anchor=north]{};
\addplot[no marks, black, -] expression[domain=0:6,samples=100]{1.333333333333333*x + 2.33333333333333333} node[pos=0.65,anchor=north]{};
%\node at (axis cs: 2.5,4.5) {(2.25,3.75)};
%\node at (axis cs: 6,2) {z};
%\draw[>=stealth] (axis cs:1,0) -- (axis cs:1,-6) node [pos=0.65,anchor=north]{};
\end{axis}
\end{tikzpicture}\\
\section{} %2
\subsection{} %a
\textbf{Aufgabe:} Lösen Sie das folgende LP-Hilfsproblem mit dem Simplexverfahren:
\begin{alignat*}{5}
\text{maximiere}\; -& x_{0} && && && && \\
\multicolumn{10}{l}{\text{unter den Nebenbedingungen}} && \\
\; & &-& x_{1} &-& x_{2} &-& x_{0} &\leq & -4 \\
\; &&& x_{1} &+& 2x_{2} &-& x_{0} &\leq & 2 \\
\; &&-&x_{1} &+& x_{2} &-& x_{0} &\leq & 1 \\
\multicolumn{8}{r}{$x_{0}, x_{1}, x_{2}$} \,&\geq &\, 0
\end{alignat*}
\textbf{Lösung.}
\underline{Starttableau}:
\begin{alignat*}{5}
x_{3} \,&=&\, -4 \,&-&\, x_{1} \,&+&\, x_{2} \,&+&\, x_{0} \\
x_{4} \,&=&\, 2 \,&-&\, x_{1} \,&-&\, 2x_{2} \,&+&\, x_{0} \\
x_{5} \,&=&\, 1 \,&+&\, x_{1} \,&-&\, x_{2} \,&+&\, x_{0} \\ \cline{1 - 9}
w &=& && && \,&-&\, x_{0}
\end{alignat*}
Umwandeln in ein zulässiges Tableau:
Eingangsvariable: $x_{0}$\\
Ausgangsvariable: $x_{3}$
Es folgt
\begin{alignat*}{2}
-x_{0} \,&=&&\, -4 - x_{1} + x_{2} - x_{3} \\
x_{0} \,&=&&\, 4 + x_{1} - x_{2} + x_{3} \\
x_{4} \,&=&&\, 2 - x_{1} - 2x_{2} + \left(4 + x_{1} - x_{2} + x_{3}\right) \\
&=&&\, 2 - x_{1} - 2x_{2} + 4 + x_{1} - x_{2} + x_{3} \\
&=&&\, 6 - 3x_{2} + x_{3} \\
x_{5} \,&=&&\, 1 + x_{1} - x_{2} + \left(4 + x_{1} - x_{2} + x_{3}\right) \\
&=&&\, 1 + x_{1} - x_{2} + 4 + x_{1} - x_{2} + x_{3} \\
&=&&\, 5 + 2x_{1} - 2x_{2} + x_{3} \\
w \,&=&&\, -\left(4 + x_{1} - x_{2} + x_{3}\right) \\
&=&&\, -4 - x_{1} + x_{2} - x_{3} \\
\end{alignat*}
\underline{Ergebnis des Umwandelns}:
\begin{alignat*}{5}
x_{0} \,&=&\, 4 \,&+&\, x_{1} \,&-&\, x_{2} \,&+&\, x_{3} \\
x_{4} \,&=&\, 6 \,&& &-&\, 3x_{2} \,&+&\, x_{3} \\
x_{5} \,&=&\, 5 \,&+&\, 2x_{1} \,&-&\, 2x_{2} \,&+&\, x_{3} \\ \cline{1 - 9}
w &=& -2 \,&-&\, x_{1} \,&+&\, x_{2} \,&-&\, x_{3}
\end{alignat*}
\underline{1. Iteration}:
Eingangsvariable: $x_{2}$ \\
Ausgangsvariable: $x_{4}$
Es folgt
\begin{alignat*}{2}
3x_{2} &=&& 6 + x_{3} - x_{4} \\
x_{2} &=&& 2 + \frac{1}{3}x_{3} - \frac{1}{3}x_{4} \\
x_{0} &=&& 4 + x_{1} - \left(2 + \frac{1}{3}x_{3} - \frac{1}{3}x_{4}\right) + x_{3} \\
&=&& 4 + x_{1} - 2 - \frac{1}{3}x_{3} + \frac{1}{3}x_{4} + x_{3}\\
&=&& 2 + x_{1} + \frac{2}{3}x_{3} + \frac{1}{3}x_{4} \\
x_{5} &=&& 5 + 2x_{1} - 2\left(2 + \frac{1}{3}x_{3} - \frac{1}{3}x_{4}\right) + x_{3} \\
&=&& 5 + 2x_{1} - 4 - \frac{2}{3}x_{3} + \frac{2}{3}x_{4} + x_{3} \\
&=&& 1 + 2x_{1} + \frac{1}{3}x_{3} + \frac{2}{3}x_{4} \\
w &=&& -2 - x_{1} + \left(2 + \frac{1}{3}x_{3} - \frac{1}{3}x_{4}\right) - x_{3} \\
&=&& -2 - x_{1} + 2 + \frac{1}{3}x_{3} - \frac{1}{3}x_{4} + x_{3} \\
&=&& 0 - x_{1} + \frac{4}{3}x_{3} - \frac{1}{3}x_{4}
\end{alignat*}
\underline{Ergebnis der 1. Iteration}:
\begin{alignat*}{5}
x_{2} \,&=&\, 2 \,&& &+&\, \frac{1}{3}x_{3} \,&-&\, \frac{1}{3}x_{4} \\
x_{0} \,&=&\, 2 \,&+&\, x_{1} \,&+&\, \frac{2}{3}x_{3} \,&+&\, \frac{1}{3}x_{4} \\
x_{5} \,&=&\, 1 \,&+&\, 2x_{1} \,&+&\, \frac{1}{3}x_{3} \,&+&\, \frac{2}{3}x_{4} \\ \cline{1 - 9}
w &=& 0 \,&-&\, x_{1} \,&+&\, \frac{4}{3}x_{3} \,&-&\, \frac{1}{3}x_{4}
\end{alignat*}
Da das Hilfsproblem keine optimale Lösung besitzt, besitzt das ursprüngliche Problem keine zulässige Lösung und ist damit unlösbar.
\subsection{} %b
\textbf{Aufgabe:} Lösen Sie das folgende LP-Hilfsproblem mit dem Simplexverfahren:
\begin{alignat*}{5}
\text{maximiere}\; -& x_{0} && && && && \\
\multicolumn{10}{l}{\text{unter den Nebenbedingungen}} && \\
\; & && x_{1} &-& x_{2} &-& x_{0} &\leq & 8 \\
\; & &-& x_{1} &-& x_{2} &-& x_{0} &\leq & -3 \\
\; & &-& x_{1} &+& 4x_{2} &-& x_{0} &\leq & 2 \\
\multicolumn{8}{r}{$x_{0}, x_{1}, x_{2}$} \,&\geq &\, 0
\end{alignat*}
\textbf{Lösung.}
\underline{Starttableau}:
\begin{alignat*}{5}
x_{3} \,&=&\, 9 \,&-&\, x_{1} \,&+&\, x_{2} \,&+&\, x_{0} \\
x_{4} \,&=&\, -3 \,&+&\, x_{1} \,&+&\, x_{2} \,&+&\, x_{0} \\
x_{5} \,&=&\, 2 \,&+&\, x_{1} \,&-&\, 4x_{2} \,&+&\, x_{0} \\ \cline{1 - 9}
w &=& && && \,&-&\, x_{0}
\end{alignat*}
Umwandeln in ein zulässiges Tableau:
Eingangsvariable: $x_{0}$\\
Ausgangsvariable: $x_{4}$
Es folgt
\begin{alignat*}{2}
-x_{0} \,&=&&\, -3 + x_{1} + x_{2} - x_{4} \\
x_{0} \,&=&&\, 3 - x_{1} - x_{2} + x_{4} \\
x_{3} \,&=&&\, 9 - x_{1} + x_{2} + \left(3 - x_{1} - x_{2} + x_{4}\right) \\
&=&&\, 9 - x_{1} + x_{2} + 3 - x_{1} - x_{2} + x_{4} \\
&=&&\, 12 - 2x_{1} + x_{4} \\
x_{5} \,&=&&\, 2 + x_{1} - 4x_{2} + \left(3 - x_{1} - x_{2} + x_{4}\right) \\
&=&&\, 2 + x_{1} - 4x_{2} + 3 - x_{1} - x_{2} + x_{4} \\
&=&&\, 5 - 5x_{2} + x_{4} \\
w \,&=&&\, -\left(3 - x_{1} - x_{2} + x_{4}\right) \\
&=&&\, -3 + x_{1} + x_{2} - x_{4} \\
\end{alignat*}
\underline{Ergebnis des Umwandelns}:
\begin{alignat*}{5}
x_{0} \,&=&\, 3 \,&-&\, x_{1} \,&-&\, x_{2} \,&+&\, x_{4} \\
x_{3} \,&=&\, 12 \,&-&\, 2x_{1} \,&& &+&\, x_{4} \\
x_{5} \,&=&\, 5 \,&& &-&\, 5x_{2} \,&+&\, x_{4} \\ \cline{1 - 9}
w &=& -3 \,&+&\, x_{1} \,&+&\, x_{2} \,&-&\, x_{4}
\end{alignat*}
\underline{1. Iteration}:
Eingangsvariable: $x_{1}$ \\
Ausgangsvariable: $x_{0}$
Es folgt
\begin{alignat*}{2}
x_{1} &=&& 3 - x_{2} + x_{4} - x_{0} \\
x_{3} &=&& 12 - 2\left(3 - x_{2} + x_{4} - x_{0}\right) + x_{4} \\
&=&& 12 - 6 + 2x_{2} - 2x_{4} + 2x_{0} + x_{4} \\
&=&& 6 + 2x_{2} - x_{4} + 2x_{0} \\
x_{5} &=&& 5 - 5x_{2} + x_{4} \\
w &=&& -3 + \left(3 - x_{2} + x_{4} - x_{0}\right) + x_{2} - x_{4} \\
&=&& -3 + 3 - x_{2} + x_{4} - x_{0} + x_{2} - x_{4} \\
&=&& - x_{0}
\end{alignat*}
\underline{Ergebnis der 1. Iteration}:
\begin{alignat*}{5}
x_{1} \,&=&\, 3 \,&-&\, x_{2} \,&+&\, x_{4} \,&-&\, x_{0} \\
x_{3} \,&=&\, 6 \,&+&\, 2x_{2} \,&-&\, x_{4} \,&+&\, 2x_{0} \\
x_{5} \,&=&\, 5 \,&-&\, 5x_{2} \,&-&\, x_{4} \,&& \\ \cline{1 - 9}
w &=& && && &-& x_{0}
\end{alignat*}
Das Tableau ist optimal. Als optimale Lösung des Hilfsproblem erhält man:
\[
x_{0} =0, x_{1} = 3, x_{2} = 0
\]
Als zulässige Lösung für das ursprüngliche Problem ergibt sich:
\[
x_{1} = 3, x_{2} = 0
\]
Die ursprüngliche Zielfunktion lautet $z = x_{1} + 3x_{2}$. Setzt man für $x_{1}$ die rechte Seite der Gleichung im obigen Tableau ein, erhält man:
\[
z = 3 - x_{2} + x_{4} + 3x_{2} = 3 + 2x_{2} + x_{4}
\]
Daraus ergibt sich dieses Starttableau:
\begin{alignat*}{4}
x_{1} \,&=&\, 3 \,&-&\, x_{2} \,&+&\, x_{4} \\
x_{3} \,&=&\, 6 \,&+&\, 2x_{2} \,&-&\, x_{4} \\
x_{5} \,&=&\, 5 \,&-&\, 5x_{2} \,&-&\, x_{4} \\ \cline{1 - 7}
z \,&=&\, 3 \,&+&\, 2x_{2} \,&+&\, x_{4}
\end{alignat*}
\end{document}

219
se3/blatt1.rkt Normal file
View File

@ -0,0 +1,219 @@
#lang racket
#|
SE 3 Funktional Blatt 1
Abgebende: Jim 2martens, 2noack, 0giebel
|#
; 1.1
; degrees ist eine positive Zahl in Grad
(define (degreeToRadian degrees)
(/ (* degrees pi) 180)
)
; radians ist eine Zahl in Bogenmaß
(define (radianToDegree radians)
(/ (* radians 180) pi)
)
; 1.2
(define (my-acos cosinus)
; berechnen von alpha
(atan
; berechnen des tangens
(/
; berechnen des Sinus
(sqrt (- 1 (sqr cosinus)))
cosinus
)
)
)
; 1.3
; nauticMiles ist eine positive Zahl in nautischen Meilen
(define (nmToKM nauticMiles)
(* nauticMiles 1.852)
)
; 2.1
; Helferfunktion, um dG in Bogenmaß zu errechnen
(define (calculateDG widthARad widthBRad distanceLengthRad)
; ausrechnen von dG im Bogenmaß
(acos
; ausrechnen von cos dG im Bogenmaß
(+ (*
(sin widthARad)
(sin widthBRad)
)
(* (cos widthARad)
(cos widthBRad)
(cos distanceLengthRad)
)
)
)
)
; Helferfunktion, um Differenz der Länge in Bogenmaß zu errechnen
(define (calculateDistanceLengthRad lengthA lengthB)
; Differenz geographische Längen
(define distanceLength
(- lengthB lengthA)
)
; Differenz in Radiant umrechnen
(degreeToRadian distanceLength)
)
; breiteA laengeA breiteB laengeB alle in Grad angegeben
; westliche Länge und südliche Breite negativ angeben
(define (distanzAB breiteA laengeA breiteB laengeB)
; Parameter in Radiant umrechnen
(define breiteARad (degreeToRadian breiteA))
(define breiteBRad (degreeToRadian breiteB))
(define distanzLaengeRad (calculateDistanceLengthRad laengeA laengeB))
(define dG (calculateDG breiteARad breiteBRad distanzLaengeRad))
; umrechen in Kilometer
(nmToKM
; ermitteln der Entfernung in Seemeilen
(* 60
; umwandeln in Grad
(radianToDegree dG)
)
)
)
; ausrechnen der Entfernung zwischen den angegebenen Städten
(display "Entfernung Oslo - Hongkong (in km): ")
(distanzAB 59.93 10.75 22.2 114.1)
(display "Entfernung San Francisco - Honolulu (in km): ")
(distanzAB 37.75 -122.45 21.32 -157.83)
(display "Entfernung Osterinsel - Lima (in km): ")
(distanzAB -27.1 -109.4 -12.1 -77.05)
; 2.2
; breiteA laengeA breiteB laengeB alle in Grad angegeben
; westliche Länge und südliche Breite negativ angeben
(define (kurswinkel breiteA laengeA breiteB laengeB)
; benötigte Variablen bereitstellen
(define distanzLaengeRad (calculateDistanceLengthRad laengeA laengeB))
(define breiteARad (degreeToRadian breiteA))
(define breiteBRad (degreeToRadian breiteB))
(define dG (calculateDG breiteARad breiteBRad distanzLaengeRad))
; cos alpha r errechnen
(define cosAlphaR (/
(- (sin breiteBRad)
(* (cos dG)
(sin breiteARad)
)
)
(* (cos breiteARad)
(sin dG)
)
)
)
; alpha R bestimmen und in Grad umrechnen.
(define alphaR (acos cosAlphaR))
(define alphaRGrad (radianToDegree alphaR))
; bestimmen, ob Kurs nach Osten geht
(define isEastboundA (if (> laengeB laengeA) true false))
(define checkNecessary (> 0
(* laengeA
laengeB)
)
)
; überprüfen, ob offensichtliche Richtung tatsächlich kürzer ist
(define isEastbound (if checkNecessary
(if (> (- 360
(+ (abs laengeB)
(abs laengeA)
)
)
(+ (abs laengeB)
(abs laengeA)
)
)
isEastboundA
(not isEastboundA)
)
isEastboundA
)
)
; abhängig von der Richtung den Kurswinkel bestimmen
(if isEastbound alphaRGrad (- 360
alphaRGrad)
)
)
; ausrechnen der Kurswinkel auf den angegebenen Routen
(display "Kurswinkel Oslo - Hongkong: ")
(kurswinkel 59.93 10.75 22.2 114.1)
(display "Kurswinkel San Francisco - Honolulu: ")
(kurswinkel 37.75 -122.45 21.32 -157.83)
(display "Kurswinkel Osterinsel - Lima: ")
(kurswinkel -27.1 -109.4 -12.1 -77.05)
; 2.3
; winkelGrad darf maximal eine Nachkommastelle haben und muss in Grad
; angegeben sein
(define (gradToHimmelsrichtung winkelGrad)
; N=0,NNE=22.5,NE=45,ENE=67.5,E=90,ESE=112.5,SE=135,SSE=157.5,S=180
; SSW=202.5,SW=225,WSW=247.5,W=270,WNW=292.5,NW=315,NNW=337.5,N=360
; ein Kurswinkel ist also immer maximal 11.25 Grad von der nächsten fest
; definierten Himmelsrichtung entfernt
(define winkelGradModuloReady (* 10 winkelGrad))
(define abstand (/ (modulo winkelGradModuloReady 225) 10.0))
(define aufrunden (>= abstand 11.25))
(define richtungGrad1 (- winkelGrad abstand))
(define richtungGrad (if aufrunden
(+ richtungGrad1 22.5)
richtungGrad1
)
)
(case richtungGrad
[(0) "N"]
[(22.5) "NNE"]
[(45) "NE"]
[(67.5) "ENE"]
[(90) "E"]
[(112.5) "ESE"]
[(135) "SE"]
[(157.5) "SSE"]
[(180) "S"]
[(202.5) "SSW"]
[(225) "SW"]
[(247.5) "WSW"]
[(270) "W"]
[(292.5) "WNW"]
[(315) "NW"]
[(337.5) "NNW"]
[(360) "N"]
)
)
; ausgeben der Himmelsrichtungen für die eben berechneten Kurswinkel
(display "Flugrichtung Oslo - Hongkong: ")
(gradToHimmelsrichtung 67.4)
(display "Flugrichtung San Francisco - Honolulu: ")
(gradToHimmelsrichtung 251.8)
(display "Flugrichtung Osterinsel - Lima: ")
(gradToHimmelsrichtung 70.0)
; richtung muss als String in Form einer Himmelsrichtung gegeben werden
(define (himmelsrichtungToGrad richtung)
(case richtung
[("N") 0]
[("NNE") 22.5]
[("NE") 45]
[("ENE") 67.5]
[("E") 90]
[("ESE") 112.5]
[("SE") 135]
[("SSE") 157.5]
[("S") 180]
[("SSW") 202.5]
[("SW") 225]
[("WSW") 247.5]
[("W") 270]
[("WNW") 292.5]
[("NW") 315]
[("NNW") 337.5]
)
)