Function Optimization

From jecoliwiki
Jump to: navigation, search

The optimization of numerical functions has been one of the major reasons behind the proposal of new algorithms, since the beginning of the Evolutionary Computation field.

Problem Definition

A number of benchmarking numerical functions coming from several sources in literature were implemented in our software.

In the examples provided in this work the aim is to minimize a function f, with N variables x_1, x_2, ... x_N. The value of N can be defined in each case, and other parameters (constants) of the specific functions can also be defined when evaluating the functions.


A number of examples related to numerical function optimization can be found in the package test/numericalopt.

In this case, the solution encoding uses real value representations.

Three different algorithms can be used in the optimization:

  • Evolutionary Algorithms, with the different available mutation and crossover operators
  • Simulated Annealing, with the different available mutation operators
  • Differential Evolution, with the variants DE/rand and DE/best

The following classes are included in this pacakge:

  • Functions - implements the different functions .
  • NumericalOptimizationEvaluation - defines the evaluation (fitness) function for this case, using the functions defined in the previous class.
  • EANumericalOptimization - implements the configuration and the execution of the different algorithms.
Personal tools