JavaEvA : a Java based framework for Evolutionary Algorithms

DSpace Repository


Dateien:

URI: http://nbn-resolving.de/urn:nbn:de:bsz:21-opus-17022
http://hdl.handle.net/10900/48741
Dokumentart: Report
Date: 2005
Source: WSI ; 2005 ; 6
Language: German
Faculty: 7 Mathematisch-Naturwissenschaftliche Fakultät
Department: Sonstige - Informations- und Kognitionswissenschaften
DDC Classifikation: 004 - Data processing and computer science
Keywords: Evolutionärer Algorithmus , Evolutionsstrategie , Genetischer Algorithmus
Other Keywords: Java basiertes Optimierungspaket
Java-based Optimization ToolBox
License: http://tobias-lib.uni-tuebingen.de/doku/lic_mit_pod.php?la=de http://tobias-lib.uni-tuebingen.de/doku/lic_mit_pod.php?la=en
Order a printed copy: Print-on-Demand
Show full item record

Inhaltszusammenfassung:

Das Softwarepaket JavaEvA (eine Java Implementierung Evolutionärer Algorithmen) ist ein allgemeines modulares Framework für Optimierungsalgorithmen basierend auf einer Client-Server Architektur, das geeignet ist eine Vielzahl von Optimierungsproblemen zu lösen. Das Paket wurde mit dem Schwerpunkt entwickelt neue Verfahren im Bereich der Evolutionären Algorithmen einfach entwickeln und testen zu können und diese Verfahren letztlich in praktischen Anwendungen anzuwenden. JavaEvA beinhaltet Implementierungen der üblichen Evolutionären Verfahren wie zum Beispiel Genetische Algorithmen, die CHC Adaptive Search, Population Based Incremental Learning, Evolutionsstrategien, Modellunterstützte Evolutionsstrategien, Genetisches Programmieren und Grammatical Evolution. Zusätzlich erlaubt es das modulare Framework von JavaEvA eigene eventuell problemspezifische Optimierungsmodule zu ergänzen und mit den implementieren Verfahren zu vergleichen. Das JavaEvA Paket benutzt ein generisches Verfahren zur GUI Generierung und erlaubt so einen einfachen Objektorientierten Zugang zu allen relevanten Parametern eines Evolutionären Algorithmus. Das gleiche Verfahren generiert auch entsprechende GUI Elemente für neu entwickelte Methoden und vereinfacht so den Aufwand bei der Entwicklung neuer Methoden erheblich. Zusätzlich besteht die Möglichkeit spezialisiere GUI Elemente für einzelne Objekte zu entwickeln und in das bestehende System zu integrieren, um die Benutzerfreundlichkeit weiter zu erhöhen. Da es uns unmöglich ist jedwede potenzielle Anwendung oder Optimierungsproblem zu antizipieren, ist es aus praktischen Gründen fast immer nötig eigene Implementierungen des jeweiligen Anwendungsproblems zu erstellen. Um diesen Vorgang zu erleichtern bietet diese Anleitung zusätzliche Beispiele mit detaillierten Beschreibungen, wie man ein eigenes Problem implementieren kann und JavaEvA lediglich als Optimierungstoolbox integriert. Auf diese Weise behält ihre jeweilige Anwendung die vollständige Kontrolle über die verwendeten Verfahren und die anwendungsspezifische Darstellung der Optimierungsergebnisse.

Abstract:

The package JavaEvA (a Java implementation of Evolutionary Algorithms) is a general modular framework with an inherent client server structure to solve practical optimization problems. This package was especially designed to test and develop new approaches for Evolutionary Algorithms and to utilize them in real-world applications. JavaEvA already provides implementations of the most common Evolutionary Algorithms, like Genetic Algorithms, CHC Adaptive Search, Population Based Incremental Learning, Evolution Strategies, Model-Assisted Evolution Strategies, Genetic Programming and Grammatical Evolution. In addition the modular framework of JavaEvA allows everyone to add their own optimization modules to meet their specific requirements. The JavaEvA package uses a generic GUI framework that allows GUI access to any member of a class if get and set methods are provided and an editor is defined for the given data type. This approach allows very fast development cycles, since hardly any additional effort is necessary for implementing GUI elements, while still at the same time user specific GUI elements can be developed and integrated to increase usability. Since we cannot anticipate specific optimization problem and requirements, it is necessary for users to define their optimization problem. Therefore, we provide an additional framework and explain how one can include JavaEvA in an existing Java project or how one can implement ones own optimization problem and optimize it by using JavaEvA. This gives users total control of the optimization algorithms used.

This item appears in the following Collection(s)