Main Workbench

In the workbench GUI, the optimization is configured. The main components are the optimizer instance, problem instance and termination criterion. Each component may be selected from the full list of available classes implementing the given functionality. User implementations are loaded automatically by the GUI, so GUI classes need not be touched to access own classes through the GUI.

Real-valued Optimization

The graph window immediately shows online results of running optimizations. Several data fields such as best, average, and worst function values, as well as diversity measures or problem dependent properties can be displayed and compared over multiple runs. Below, a simple examplary performance comparison betwen several heuristic optimization algorithms on Rastrigin's benchmark function in 10D. 20 runs of ES,DE,PSO, and real-valued GA are displayed in the plot, where standard ES is in black and the CMA-ES is in red. The ESs show fast convergence at a cost of finding inferior local optima.

Multi-Modal Optimization

Multi-modal functions may have high numbers of local optima, which usually should be overcome by an optimizer to find the global optimum. It may, however, be interesting to find a set of several optima, the global as well as local ones, to learn more about the target function itself or to analyse the optima offline based on other criteria. EvA 2 implements specific multi-modal optimization techniques, such as Cluster-based Niching (CBN) to identify several optima of a target function. Just compare an early stage in the CBN-optimization (left colored map) with a later stage (right colored map), where most local optima have been identified as niches and explored by clusters of individuals ("species"). Local optima found in an optimization run may also be refined and reclustered in a post processing step.

Multi-Objective Optimization

In this example, a multi-objective function T1 is optimized using a multi-objective Evolutionary Algorithm (MOEA). The dominating set of solutions (pareto-front) is indicated by a red line together with the current population (black dots).

Optimizing an Optical Lens with Visualization

EvA2 allows implementing problem specific visualization. A sample within the LensProblem shows an optical lense specified by a list of segment sizes. Differential Evolution (DE) with 50 individuals is used for the optimization. An early, close to random solution (after 500 evaluations or 10 generations) is shown on the left following picture. States after 2,000 (40 generations) and 10,000 (200 generations) show the increasing adaption of the lens up to a near optimal solution shown on the right.

Traveling Salesman Problem with Visualization

This is an example of a Traveling Salesman Problem optimized using a Genetic Algorithm working on permutation data. The task is to identify the shortest cyclic path visiting all cities, denoted as dots in the picture.