Forrester¶
forrester.py: Forrester function
This file contains the definition of an adapted version of the simple 1D example function as presented in:
Forrester Alexander I.J, Sóbester András and Keane Andy J “Multi-fidelity Optimization via Surrogate Modelling”, Proceedings of the Royal Society A, vol. 463, http://doi.org/10.1098/rspa.2007.1900
Function definitions:
\[f_h(x) = (6x-2)^2 \sin(12x-4)\]
\[f_l(x) = A f_h(x) + B(x-0.5) + C\]
With \(A=0.5, B=10\) and \(C=-5\) as recommended parameters.
This version has been adapted to be multi-dimensional, input can be arbitrarily many dimensions. Output value is calculated as the mean of the outcomes for all separate dimensions.
-
Forrester
(ndim: int)¶ Factory method for ndim-dimensional multi-fidelity Forrester function
Parameters: ndim – Desired dimensionality Returns: MultiFidelityFunction
instance with bounds of appropriate length
-
forrester
= MultiFidelityFunction(Forrester, [1.], [0.], fidelity_names=['high', 'low'])¶ 1D Forrester function with fidelities ‘high’ and ‘low’
-
forrester_high
(xx)¶
-
forrester_low
(xx, *, A=0.5, B=10, C=-5)¶
-
forrester_sf
= MultiFidelityFunction(Forrester Single Fidelity, [1.], [0.], fidelity_names=['high'])¶ 1D Forrester function with single fidelity ‘high’
-
l_bound
= [0]¶ Lower bound for Forrester function
-
u_bound
= [1]¶ Upper bound for Forrester function