\chapter{Benutzerhandbuch}
\section{Start von TSPGA}
TSPGA kann als alleinstehende Applikation (java TSPGA), über das WWW mit Hilfe eines Java 1.1-fähigen Web Browsers als Applet (TSPGA.html) gestartet werden. Wird das Programm als alleinstehende Applikation gestartet, so erscheint direkt das Hauptfenster (siehe Abb.~\ref{statistic1}), ansonsten ein {\em Start} Button innerhalb der in Abb.~\ref{webpage} gezeigten Web-Page TSPGA.html.\\
Mit dem {\em Start} Button läßt sich die Applikation starten. Dabei wird aus dem {\em Start} ein {\em Stop} Button, welcher bei Betätigung das Programm beendet.


\begin{figure}[tbp]
\begin{center}
\fbox{\includegraphics[scale=0.6]{./pic/webpage.ps}}
\caption{Ausschnitt aus der Web-Page TSPGA.html} \label{webpage}
\end{center}
\end{figure}


\section{Menüleiste des Hauptfensters (GA im ungestarteten Zustand)}
\begin{figure}[htbp]
\begin{center}
\includegraphics[scale=0.7]{./pic/statisticstart.ps}
\caption{Das Hauptfenster} \label{statistic1}
\end{center}
\end{figure}

\subsection{File}
\subsubsection{Close}
Hiermit kann die Anwendung zu jedem Zeitpunkt abgebrochen werden.

\subsection{Simulation}
\subsubsection{Initialize}\label{initialize}
Ein neuer GA wird mit den unter Options eingestellten Parametern gestartet. Hierbei erfolgt eine zufällige Anfangsinitialisierung der Population und deren Bewertung mit der Fitneßfunktion. Das Hauptfenster wird entsprechend initialisiert (siehe Abb.~\ref{statisticrun}).\\
Bei der Initialisierung wird ferner das Populationsfenster (siehe Abb.~\ref{population}) und das Generationsfenster (siehe Abb.~\ref{step}) geöffnet (bis zu einer Problemgröße von 26 Städten). Mit ihrer Hilfe kann der Ablauf des GAs im weiteren Verlauf genauestens verfolgt werden.\\
\\
Ein bereits gestarteter GA wird bei der Auswahl dieses Menüpunktes abgebrochen, und es erfolgt eine Neuinitialisierung.


\subsection{Options}
Sämtliche den GA als auch das TSP betreffende Parameter können unter diesem Menü eingestellt werden. Wurde bereits ein GA gestartet, so bewirken Änderungen im Fenster ``GA Parameters'' (siehe Abb.~\ref{parameter}) oder im Fenster ``Set Problem'' (siehe Abb.~\ref{problem}) einen Abbruch dieses GAs. Ein neuer GA mit den veränderten Parametern kann mit dem Menüpunkt Initialize gestartet werden.
\subsubsection{GA Parameters}
Bei der Auswahl dieses Menüpunktes können alle den GA betreffenden Parameter eingestellt werden (siehe Abschnitt~\ref{gadata}).
\subsubsection{Set Problem}
Bei der Auswahl dieses Menüpunktes können Traveling Salesman Probleme verschiedenster Art eingestellt werden (siehe Abschnitt~\ref{tspdata}).
\subsubsection{Small Fonts}
Durch diese Auswahl werden die Städtebezeichnungen und andere Schriften mit einer kleineren Schriftgröße angezeigt. Diese bewährt sich bei besonders dichten Problemstellungen, um eine gute Visualisierung zu gewährleisten.
\subsubsection{Medium Fonts}
Default Schriftgröße.
\subsubsection{Large Fonts}
Durch diese Auswahl werden die Städtebezeichnungen und andere Schriften mit einer größeren Schriftgröße angezeigt.
\subsubsection{Show Towns}
Ist diese Option gesetzt, werden die Städte durch Buchstaben bezeichnet, ansonsten nur ihre Lage durch Punkte dargestellt. Letzteres empfiehlt sich für umfangreichere Probleme. Für Problemgrößen über 26 werden automatisch keine Städtebezeichnungen mehr durchgeführt.

