The Ackley test case

Introduction

The Ackley test case is a real function defined in dimension d where d is an integer.

The Ackley function is defined by the equation:

f(\mathbf{x}) = -a \exp\left(-b\sqrt{\frac{1}{d}\sum_{i=1}^d}x_i^2\right)-\exp\left(\frac{1}{d}\sum_{i=1}^d \cos(c x_i)\right)+a+\exp(1)

for any \mathbf{x} \in [-15,15]^d. However, we consider the smaller interval [-4,4]^d in this example, for visual purposes.

We use the dimension d=2 with the parameters a=20, b=0.2, c=2\pi.

The solution is

\mathbf{x}^\star=(0,0,...,0)

where

f_{min} = f(\mathbf{x}^\star) = 0.

References

  • Adorio, E. P., & Diliman, U. P. MVF - Multivariate Test Functions Library in C for Unconstrained Global Optimization (2005). Retrieved June 2013, from http://www.geocities.ws/eadorio/mvf.pdf.

  • Molga, M., & Smutnicki, C. Test functions for optimization needs (2005). Retrieved June 2013, from http://www.zsd.ict.pwr.wroc.pl/files/docs/functions.pdf.

  • Back, T. (1996). Evolutionary algorithms in theory and practice: evolution strategies, evolutionary programming, genetic algorithms. Oxford University Press on Demand.

API documentation

class AckleyModel

Data class for the Ackley test function.

Attributes:
dimThe dimension of the problem

dim=2.

aConstant

a=20.0.

bConstant

b=0.2.

cConstant

c=2\pi.

modelPythonFunction, the Ackley function.
lowerboundPoint in dimension dim.

Default is -15.0 for each dimension.

upperboundPoint in dimension dim.

Default is +15.0 for each dimension.

x0Point

The global minimum x_0 = 0 \in \mathbb{R}^{dim}.

Examples

>>> from openturns.usecases import ackley_function
>>> # Load the Ackley model
>>> am = ackley_function.AckleyModel()

Examples based on this use case

Customize your Metropolis-Hastings algorithm

Customize your Metropolis-Hastings algorithm

EfficientGlobalOptimization examples

EfficientGlobalOptimization examples