6.1 Aufbau und Struktur der GEA Toolbox

Previous PageTable Of ContentsNext Page

Die Toolbox ist in mehreren Schichten aufgebaut. Abbildung 6-1 gibt einen Überblick über das der Toolbox zugrunde liegende Schichtenmodell.

Abbildung 6-1: Schichtenmodell der GEA Toolbox

Im Mittelpunkt steht eine Zentralfunktion. Auf diese Funktion wird von außen über die Anwenderschnittstelle (Scriptfunktionen) zugegriffen. Eine Zwischenschicht enthält vordefinierte Algorithmen (Toolboxfunktionen). Die Zentralfunktion ruft alle benötigten evolutionären Operatoren auf. Dieser Aufruf der evolutionären Operatoren erfolgt über zwei Schichten. Außerdem übernimmt die Zentralfunktion den größten Teil der Verwaltungsarbeit und führt verschiedene Auswertungen durch.

Dieses Schichtenmodell, das in Abbildung 6-1 abstrahiert gezeigt ist, soll im folgenden weiter untersetzt werden. Abbildung 6-2 zeigt die Struktur der GEA Toolbox unter Verwendung der Namen der entsprechenden Matlab-Funktionen detaillierter. Auch aus dieser Abbildung ist das Schichtenmodell gut zu erkennen. Mittelpunkt ist die Zentralfunktion geamain. Der Aufruf von geamain erfolgt über die Initialisierungsfunktionen, die zweischichtig ausgeführt sind (scr* und tbx*). Die Zentralfunktion selbst ruft die evolutionären Operatoren auf, auch dieser Aufruf ist zweischichtig strukturiert.

Abbildung 6-2: Aufrufbaum der GEA Toolbox

Von den Initialisierungsschichten beinhaltet die untere Ebene die sogenannten Toolboxfunktionen tbx*, in denen jeweils alle Parameter für einen Evolutionären Algorithmus definiert sind. Jede der tbx-Funktionen definiert einen anderen Algorithmus. Die obere Initialisierungsschicht ist für den Anwender bestimmt und enthält die sogenannten Scriptfunktionen scr*. In diesen können die speziellen Parameterveränderungen für das gerade zu lösende Problem definiert werden. Dabei müssen nur die Parameter angegeben werden, die anders als in der verwendeten tbx-Funktion bzw. anders als die Standardparameter der Toolbox sind.

Die Zentralfunktion geamain bietet eine einheitliche Umgebung für die verschiedenen, mit der Toolbox zu verwendenden Evolutionären Algorithmen. Dies beinhaltet neben dem Aufruf der evolutionären Operatoren die gesamte Parameterverwaltung, die Verbindung der verschiedenen Algorithmen und die Auswertung der Ergebnisse.

Der Aufruf der evolutionären Operatoren erfolgt in zwei Stufen. Von der Zentralfunktion wird die oberste Schicht aufgerufen, die allgemeine Dinge, wie z.B. die Funktionen zur Selektion (select), Rekombination (recombin) und Mutation (mutate) enthält. Diese Funktionen rufen dann selbst die unterste Schicht mit den speziellen evolutionären Operatoren auf.

Für die Behandlung von Populationen sind die in Abschnitt 4, ab S., erläuterten Verfahren implementiert (regionales Modell: in allen high-level Operatoren und migrate; lokales Modell: sellocal und reinsloc).

Die von Seiten des Nutzers wichtigste Funktion ist die Zielfunktion (objective function obj*). Diese Funktion muß für jedes Problem speziell definiert werden. Mit der Toolbox werden eine große Anzahl von Zielfunktionen als Beispiele mitgeliefert, die einen guten Überblick über die Verschiedenartigkeit dieser Funktionen geben.

Die gesamten Visualisierungsmöglichkeiten aus Abschnitt 5, ab S., sind in einer Funktion (resplot) implementiert, die nach Abschluß einer Generation von der Zentralfunktion aufgerufen werden kann.

Neben den bisher erwähnten Funktionen werden noch eine Reihe von Hilfsfunktionen benötigt, die an den verschiedensten Stellen zum Einsatz kommen.

Präfix

      Funktions- oder Operatorgruppe

scr

Scriptfunktionen

tbx

Toolboxfunktionen

sel

Selektionsoperatoren

rec
xov

Rekombinationsoperatoren
Crossoveroperatoren

reins

Wiedereinfügefunktionen

obj
sim

Zielfunktionen (objective functions)
Simulationsroutinen, von den Zielfunktionen aufgerufen

init

spezielle Initialisierungsfunktionen

plot

spezielle Anzeigefunktionen (plot functions)

Tabelle 6-1: Namenskonventionen für die Benennung von Funktionen in der GEA Toolbox

Der modulare Aufbau der Toolbox und die Verwendung sinnvoller Standardparameter in Verbindung mit fertig definierten Algorithmen erlaubt ein Arbeiten mit der Toolbox, das sich je nach Interesse des Anwenders zwischen Verwendung der vorgegebenen Evolutionären Algorithmen und Parameter bis hin zu individueller Veränderung jedes einzelnen Parameters von außen bewegt.

In den folgenden Unterabschnitten werden die einzelnen Funktionsgruppen kurz erläutert und jeweils die Verbindung zu den in den vorigen Abschnitten erläuterten Algorithmen aufgestellt. Die Erläuterung erfolgt entsprechend der Reihenfolge, in der die Funktionen bei der Berechnung aufgerufen werden.

Innerhalb der gesamten GEA Toolbox wurde eine einheitliche Benennung der Funktionen angewendet. Alle Funktionen bzw. Operatoren einer Gruppe beginnen mit demselben Präfix:


Previous PageTable Of ContentsList Of FiguresList Of TablesNext Page

Diese Dokument ist Teil der Dissertation von Hartmut Pohlheim "Entwicklung und systemtechnische Anwendung Evolutionärer Algorithmen". This document is part of the .
The is not free.
© Hartmut Pohlheim, All Rights Reserved, (hartmut@pohlheim.com).