\subsection{Info}
\subsubsection{About}
Hier wird das Dialogfenster von Abb.~\ref{about} angezeigt.
\begin{figure}[htbp]
\begin{center}
\includegraphics{./pic/about.ps}
\caption{Das Fenster ``About''} \label{about}
\end{center}
\end{figure}

\section{Das Hauptfenster (GA im gestarteten Zustand)}
\begin{figure}[htbp]
\begin{center}
\includegraphics[scale=0.7]{./pic/statisticrun.ps}
\caption{Das Hauptfenster} \label{statisticrun}
\end{center}
\end{figure}
Das beste Individuum wird im linken Bereich des Hauptfensters (siehe Abb.~\ref{statisticrun}) mit seinen wesentlichen Merkmalen dargestellt. Die Reihenfolge, wie die Städte besucht werden, steht in der obersten Zeile und die Fitneß dieses Individuums in der untersten Zeile.\\
Rechts werden die Fitneßkurven, welche je Generation einen Eintrag erhalten, dargestellt. Ein solcher Eintrag besteht aus dem Mittelwert (grün) und dem momentan besten Wert (rot) der jeweiligen Population. Der letzte Eintrag ist somit der Eintrag über die aktuelle Population.\\
Die Reise durch diese Städte wird durch Verbindungen (schwarze Linien) dargestellt. Eine Beschriftung der Städte mit Buchstaben von A-Z ist nur bis zur Problemgröße 26 vorgesehen, es können aber durchaus mehr Städte, bis zu 100, eingestellt werden. Bei größeren Problemen werden daher die Städte nur als Punkte dargestellt, und die Anzeige der Reihenfolge, wie diese besucht werden, entfällt.\\


\section{Darstellung der aktuellen Population}
\begin{figure}[htbp]
\begin{center}
\includegraphics{./pic/population.ps}
\caption{Das Populationsfenster} \label{population}
\end{center}
\end{figure}
Im Populationsfenster (siehe Abb.~\ref{population}) wird die aktuelle Population dargestellt. Die Individuen sind nach ihrer Fitneß sortiert und durchnummeriert. Somit steht immer das beste Individuum an erster Stelle. Dieses Individuum besitzt die kleinste Fitneß aller Individuen in der Population und stellt die kürzeste Rundreise dar.\\
Ist die Option Elitismus gesetzt, so wird das beste Individuum der vorhergehenden Population in die aktuelle Population übernommen und dort blau markiert.\\
Wird ein Individuum mit der Maus doppelt angeklickt, so wird das Fenster ``Trip'' (siehe Abb.~\ref{trip}) geöffnet, welches die graphische Repräsentation der Rundreise, die von diesem Individuum dargestellt wird, anzeigt. Somit lassen sich sehr gut Individuen miteinander vergleichen.


\section{Darstellung einer Generation des GAs}
\begin{figure}[htbp]
\begin{center}
\includegraphics[scale=0.8]{./pic/step.ps}
\caption{Das Generationsfenster} \label{step}
\end{center}
\end{figure}
Im Generationsfenster (siehe Abb.~\ref{step}) werden je nach Stufe, in der der GA steht, die aus der Population selektierten Individuen, die durch Rekombination erzeugten Individuen (Nachfolger), die unbewerteten mutierten Individuen und die bewerteten mutierten Individuen dargestellt. Die selektierten Individuen tragen die Nummer, welche sie in der aktuellen Population besitzen. Ist die Option Elitismus gesetzt, so werden um ein Individuum weniger Nachfolger erzeugt, das beste Individuum aus der alten Population in die neue Population übernommen und dort blau markiert. Die bei der Mutation veränderten Gene werden rot markiert.\\
Wird ein Individuum mit der Maus doppelt angeklickt, so wird das Fenster ``Trip'' (siehe Abb.~\ref{trip}) geöffnet, welches die graphische Repräsentation der Rundreise, die von diesem Individuum dargestellt wird, anzeigt. Somit läßt sich sehr gut die Entwicklung der Individuen über eine Generation miteinander vergleichen.

