geometric#
Generic simulator functions based on simple geometric surfaces.
Functions
|
Evaluates the N-dimensional Ackley function. |
Synthetic BraninCurrin function from BoTorch test_functions |
|
Evaluates a simple n-dimensional parabaloid at the location specified. |
|
|
Evaluates a simple n-dimensional paraboloid at the specified location. |
|
Evaluates the perm function in N-dimensions Negative transform, to get max Max exists at X = (1,1/2,...,1/d) Max is 10 |
|
Evaluates the Rosenbrock function in log10 scale, and negative transform (for max). |
Evaluates a simple n-dimensional parabaloid at the location specified. |
|
Evaluates the 6-hump camel function in 2D Transformed to get a max of 10 at X = (0.0898,-0.7126) and (-0.0898, 0.7126) |
|
Evaluates the 3-hump camel function in 2D Negative transform, to get max Two global max exist at X = (0,0) Max is 1 |
|
|
Simulates the two-leaf multi-output function |
- obsidian.experiment.benchmark.geometric.ackley(X)[source]#
Evaluates the N-dimensional Ackley function.
The Ackley function is a benchmark optimization problem that is commonly used to test optimization algorithms. It is a multimodal function with multiple local maxima and a global minimum at (0.8, 0.8, …, 0.8). This implementation of the Ackley function has been transformed to have a maximum value of 10 at the global minimum.
- Parameters:
X (ndarray or DataFrame) – An (m x d) array or DataFrame of m observations with d features to be evaluated.
- Returns:
An (m)-sized array of responses.
- Return type:
ndarray
- obsidian.experiment.benchmark.geometric.branin_currin(X)[source]#
Synthetic BraninCurrin function from BoTorch test_functions
Two objective problem composed of the Branin and Currin functions:
Branin (rescaled):
f_1(x) = ( 15*x_1 - 5.1 * (15 * x_0 - 5) ** 2 / (4 * pi ** 2) + 5 * (15 * x_0 - 5) / pi - 5 ) ** 2 + (10 - 10 / (8 * pi)) * cos(15 * x_0 - 5))
Currin:
f_2(x) = (1 - exp(-1 / (2 * x_1))) * ( 2300 * x_0 ** 3 + 1900 * x_0 ** 2 + 2092 * x_0 + 60 ) / 100 * x_0 ** 3 + 500 * x_0 ** 2 + 4 * x_0 + 20
- Parameters:
X (ndarray) – (m)-observations by (d=2)-features array of data to be evaluated.
- Returns:
(k=2)-sized array of responses.
- Return type:
ndarray
- obsidian.experiment.benchmark.geometric.cornered_parab(X)[source]#
Evaluates a simple n-dimensional parabaloid at the location specified.
- Parameters:
X (ndarray) – (m)-observations by (d)-features array of data to be evaluated
- Returns:
(m)-sized array of responses
- Return type:
ndarray
- obsidian.experiment.benchmark.geometric.paraboloid(X)[source]#
Evaluates a simple n-dimensional paraboloid at the specified location.
- Parameters:
X (ndarray) – An (m)-observations by (d)-features array of data to be evaluated.
- Returns:
An (m)-sized array of responses.
- Return type:
ndarray
- obsidian.experiment.benchmark.geometric.perm(X)[source]#
Evaluates the perm function in N-dimensions Negative transform, to get max Max exists at X = (1,1/2,…,1/d) Max is 10
- Parameters:
X (ndarray) – (m)-observations by (d)-features array of data to be evaluated.
- Returns:
(m)-sized array of responses.
- Return type:
ndarray
- obsidian.experiment.benchmark.geometric.rosenbrock(X)[source]#
Evaluates the Rosenbrock function in log10 scale, and negative transform (for max).
The global maximum of the Rosenbrock function is at X = (1, 1, …, 1). The maximum value is 10, based on the standard function minimum of 0. We have -log10(0+1e-10).
- Parameters:
X (ndarray) – (m)-observations by (d)-features array of data to be evaluated.
- Returns:
(m)-sized array of responses.
- Return type:
ndarray
- obsidian.experiment.benchmark.geometric.shifted_parab(X)[source]#
Evaluates a simple n-dimensional parabaloid at the location specified. Target paraboloid contains a maximum of 100 at all x=0.2
- Parameters:
X (ndarray) – (m)-observations by (d)-features array of data to be evaluated
- Returns:
(m)-sized array of responses
- Return type:
ndarray
- obsidian.experiment.benchmark.geometric.sixhump_camel(X)[source]#
Evaluates the 6-hump camel function in 2D Transformed to get a max of 10 at X = (0.0898,-0.7126) and (-0.0898, 0.7126)
- Parameters:
X (ndarray) – (m)-observations by (d)-features array of data to be evaluated.
- Returns:
(m)-sized array of responses.
- Return type:
ndarray
- obsidian.experiment.benchmark.geometric.threehump_camel(X)[source]#
Evaluates the 3-hump camel function in 2D Negative transform, to get max Two global max exist at X = (0,0) Max is 1
- Parameters:
X (ndarray) – (m)-observations by (d)-features array of data to be evaluated.
- Returns:
(m)-sized array of responses.
- Return type:
ndarray