Skip to main content

Module global

Module global 

Source
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.

FunctionVariablesMinimum
braninx₀ in [−5, 10], x₁ in [0, 15]5/(4π) ≈ 0.397887 at three points (BRANIN_MINIMA)
hartmann33, each in [0, 1]≈ −3.86278 (HARTMANN3_MINIMUM)
hartmann66, each in [0, 1]≈ −3.32237 (HARTMANN6_MINIMUM)

Constants§

BRANIN_MINIMA
Branin’s three minima: x₀ = −π, π, 3π, where cos x₀ = −1, and x₁ 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 and cos x₀ = −1.
HARTMANN3_MINIMUM
The Hartmann 3 function’s least value, as printed to six figures.
HARTMANN6_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] and x₁ in [0, 15]: f = (x₁ − b x₀² + c x₀ − r)² + s (1 − t) cos x₀ + s, with b = 5.1/(4π²), c = 5/π, r = 6, s = 10 and t = 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).