Function used as a performance test problem for optimization algorithms
Log-spaced level curve plot
In mathematical optimization , Himmelblau's function is a multi-modal function, used to test the performance of optimization algorithms . The function is defined by:
f
(
x
,
y
)
=
(
x
2
+
y
−
11
)
2
+
(
x
+
y
2
−
7
)
2
.
{\displaystyle f(x,y)=(x^{2}+y-11)^{2}+(x+y^{2}-7)^{2}.\quad }
It has one local maximum at
x
=
−
0.270845
{\displaystyle x=-0.270845}
and
y
=
−
0.923039
{\displaystyle y=-0.923039}
where
f
(
x
,
y
)
=
181.617
{\displaystyle f(x,y)=181.617}
, and four identical local minima:
f
(
3.0
,
2.0
)
=
0.0
,
{\displaystyle f(3.0,2.0)=0.0,\quad }
f
(
−
2.805118
,
3.131312
)
=
0.0
,
{\displaystyle f(-2.805118,3.131312)=0.0,\quad }
f
(
−
3.779310
,
−
3.283186
)
=
0.0
,
{\displaystyle f(-3.779310,-3.283186)=0.0,\quad }
f
(
3.584428
,
−
1.848126
)
=
0.0.
{\displaystyle f(3.584428,-1.848126)=0.0.\quad }
The locations of all the minima can be found analytically. However, because they are roots of quartic polynomials , when written in terms of radicals, the expressions are somewhat complicated.[ citation needed ]
The function is named after David Mautner Himmelblau (1924–2011), who introduced it.[ 1]