Skip to content

Function Generator

sinisastekovic edited this page Mar 26, 2017 · 9 revisions

Function Generator generates parametrized test functions from the given set of parameters. It combines any given functions by summing them and through this step it generates the final cost function. Function Generator also offers the possibility of adding additional Gaussian noise to the value returned by the cost function(as shown in the mixture of three gaussians plot below).

Table of contents


  1. Mixture of three gaussians with noise
  2. Permutation

Sample functions with plots in 2D

Mixture of three gaussians with noise

Negative Gaussian function is unimodal function. Depending on the given covariance matrix the problem can become very hard to solve. Function is generalized to higher number of given dimensions.

The generated plot includes different multi-dimensional Gaussian (normal) distribution functions. One can also observe the previously mentioned Gaussian noise in the plot.

Permutation

The problem is described harder for smaller values of its beta parameter. When beta is set to 0, every permuted solution is a global minimum.

The function is used to test the ability of a global minimization algorithm to reach the global minimum sucessfully and to discriminate it from other local minima. Genetic algorithms are described as having advantage for finding the global minima. Function is generalized to higher number of given dimensions.

Reference: http://solon.cma.univie.ac.at/glopt/my_problems.html

Easom

The Easom function has several local minima. It is unimodal and the global minimum has a small area relative to the search space. This function is generalized to higher number of given dimensions.

Reference: https://www.sfu.ca/~ssurjano/easom.html

Langermann

The Langermann function is multimodal, with many unevenly distributed local minima. It can be customized by defining the coordinates of centers of sub-functions in matrix A, and their intensities in c. Function is generalized to higher number of given dimensions.

Reference: https://www.sfu.ca/~ssurjano/langer.html

Michalewicz

The Michalewicz function is multimodal with number of local minima equal to factoriel of the number of dimensions. It accepts only a parameter m which defines the steepness of the valleys and ridges. Larger m leads to a more difficult function to minimize. The recommended value for m is 10 which is defined if no parameters are given. Function is generalized to higher number of given dimensions.

Reference: https://www.sfu.ca/~ssurjano/michal.html

Shekel foxholes

The Shekels (foxholes) function has variable number of local minima (length of c or A). It can be customized by defining the coordinates of minima in matrix A, and inverse of their intensities in c. Function is generalized to any number of given dimensions.

Reference: https://www.sfu.ca/~ssurjano/shekel.html

Rastrigin

Rastrigin function is a multimodal function with a large number of local minima. Function is generalized to higher number of given dimensions.

Reference: https://www.sfu.ca/%7Essurjano/rastr.html

Rosenbrock

Rosenbrock function is a unimodal valley-shaped function. Function is generalized to higher number of given dimensions.

Reference: https://www.sfu.ca/~ssurjano/rosen.html

Ackley

Ackley function has a large hole in at the centre surrounded by small hill like regions. Algorithms can get trapped in one of its many local minima.

Reference: https://www.sfu.ca/~ssurjano/ackley.html

Chasm

Chasm is characterized by a large flat area with a very large slope that halves the two parts of the function. Function works only with 2D inputs.

Mixture of Langermann and Shekel foxhole

Function Generator allows also to create functions which are a combination of different functions presented below.

Top view

Front view

Clone this wiki locally