Evolutionary Algorithms framework version 2 (EvA2)

Category Intelligent Software>Genetic Algorithm Systems/Tools and Intelligent Software>Genetic Programming Systems/Tools

Abstract EvA2 is a comprehensive heuristic optimization framework with emphasis on ‘Evolutionary Algorithms’ implemented in Java.

It is a revised version of the JavaEvA optimization toolbox, which has been developed as a resumption of the former EvA software package.

EvA2 integrates several derivation free optimization methods; preferably population based, such as Evolution Strategies (ES), Genetic Algorithms (GA), Differential Evolution (DE), Particle Swarm Optimization (PSO),

Tribes, CHC Adaptive Search, Population Based Incremental Learning, Model-Assisted Evolution Strategies, Genetic Programming (GP), Grammatical Evolution, as well as classical techniques such as multi-start Hill Climbing or Simulated Annealing.

Still the modular framework of EvA2 allows everyone to add their own optimization modules to meet their specific requirements.

Besides typical single-objective problems, multi-modal and multi-objective problem are handled directly by the EvA2 framework. Via the Java mechanism of Remote Method Invocation (RMI), the algorithms of EvA2 can be distributed over network nodes based on client-server architecture.

EvA2 aims at two (2) groups of users:

First, the end user who does Not know much about the theory of Evolutionary Algorithms, but wants to use Evolutionary Algorithms to solve an application problem.

Secondly, the scientific user, one who wants to investigate the performance of different optimization algorithms, or one who wants to compare the effect of alternative, or specialized evolutionary or heuristic operators.

The latter usually knows more about evolutionary algorithms or heuristic optimization and is able to extend EvA2 by adding specific ‘optimization strategies’ or solution representations.

EvA2 is being used as teaching aid in lecture tutorials, as a developing platform in student research projects and applied to numerous ‘optimization problems’ within active research and ongoing industrial complexes.

EvA2 terms and notions --

As EvA2 is mainly about ‘Evolutionary and Heuristic Optimization’, some of the terms and notions are borrowed from that area.

The manufacturers aim is at optimizing a target function without knowing much about it, and finding a certain position in the search space which minimizes the function, called the ‘solution’.

During search, the manufacturer uses a specific ‘search strategy’, the ‘optimizer’, which usually looks at several positions in parallel. Those are all ‘potential solutions’, because the manufacturers don’t know the real one yet.

For the potential solutions the manufacturer evaluates the target function. The value received is often called ‘fitness’ in analogy to Darwin's Theory of Evolution, where “the fitter ones survive”.

For the same reason, potential solutions are sometimes called ‘individuals’ and the set of ‘potential solutions’ stored by the optimizer at a particular time may be called ‘the population’. Many of the implemented optimization strategies employ operators in analogy to natural ‘mutation’, ‘crossover’ and ‘selection’.

There is nothing mystical about that, and of course the analogy is often exaggerated. ‘Evolutionary Optimization’ is an algorithmic tool that serves mostly technical purposes.

That it works in a computer is by No means a sign that the manufacturer fully understands ‘natural evolution’ or can prove anything about it. This said, of course, the manufacturer would never doubt that natural evolution in fact works.

EvA2 Features --

1) An easy-to-use Graphical User Interface (GUI) with access to the optimization parameters.

2) Derivation free optimization methods:

3) Multi-objective optimization (MOEA) for problems with multiple criteria.

4) Multi-modal optimization and post-processing for refinement of multiple solutions.

5) Interfaces for external optimization from MATLAB™ or using standalone executables.

6) Client-server architecture using Java Remote Method Invocation (RMI) allowing distributed optimization (Island-model EA).

7) An extensible Application Programming Interface (API) allowing direct integration of new classes into the GUI.

EvA2 Documentation --

EvA2 uses a generic GUI framework that allows GUI access to any member of a class if get/set methods are provided and an editor is defined for the given data type.

This approach allows very fast development cycles, since almost No additional effort is necessary for implementing GUI elements, while user specific GUI elements can still be developed and integrated to increase usability.

The EvA2 Short Documentation (located on the manufacturer's web-site) gives an overview of the EvA2-GUI and helps you to optimize your own new problem with EvA2.

There are three (3) main ways to achieve this:

1) Using an ‘external interface’ of EvA2, such as system calls or MATLAB;

2) Implement it extending it based on a given ‘Java example class’; or

3) Implement it extending a given Java ‘abstract problem class’.

Using an ‘external interface’ is usually the simplest way, as you need to know hardly anything about EvA2 internals.

Using the ‘Java example class’ is still very easy for anyone who knows Java, while using the ‘abstract problem class’ increases the possibilities to interact with the GUI, for example, but also requires understanding some more concepts on how EvA2 works.

So, depending on your goals, you may choose the approach that fits the most and let the documentation guide you through it.

System Requirements

Contact manufacturer.


Manufacturer Web Site University of Tübingen EvA2

Price Contact manufacturer.

G6G Abstract Number 20579

G6G Manufacturer Number 104182