\section{Darstellung eines Individuums}
\begin{figure}[htbp]
\begin{center}
\includegraphics{./pic/trip.ps}
\caption{Das Fenster ``Trip''} \label{trip}
\end{center}
\end{figure}
Im Populationsfenster (siehe Abb.~\ref{population}) und im Generationsfenster (siehe Abb.~\ref{step}) können beliebige Individuen durch das Doppelklicken mit der Maus in einem Fenster ``Trip'' (siehe Abb.~\ref{trip}) visualisiert werden. Hierbei wird die vom jeweiligen Individuum repräsentierte Rundreise und, wenn bekannt, auch die dazugehörige Fitneß, angezeigt. Diese ``Trip'' Fenster werden beim Schließen des jeweiligen Ursprungsfensters, also entweder Populationsfenster oder Generationsfenster, automatisch wieder geschlossen. Einmal erzeugt, werden die ``Trip'' Fenster nicht mehr inhaltlich verändert. Durch Veränderung der Fenstergröße wird automatisch auch der Inhalt des Fensters der neuen Größe angepaßt.

\section{Menüleiste des Hauptfensters (GA im gestarteten Zustand)}
Bei gestartetem GA sind aus dem Menü zusätzlich folgende Punkte anwählbar:
\subsection{Simulation}
Unter diesem Menü findet man verschiedene Möglichkeiten den GA ablaufen zulassen.
\subsubsection{Initialize}
Wie bereits in Abschnitt~\ref{initialize} beschrieben, wird hier der GA gestartet.
\subsubsection{Step}
Dieser Menüpunkt ist nur bei Problemen mit weniger als 26 Städten anwählbar. Der GA geht jeweils um einen Einzelschritt weiter.\\
Diese sind:
\begin{tabular}[t]{ll}
Schritt 0: & aktuelle Population (Ausgangspunkt je Generation)\\
Schritt 1: & Selektion\\
Schritt 2: & Rekombination\\
Schritt 3: & Mutation\\
Schritt 4: & Bewertung\\
Schritt 5: & Übernahme in die Population, gehe zu Schritt 0,\\
& Statistik wird aktualisiert\\
\end{tabular}
\\
\\
Ein Durchlauf von Schritt 0 bis Schritt 5 bildet eine Generation. Die Änderungen je Schritt sind nur im Generationsfenster (siehe Abb.~\ref{step}) ersichtlich.\\
\\
Dieser Menüpunkt ist auch über den Hotkey Ctrl-Shift-S erreichbar.

\subsubsection{Generation}
Hierbei wird für den GA jeweils eine Generation (Schritt 0 bis Schritt 5) auf einmal durchgeführt. Das Populationsfenster (siehe Abb.~\ref{population}) sowie das Generationsfenster (siehe Abb.~\ref{step}) werden entsprechend aktualisiert. Falls ein neues bestes Individuum entstanden ist, so wird dieses im Hauptfenster angezeigt. Die Fitneßkurve im Hauptfenster wird ebenfalls aktualisiert.\\
\\
Dieser Menüpunkt ist auch über den Hotkey Ctrl-Shift-G erreichbar.
\subsubsection{Run}
\begin{figure}[htbp]
\begin{center}
\includegraphics{./pic/run.ps}
\caption{Das Fenster ``Run''} \label{run}
\end{center}
\end{figure}
Unter diesem Menüpunkt erscheint der ``Run'' Dialog (siehe Abb.~\ref{run}). In diesem Dialogfenster kann die Anzahl der Generationen eingestellt werden, die der GA selbständig durchlaufen soll. Mit der Option ``Update every generation'' kann bestimmt werden, ob Daten wie die aktuelle Population, das beste Individuum und die Statistik jeweils je Generation erneuert werden sollen, was relativ zeitintensiv ist, oder ob nur in erster Linie der GA berechnet werden soll und nur hin und wieder ein Update der Daten erfolgt. Durch diese Option ändert sich für den GA selbst nichts, nur kann die Berechnungszeit wesentlich verkürzt werden. Mit dem {\em OK} Button wird der eingestellte Wert im Bereich von 1 und $100.000$ übernommen. Mit dem {\em Cancel} Button wird das Fenster nur geschlossen, ohne die eingestellten Daten zu übernehmen.\\
\subsubsection{Recombination}
Dieser Menüpunkt ist nur anwählbar nachdem die Selektion mittels einmaliger Betätigung des Menüpunktes Step absolviert wurde. Mit diesem Menüpunkt kann man sich die genaue Funktionalität der eingestellten Rekombinationsmethode anschauen. Dies geschieht mit Hilfe eines Fensters, in welchem für die aktuelle selektierte Individuenmenge Elternpaar für Elternpaar die Rekombination schrittweise vorexerziert wird (siehe Abschnitt~\ref{recombination}).
\subsubsection{Stop}
Wurde der GA über den Menüpunkt Run gestartet, so kann dieser vor seiner natürlichen Beendigung auch mit dem Betätigen des Menüpunktes Stop zu seiner momentanen Generation angehalten werden.

