functions.opti_test_functions

Module provides common test functions for parameter estimation and optimisation algorithms such as Rosenbrock and Griewank functions.

Current functions are:

ackley >=2 params: Ackley function, global optimum: 0.0 at origin

goldstein_price 2 params: Goldstein-Price function, global optimum: 3.0 (0.0,-1.0)

griewank 2 or 10 params: Griewank function, global optimum: 0 at origin

rastrigin 2 params: Rastrigin function, global optimum: -2 (0,0)

rosenbrock 2 params: Rosenbrock function, global optimum: 0 (1,1)

six_hump_camelback 2 params: Six-hump Camelback function

True Optima: -1.031628453489877 (-0.08983,0.7126) and (0.08983,-0.7126)

This module was written by Matthias Cuntz while at Department of Computational Hydrosystems, Helmholtz Centre for Environmental Research - UFZ, Leipzig, Germany, and continued while at Institut National de Recherche pour l’Agriculture, l’Alimentation et l’Environnement (INRAE), Nancy, France.

Copyright (c) 2013-2020 Matthias Cuntz - mc (at) macu (dot) de Released under the MIT License; see LICENSE file for details.

  • Written Oct 2013 by Matthias Cuntz (mc (at) macu (dot) de)

  • Rearrange function library, Mar 2015, Matthias Cuntz

  • Changed to Sphinx docstring and numpydoc, May 2020, Matthias Cuntz

The following functions are provided:

ackley(x)

Ackley function (>= 2-D).

griewank(x)

Griewank function (2-D or 10-D).

goldstein_price(x)

Goldstein-Price function (2-D).

rastrigin(x)

Rastrigin function (2-D).

rosenbrock(x)

Rosenbrock function (2-D).

six_hump_camelback(x)

Six-hump Camelback function (2-D).

ackley(x)[source]

Ackley function (>= 2-D).

Global Optimum: 0.0, at origin.

Parameters

x (array) – multi-dimensional x-values (len(x) >= 2)

Returns

Value of Ackley function.

Return type

float

goldstein_price(x)[source]

Goldstein-Price function (2-D).

Global Optimum: 3.0, at (0.0,-1.0).

Parameters

x (array) –

2 x-values. len(x)=2.

x[i] bound to [-2,2] for i=1 and 2.

Returns

Value of Goldstein-Price function.

Return type

float

griewank(x)[source]

Griewank function (2-D or 10-D).

Global Optimum: 0.0, at origin.

Parameters

x (array) –

multi-dimensional x-values.

len(x)=2 or len(x)=10.

x[i] bound to [-600,600] for all i.

Returns

Value of Griewank function.

Return type

float

rastrigin(x)[source]

Rastrigin function (2-D).

Global Optimum: -2.0, at origin.

Parameters

x (array) –

2 x-values. len(x)=2.

x[i] bound to [-1,1] for i=1 and 2.

Returns

Value of Rastrigin function.

Return type

float

rosenbrock(x)[source]

Rosenbrock function (2-D).

Global Optimum: 0.0, at (1.0,1.0).

Parameters

x (array) –

2 x-values. len(x)=2.

x[1] bound to [-5,5].

x[2] bound to [-2,8].

Returns

Value of Rosenbrock function.

Return type

float

six_hump_camelback(x)[source]

Six-hump Camelback function (2-D).

Global Optima: -1.031628453489877, at (-0.08983,0.7126) and (0.08983,-0.7126).

Parameters

x (array) –

2 x-values. len(x)=2.

x[i] bound to [-5,5] for i=1 and 2.

Returns

Value of Six-hump Camelback function.

Return type

float