Expand description
Test functions for global optimization with few evaluations, for ego: the
Branin and Hartmann functions of L. C. W. Dixon and G. P. Szegö, “The global optimisation
problem: an introduction”, in Towards Global Optimisation 2, North-Holland, 1–15 (1978),
on which D. R. Jones, M. Schonlau and W. J. Welch, “Efficient global optimization of
expensive black-box functions”, Journal of Global Optimization 13, 455–492 (1998),
https://doi.org/10.1023/A:1008306431147, run EGO (their Table 1). The constants are as
S. Surjanovic and D. Bingham’s Virtual Library of Simulation Experiments lists them,
https://www.sfu.ca/~ssurjano/optimization.html. Branin has three minima, all of the same
value; the Hartmann functions have local minima above their least value. A missing variable
is taken as 0.
| Function | Variables | Minimum |
|---|---|---|
branin | x₀ in [−5, 10], x₁ in [0, 15] | 5/(4π) ≈ 0.397887 at three points (BRANIN_MINIMA) |
hartmann3 | 3, each in [0, 1] | ≈ −3.86278 (HARTMANN3_MINIMUM) |
hartmann6 | 6, each in [0, 1] | ≈ −3.32237 (HARTMANN6_MINIMUM) |
Constants§
- BRANIN_
MINIMA - Branin’s three minima:
x₀ = −π, π, 3π, wherecos x₀ = −1, andx₁the root of its squared term,b x₀² − c x₀ + r(12.275, 2.275 and 2.475). - BRANIN_
MINIMUM - Branin’s minimum,
s t = 10/(8π) = 5/(4π): the squared term vanishes andcos x₀ = −1. - HARTMAN
N3_ MINIMUM - The Hartmann 3 function’s least value, as printed to six figures.
- HARTMAN
N6_ MINIMUM - The Hartmann 6 function’s least value, as printed to six figures.
Functions§
- branin
- Branin’s function of two variables,
x₀in[−5, 10]andx₁in[0, 15]:f = (x₁ − b x₀² + c x₀ − r)² + s (1 − t) cos x₀ + s, withb = 5.1/(4π²),c = 5/π,r = 6,s = 10andt = 1/(8π). - hartmann3
- The Hartmann 3 function, each variable in
[0, 1]; its least value is about −3.86278, near(0.114614, 0.555649, 0.852547). The last center’s first coordinate is 0.0381 here, as the library lists it; some listings print 0.03815, the value that quoted point belongs to. The two least values differ by about 2×10⁻⁶ (both −3.86278 to six figures), as that coordinate’s weight, 0.1, is small. - hartmann6
- The Hartmann 6 function, each variable in
[0, 1]; its least value is about −3.32237, near(0.20169, 0.150011, 0.476874, 0.275332, 0.311652, 0.6573).