\subsection{Options}
\subsubsection{Hold Statistic}
Ist ein Durchlauf eines GAs beendet, und der Benutzer will die Statistikdaten zum Vergleich mit anderen Durchläufen behalten, so kann durch das Betätigen dieses Menüpunktes ein Fenster zum Speichern dieser Daten erzeugt werden (siehe Abschnitt~\ref{holdab}). 

\subsection{Window}
Dieses Menü ist nur bei Problemstellungen bis zu 26 Städten anwählbar. Hier können bereits geschlossene Fenster wieder geöffnet werden.
\subsubsection{Population}
Das Populationfenster (siehe Abbilding~\ref{population}) wird mit der aktuellen Population geöffnet.
\subsubsection{Rekombination}
Das Generationsfenster (siehe Abb.~\ref{step}) wird je nach dem momentanen Stand des GA geöffnet.

\section{Einstellungen zum GA}\label{gadata}
\begin{figure}[htbp]
\begin{center}
\includegraphics[scale=0.9]{./pic/parameter.ps}
\caption{Das Fenster ``GA Parameters''} \label{parameter}
\end{center}
\end{figure}
Folgende Einstellungen sind in dem Dialogfenster ``GA Parameters'' (siehe Abb.~\ref{parameter}) im Menü Options zu tätigen:\\ \\
\begin{tabular}[t]{l}
~~~~~~Populationsgröße (``Population size'')\\~~~~~~Rekombinationswahrscheinlichkeit (``Recombination probability'')\\
~~~~~~Mutationswahrscheinlichkeit (``Mutation probability'')\\~~~~~~Faktor k der Tournamentselektion (``Group size'')\\~~~~~~Elitismus (``Elitism'')\\ \\
\end{tabular}
\\
Die Populationsgröße ist zwischen mindestens 5 und maximal 100 zu wählen. Die ``Group size'' ist zwischen mindestens 1 und maximal 10 einstellbar. 
Auch die im GA zu verwendende Rekombinationsmethode und Mutationsmethode sind hier auszuwählen.
\newline
Rekombinationsmethoden:
\begin{tabular}[t]{l}
Partially Matched Crossover (PMX)\\Order Crossover (OX)\\Cycle Crossover (CX)\\
Uniform Order Based Crossover (UOBX)\\Edge Recombination Crossover (ERX)\\
Hybrides Verfahren mit Heuristik (Grefenstette)\\None\\
\end{tabular}
\\
\\
Mutationsmethoden:
\begin{tabular}[t]{l}
Inversion\\Insertion\\Displacement\\Reciprocal Exchange (Swap)\\None\\
\end{tabular}
\\
\\
Für alle Werte in diesem Fenster sind Defaultwerte eingestellt. Diese können durch das Betätigen des {\em Default} Buttons nach Änderung wieder gesetzt werden. Neu eingestellte Parameter werden nur durch das Drücken des {\em OK} Buttons übernommen. Wird das Fenster durch das Drücken des {\em Cancel} Buttons verlassen, bleiben die Werte, welche anfangs eingestellt waren aktuell und alle Änderungen in diesem Fenster gehen verloren.

