In mathematical optimization, the Ackley function is a non-convex function used as a performance test problem for optimization algorithms. It was proposed by David Ackley in his 1987 PhD dissertation.[1] The function is commonly used as a minimization function with global minimum value 0 at 0,.., 0 in the form due to Thomas Bäck. While Ackley gives the function as an example of "fine-textured broadly unimodal space" his thesis does not actually use the function as a test.
On an
d
{\displaystyle d}
-dimensional domain it is defined as[2]:
f
(
x
)
=
−
a
exp
(
−
b
1
d
∑
i
=
1
d
x
i
2
)
{\displaystyle f(\mathbf {x} )=-a\exp \left(-b{\sqrt {{\frac {1}{d}}\sum _{i=1}^{d}x_{i}^{2}}}\right)}
−
exp
(
1
d
∑
i
=
1
d
cos
(
c
x
i
)
)
+
a
+
exp
(
1
)
{\displaystyle -\exp \left({\frac {1}{d}}\sum _{i=1}^{d}\cos(cx_{i})\right)+a+\exp(1)}
Recommended variable values are
a
=
20
{\displaystyle a=20}
,
b
=
0.2
{\displaystyle b=0.2}
, and
c
=
2
π
{\displaystyle c=2\pi }
.
The global minimum is
f
(
x
∗
)
=
0
{\displaystyle f(\mathbf {x} ^{*})=0}
at
x
∗
=
0
{\displaystyle \mathbf {x} ^{*}=\mathbf {0} }
.
See also
Notes
- Ackley, D. H. (1987) "A connectionist machine for genetic hillclimbing", Kluwer Academic Publishers, Boston MA. p. 13-14
- Bingham, Derek (2013). "Ackley Function". Virtual Library of Simulation Experiments: Test Functions and Datasets. Simon Fraser University. Retrieved December 22, 2024.