GEATbx: Main page  Tutorial  Algorithms  M-functions  Parameter/Options  Example functions

# GEA Toolbox - Examples of Objective Functions

This document describes a number of test functions implemented for use with the Genetic and Evolutionary Algorithm Toolbox for Matlab (GEATbx). These functions are drawn from the literature on evolutionary algorithms and global optimization. The first Section describes a set of common parametric test problems implemented as Matlab m-files. The second Section presents a number of dynamic systems, implemented in Simulink, as s-files and m-files as appropriate.

Each of the following functions is described by the function definition, one or more 3-D graphics to show the properties of the function and a description of features of the function.

Table 1: Set of described parametric functions
 No. function name description 1. objfun1 1.1 De Jong's function 1 2. objfun1a 1.2 Axis parallel hyper-ellipsoid function 3. objfun1b 1.3 Rotated hyper-ellipsoid function 4. objfun2 1.4 Rosenbrock's valley (De Jong's function 2) 5. objfun6 1.5 Rastrigin's function 6 6. objfun7 1.6 Schwefel's function 7 7. objfun8 1.7 Griewangk's function 8 8. objfun9 1.8 Sum of different power function 9 9. objfun10 1.9 Ackley's Path function 10 10. objfun11 1.10 Langermann's function 11 11. objfun12 1.11 Michalewicz's function 12 12. objbran 1.12 Branins's rcos function 13. objeaso 1.13 Easom's function 14. objgold 1.14 Goldstein-Price's function 15. objsixh 1.15 Six-hump camel back function

Dynamic control problems are complex and difficult to solve. The use of dynamic-optimization specific methods, such as Hamiltonian, is complicated and problematic. The application of specific methods requires a large amount of mathematical support even for systems of moderate size, and only the most trivial systems can be solved analytically.

In the following example problems, each individual in the evolutionary algorithm corresponds to a (discrete) control vector. Each variable in an individual is associated with the control input at a time step of the dynamic optimization problem. In this section, x is the state vector and u the control vector of a system.

Table 2: Set of described dynamic systems
 No. function name description 1. objdopi 2.1 Double integrator 2. objlinq 2.2 Linear-quadratic system 3. objharv 2.3 Harvest system 4. objpush 2.4 Push-cart system

All of the test function implementations are scaleable, i.e. the functions can be called with as many dimensions as necessary and the default dimension of the test functions is adjustable via a single parameter value inside the function.

For writing own objective functions see Writing objective functions .

 GEATbx: Main page  Tutorial  Algorithms  M-functions  Parameter/Options  Example functions

This document is part of version 3.3 of the GEATbx: Genetic and Evolutionary Algorithm Toolbox for use with Matlab - www.geatbx.com.
The Genetic and Evolutionary Algorithm Toolbox is not public domain.