\section{Konfiguration des TSP}\label{tspdata}
\begin{figure}[tbp]
\begin{center}
\includegraphics{./pic/settowns.ps}
\caption{Das Fenster ``Set Problem''} \label{problem}
\end{center}
\end{figure}
Diese Einstellungen sind in dem Dialogfenster ``Set Problem'' (siehe Abb.~\ref{parameter}) zu tätigen. Wird der GA anfangs gestartet, ohne in diesem Fenster ein TSP zu setzen, so wird per Zufall ein Problem mit der Rastergröße 15 und mit 10 Städten erzeugt. Ansonsten kann man in diesem Fenster beliebige TSPs zusammenstellen.\\
Städte werden mittels Mausklick auf die betreffende Stelle gesetzt, beziehungsweise wieder gelöscht. Mit dem Button {\em Clear all} werden alle gesetzten Städte wieder gelöscht. Mit dem Button {\em Add Randomly} erscheint das Dialogfenster (siehe Abb.~\ref{addtowns}), in welchem eine Anzahl einzugeben ist. Dieser Anzahl entsprechend werden Städte zum momentanen Problem zufällig hinzugefügt. Hierbei wird automatisch sichergestellt, daß das Problem nie mehr als 100 Städte umfaßt. Mit dem {\em Cancel} Button kann dieses Fenster, ohne eine Änderung des Problems zu bewirken, wieder geschlossen werden.\\
Mit dem Button {\em Set Grid} erscheint das Dialogfenster ``Set Grid'' (siehe Abb.~\ref{setgrid}), in welchem das Raster, in dem die Städte angeordnet sind, verändert werden kann. Der Bereich des Rasters liegt zwischen mindestens 10 und maximal 100. Das Drücken des {\em OK} Buttons bewirkt immer ein Löschen der vorher ausgewählten Städte. Durch das Drücken des {\em Cancel} Buttons bleiben die Einstellungen unverändert, und das Fenster wird nur geschlossen.
Mit dem {\em OK} Button im Dialogfenster ``Set Problem'' wird das eingestellte TSP übernommen, aber nur wenn mindestens 4 und maximal 100 Städte eingestellt sind. Durch Veränderung der Fenstergröße wird automatisch auch der Inhalt des Fensters der neuen Größe angepaßt.\\

\begin{figure}[htbp]
\begin{center}
\includegraphics[scale=0.8]{./pic/addtowns.ps}
\caption{Das Fenster ``Add Randomly''} \label{addtowns}
\end{center}
\end{figure}

\begin{figure}[htbp]
\begin{center}
\includegraphics[scale=0.8]{./pic/setgrid.ps}
\caption{Das Fenster ``Set Grid''} \label{setgrid}
\end{center}
\end{figure}





%\newpage

\section{Die Fenster zur Darstellung der Rekombination}\label{recombination}
In den Fenstern zur Darstellung der Rekombination wird die Funktionalität des jeweils eingestellten Rekombinationsoperators anhand der im GA selektierten Individuen Elternpaar für Elternpaar gezeigt. Die eigentliche Rekombination kann dann stufenweise betrachtet werden.\\
\subsection{Stringdarstellung}
\begin{figure}[htbp]
\begin{center}
\includegraphics[scale=0.8]{./pic/string.ps}
\caption{Das Fenster ``Recombination String''} \label{string}
\end{center}
\end{figure}
Im Fenster ``Recombination String'' (siehe Abb.~\ref{string}) wird die genaue Funktionsweise der eingestellten Rekombinationsmethode gezeigt. Alle Rekombinationsmethoden, die direkt auf den Stringdarstellungen der Individuen basieren, können auch sehr gut in dieser Art und Weise nähergebracht werden. Beim Öffnen des Fensters ist die Stringrepräsentation der Eltern und die Ausgangslage des Nachfolgers dargestellt. Durch Betätigen des {\em Step} Buttons kann jetzt Schritt für Schritt die Entstehung des Nachfolgers beobachtet werden. Mit dem {\em Final} Button ist es auch möglich, sofort den vollständig erzeugten Nachfolger zu betrachten. Ist eine Rekombination durchgeführt worden, so kann jetzt mit dem {\em Result} Button ein weiteres Fenster, das Ergebnisfenster (siehe Abb.~\ref{result}), geöffnet werden. In einem Ergebnisfenster (siehe Abb.~\ref{result}) werden die Rundreisen der Eltern und die Rundreise des durch die Rekombination entstandenen Nachfolgers visualisiert. Somit ist ein direkter Vergleich möglich. Dieses Fenster wird automatisch geschlossen, wenn die nächste Rekombination gestartet, oder abgebrochen wird. Es kann aber auch vom Benutzer jederzeit geschlossen werden.\\
\begin{figure}[htbp]
\begin{center}
\includegraphics[scale=0.8]{./pic/result.ps}
\caption{Das Ergebnisfenster} \label{result}
\end{center}
\end{figure}
\newline
Zur besseren Darstellung werden unterschiedliche Farben verwendet. Für alle in diesem Fenster dargestellten Rekombinationsmethoden sind Gene des ersten Elternteils grün und Gene des zweiten Elternteils blau gezeichnet. Die Nummerierung der Individuen entspricht der Nummerierung im GA, wobei die Eltern eine Nummer besitzen, die der Position in der alten Population entspricht. Niedere Nummern deuten auf ein Individuum mit besserer Fitneß hin.\\
\newline
\begin{tabular}[t]{lll}
PMX: & grün & Gene vom ersten Elternteil übernommen\\
& blau & Gene vom zweiten Elternteil übernommen\\
& rot & Gene des Crossoverbereichs des ersten Elternteils \\
& magenta & Gene des Crossoverbereichs des zweiten Elternteils\\
& cyan & zuletzt vertauschtes Gen\\
\\
OX: & grün & Gene vom ersten Elternteil übernommen\\
& blau & Gene vom zweiten Elternteil übernommen\\
& rot & Gene des Crossoverbereichs des ersten Elternteils \\
& magenta & Gene des Crossoverbereichs des zweiten Elternteils\\
\\
CX: & grün & Gene vom ersten Elternteil übernommen\\
& blau & Gene vom zweiten Elternteil übernommen\\
\\
UOBX: & grün & Gene vom ersten Elternteil übernommen\\
& blau & Gene vom zweiten Elternteil übernommen\\
\end{tabular}
\\
\\
\\
Noch unbekannte Genpositionen im Nachfolger werden durch Platzhalter markiert.\\

