LEA - Labor für Evolutionäre Algorithmen

LEA - Labor für evolutionäre Algorithmen - ist ein im Frühjahr bis Sommer 2006 entstandenes Java-Programm, das sich das Ziel gesetzt hat, den Umgang mit evolutionären Algorithmen zu vermitteln. Das Projekt entwickelte ich gemeinsam mit vier weiteren Kommilitonen im Rahmen der Lehrveranstaltung 'Softwarepraktikum' an der Hochschule für Technik, Wirtschaft und Kultur Leipzig. LEA wurde für die Verwendung in der Lehrveranstaltung 'Evolutionäre Algorithmen' aus acht konkurrierenden Projekten ausgewählt und dort weiterentwickelt. Die ursprünglichen Programmierer arbeiten seit Sommer 2006 nicht mehr am Programm.


Abb.1: Programmhauptfenster

Features:

  • Implementierung der Evolution mit generischen Datentypen
  • Speicherstruktur als XML
  • Mehrsprachigkeit
  • Business-Rules in eigens entwurfener Sprache zur konsequenten Trennung vom Quelltext
  • einfach erweiterbar durch Implementierung von Interfaces
  • Protokolle direkt in GNUPlot nutzbar
  • Expertenmodus zur Programmbedienung
  • Dynamisches GUI-Layout
  • Funktionsliste im Programm wird mit Hilfe von Annotationen generiert
  • Plattformunabhängig (benötigt JavaRuntime >= 1.5)


Abb.2: Visualisierungsfenster. Hier dargestellt ist die Route eines Handlungsreisenden-Problems.

Implementierte Optimierunsaufgaben:

  • Problem des Handlungsreisenden
  • Einsenzähl-Problem
  • Schwefel's Doppelsumme


Abb.3: Darstellung des Prozessverlaufes. Die hier dargestellte Güte ist ein Maß für die Qualität des Algorithmen-Profils.