\subsection{Kantendarstellung}
Im Fenster ``Recombination ERX'' (siehe Abb.~\ref{erx} bzw. Abb.~\ref{erxplus}) wird die genaue Funktionsweise der Rekombinationsmethoden ERX bzw. ERX mit Heuristik gezeigt. Bei den hier simulierten Rekombinationsmethoden handelt es sich um solche, die auf Basis von Kanten (Verbindungen zwischen Städten) arbeiten. Daher werden alle Kanten beider Eltern in einem einzigen Bild gezeichnet. Mit dem {\em Step} Button kann nun Schritt für Schritt die Funktionsweise der Rekombinationsmethode betrachtet werden. Mit dem {\em Final} Button ist es auch möglich, sich sofort den entstandenen Nachfolger anzuschauen. Wurde ein Nachfolger fertiggestellt, so kann durch Betätigung des {\em Result} Buttons wiederum das Ergebnisfenster (siehe Abb.~\ref{result}) geöffnet werden und die Eltern mit ihrem Nachfolger direkt verglichen werden.
\subsubsection{ERX}
\begin{figure}[htbp]
\begin{center}
\includegraphics[scale=0.8]{./pic/erx.ps}
\caption{Das Fenster ``Recombination ERX''} \label{erx}
\end{center}
\end{figure}
Noch nicht benutzte Kanten werden schwarz (einfach vorkommende Kanten) oder blau (in beiden Eltern vorkommende Kanten) dargestellt. Die momentan besuchte Stadt ist rot markiert. Die Reise des Nachfolgers wird durch rote Kanten gezeigt. Die Kanten, welche im nächsten Schritt benutzt werden könnten, sind magenta eingefärbt. Jene Kante, die gewählt wird, wird im nächsten Schritt rot markiert. Die anderen Optionen werden gelöscht, da sie im weiteren Verlauf nicht mehr relevant sind. Rechts neben der Darstellung ist eine Kantenliste zu sehen, in der in jeder Zeile eine Stadt steht und daneben alle von ihr erreichbaren Städte. Doppelte Einträge werden durch eine vorangestellte Raute markiert. Diese Kantenliste wird Schritt für Schritt auf dem aktuellen Stand gehalten. Das heißt: die Zeile der aktuellen Stadt ist rot, die Zeilen der Optionen magenta eingefärbt. Bereits besuchte Städte werden als besucht markiert. Edge faults werden durch eine grüne Kante markiert.

\subsubsection{ERX mit Heuristik}
\begin{figure}[htbp]
\begin{center}
\includegraphics[scale=0.8]{./pic/erxplus.ps}
\caption{Das Fenster ``Recombination ERX''} \label{erxplus}
\end{center}
\end{figure}
Alle noch nicht benutzten Kanten sind schwarz dargestellt, die momentan besuchte Stadt ist rot markiert. Die Reise des Nachfolgers wird durch rote Kanten angezeigt, und die Kanten, welche im nächsten Schritt benutzt werden könnten, sind magenta eingefärbt. Jene Kante, die gewählt wird, wird im nächsten Schritt rot markiert. Die anderen Optionen werden gelöscht, da sie im weiteren Verlauf nicht mehr relevant sind. Rechts neben der Darstellung ist eine Kantenliste zu sehen, in welcher in jeder Zeile eine Stadt steht und daneben alle von ihr erreichbaren Städte. Diese Kantenliste wird Schritt für Schritt auf dem aktuellen Stand gehalten. Die Zeile der aktuellen Stadt ist rot. In der Liste ganz rechts sind die Distanzen von der aktuellen Stadt zu den von ihr erreichbaren Städten eingetragen.  Bereits besuchte Städte werden als besucht markiert. Edge faults werden durch eine grüne Kante markiert.


\section{Abspeichern eines GA Durchlaufes}\label{holdab}
\begin{figure}[htbp]
\begin{center}
\includegraphics[scale=0.7]{./pic/hold.ps}
\caption{Das Fenster zum Speichern eines GA Durchlaufes} \label{hold}
\end{center}
\end{figure}
Ein solches Fenster (siehe Abb.~\ref{hold}) enthält die statistischen Daten eines GA Durchlaufes. In der Titelleiste stehen die eingestellten Parameter. Ein solches Fenster erhält man, wenn der Menüpunkt Copy Statistics betätigt wird. Danach kann ein neuer GA mit derselben Problemstellung gestartet werden. Dadurch läßt sich sehr gut das unterschiedliche Verhalten der Rekombinations- und Mutationsoperatoren anhand desselben Problems vergleichen. Es empfiehlt sich aber, auch Statistiken bei gleichbleibenden Operatoren und unterschiedlicher Populationsgröße, unterschiedlicher Group size und ausgeschaltenem Elitismus zu vergleichen. Wird ein neues Städteproblem eingestellt, so werden alle diese Fenster automatisch gelöscht, da es nicht vorgesehen ist, Ergebnisse von GAs bei unterschiedlichen Problemstellungen zu vergleichen.

%\newpage
\chapter{Visualisierungsergebnisse}
Hinweis: Bei den folgenden Darstellungen unterschiedlicher GA Durchläufe stehen die jeweilig eingestellten Parameter des GAs in der Titelleiste des gezeigten Fensters.
\section{Entwicklung eines GAs}
Unter Verwendung der Default Einstellung wird ein GA gestartet (siehe Abb.~\ref{bsp11}, 1.Bild). Nach 15 Generationen hat sich bereits eine gute Lösung gefunden (siehe Abb.~\ref{bsp11}, 2.Bild). Aber erst nach 60 Generationen wurde die optimale Lösung dieses TSP mit 14 Städten gefunden (siehe Abb.~\ref{bsp11}, 3.Bild).
\begin{figure}[hbp]
\begin{center}
\includegraphics[scale=0.75]{./pic/bsp11.ps}
\\[10pt]
\includegraphics[scale=0.75]{./pic/bsp12.ps}
\\[10pt]
\includegraphics[scale=0.75]{./pic/bsp13.ps}
\caption{Entwicklung eines GAs} \label{bsp11}
\end{center}
\end{figure}

\section{Vergleich CX, ERX und ERX mit Heuristik}
Bei den folgenden GA Durchläufen waren nur die verwendeten Rekombinationsmethoden unterschiedlich. Unterschiedliche Parameter können sich sehr stark auf das Verhalten eines GAs auswirken. Durch Testen lassen sich meist schnell gute Einstellungen für das jeweilig eingestellte TSP finden. Der GA mit CX (siehe Abb.~\ref{bsp21}, 1.Bild) konvergiert sehr langsam und würde daher mehr Generationen benötigen. Der GA mit ERX (siehe Abb.~\ref{bsp21}, 2.Bild) konvergiert schon um einiges schneller, während der GA mit ERX mit Heuristik (siehe Abb.~\ref{bsp21}, 3.Bild) bereits sehr schnell eine gute Lösung findet.
\begin{figure}[hbp]
\begin{center}
\includegraphics[scale=0.8]{./pic/bsp21.ps}
\\[10pt]
\includegraphics[scale=0.8]{./pic/bsp22.ps}
\\[10pt]
\includegraphics[scale=0.8]{./pic/bsp23.ps}
\caption{Vergleich CX, ERX und ERX mit Heuristik} \label{bsp21}
\end{center}
\end{figure}

\section{Vergleich unterschiedlicher Mutationsoperatoren}
Das Einbringen von neuem Genmaterial durch die Mutationsoperatoren läßt sich nur schwer anhand der hier gezeigten GA Durchläufe bewerten. Die Abb.~\ref{bsp31}, 1. - 3.Bild unterscheiden sich nur gering. Jeder GA ist stark von der Initialisierung und dem Verlauf während der Generationen abhängig. Daher kann hier keine Aussage über die Güte der Mutationsoperatoren erfolgen. 
\begin{figure}[hbp]
\begin{center}
\includegraphics[scale=0.8]{./pic/bsp31.ps}
\\[10pt]
\includegraphics[scale=0.8]{./pic/bsp32.ps}
\\[10pt]
\includegraphics[scale=0.8]{./pic/bsp33.ps}
\caption{Vergleich unterschiedlicher Mutationsoperatoren} \label{bsp31}
\end{center}
\end{figure}

\section{Vergleich GA mit und ohne Elitismus}
Bei den folgenden GA Durchläufen war einmal die Option Elitismus gesetzt und einmal nicht. Unter Verwendung von Elitismus (siehe Abb.~\ref{b11}) geht ein einmal gefundenes bestes Individuum nicht mehr verloren. Somit konvergiert der GA monoton zur Endlösung. Wird hingegen kein Elitismus verwendet (siehe Abb.~\ref{b12}), so kann es passieren, daß gute Individuen wieder vergessen werden und erst später eventuell wieder gefunden werden. Der GA konvergiert langsamer.
\begin{figure}[hbp]
\begin{center}
\includegraphics[scale=0.65]{./pic/bsp1plel.ps}
\caption{50 Städte TSP mit Elitismus} \label{b11}
\end{center}
\end{figure}
\begin{figure}[hbp]
\begin{center}
\includegraphics[scale=0.65]{./pic/bsp1noel.ps}
\caption{50 Städte TSP ohne Elitismus} \label{b12}
\end{center}
\end{figure}

\section{Zusammenfassung}
Für TSPs mit relativ wenigen Städten (bis ca. 20 Städte) kann die Funktionalität des GAs besonders gut bis ins kleinste Detail beobachtet werden. Bei solchen Problemgrößen findet ein mit günstigen Parametern gestarteter GA meist nach wenigen Generationen eine optimale Lösung. Die Funktionalität der eingestellten Operatoren kann genau verfolgt werden.\\  
Bei TSPs mit mehr Städten führen nur die für das TSP gut geeigneten Rekombinationsmethoden, wie OX, ERX und ERX mit Heuristik in einer vernünftigen Zeit zu einer guten Lösung. Als beste der hier gezeigten Rekombinationsmethoden hat sich ERX mit Heuristik herausgestellt. Die Nutzung der Information über die tatsächlichen Abstände der Städte zueinander wirkt sich besonders positiv am Anfang des GAs aus. Dies ist durch die schnell zu einem Optimum konvergierende Statistik zu erkennen.\\
Die Möglichkeit GA-Durchläufe speichern und somit vergleichen zu können zeigt erstens das Verhalten von GAs bei unterschiedlichen Parametern und Operatoren, zweitens aber auch das unterschiedliche Verhalten von GAs bei verschiedenen Durchläufen mit denselben Parametern und Operatoren.\\
