botorch.test_functions¶
Synthetic test functions for testing and benchmarking purposes.
-
botorch.test_functions.
neg_branin
(X)[source]¶ Negative Branin test function.
Two-dimensional function (usually evaluated on [-5, 10] x [0, 15]):
B(x) = (x_2 - b x_1^2 + c x_1 - r)^2 + 10 (1-t) cos(x_1) + 10
Here b, c, r and t are constants where b = 5.1 / (4 * math.pi ** 2) c = 5 / math.pi, r = 6, t = 1 / (8 * math.pi) B has 3 minimizers for its global minimum at
z_1 = (-pi, 12.275), z_2 = (pi, 2.275), z_3 = (9.42478, 2.475)
with B(z_i) = 0.397887
- Parameters
X (
Tensor
) – A Tensor of size 2 or k x 2 (k batch evaluations).- Return type
Tensor
- Returns
-B(X), the negative value of the standard Branin function.
-
botorch.test_functions.
neg_eggholder
(X)[source]¶ Negative Eggholder test function.
Two-dimensional function (usually evaluated on [-512, 512]^2):
E(x) = (x_2 + 47) sin(R1(x)) - x_1 * sin(R2(x)) R1(x) = sqrt(|x_2 + x_1 / 2 + 47|) R2(x) = sqrt(|x_1 - (x_2 + 47)|)
- Parameters
X (
Tensor
) – A Tensor of size 2 or k x 2 (k batch evaluations).- Return type
Tensor
- Returns
-E(X), the negative value of the Eggholder function.
-
botorch.test_functions.
neg_hartmann6
(X)[source]¶ Negative Hartmann6 test function.
Six-dimensional function (typically evaluated on [0, 1]^6)
H(x) = - sum_{i=1}^4 ALPHA_i exp( - sum_{j=1}^6 A_ij (x_j - P_ij)**2 )
H has a 6 local minima and a global minimum at
z = (0.20169, 0.150011, 0.476874, 0.275332, 0.311652, 0.6573)
with H(z) = -3.32237
- Parameters
X (
Tensor
) – A Tensor of size 6 or k x 6 (k batch evaluations).- Return type
Tensor
- Returns
-H(X), the negative value of the standard Hartmann6 function.
-
botorch.test_functions.
neg_holder_table
(X)[source]¶ Negative Holder Table synthetic test function.
Two-dimensional function (typically evaluated on [0, 10] x [0, 10]):
H(x) = - | sin(x_1) * cos(x_2) * exp(| 1 - ||x|| / pi | ) |
H has 4 global minima with H(z_i) = -19.2085 at
z_1 = ( 8.05502, 9.66459) z_2 = (-8.05502, -9.66459) z_3 = (-8.05502, 9.66459) z_4 = ( 8.05502, -9.66459)
- Parameters
X (
Tensor
) – A Tensor of size 2 or k x 2 (k batch evaluations).- Return type
Tensor
- Returns
-H(X), the negative value of the standard Holder Table function.
-
botorch.test_functions.
neg_michalewicz
(X)[source]¶ Negative 10-dim Michalewicz test function.
10-dim function (usually evaluated on hypercube [0, pi]^10):
M(x) = sum_{i=1}^10 sin(x_i) (sin(i x_i^2 / pi)^20)
- Parameters
X (
Tensor
) – A Tensor of size 10 or k x 10 (k batch evaluations).- Return type
Tensor
- Returns
-M(X), the negative value of the Michalewicz function.
-
botorch.test_functions.
neg_styblinski_tang
(X)[source]¶ Negative Styblinski-Tang test function.
d-dimensional function (usually evaluated on the hypercube [-5, 5]^d):
H(x) = 0.5 * sum_{i=1}^d (x_i^4 - 16 * x_i^2 + 5 * x_i)
H has a single global mininimum H(z) = -39.166166 * d at z = [-2.903534]^d
- Parameters
X (
Tensor
) – A Tensor of size d or k x d (k batch evaluations)- Return type
Tensor
- Returns
-H(X), the negative value of the standard Styblinski-Tang function.
-
botorch.test_functions.
neg_aug_branin
(X)[source]¶ Negative augmented-Branin test function.
The last dimension of X is the fidelity. 3-dimensional function with domain [-5, 10] x [0, 15] * [0,1]:
- B(x) = (x_2 - (b - 0.1 * (1 - x_3))x_1^2 + c x_1 - r)^2 +
10 (1-t) cos(x_1) + 10
Here b, c, r and t are constants where b = 5.1 / (4 * math.pi ** 2) c = 5 / math.pi, r = 6, t = 1 / (8 * math.pi). B has infinitely many minimizers with x_1 = -pi, pi, 3pi
and B_min = 0.397887
- Parameters
X (
Tensor
) – A Tensor of size 3 or k x 3 (k batch evaluations).- Return type
Tensor
- Returns
-B(X), the negative value of the augmented-Branin function.
-
botorch.test_functions.
neg_aug_hartmann6
(X)[source]¶ Negative augmented Hartmann6 test function.
The last dimension of X is the fidelity parameter. 7-dimensional function (typically evaluated on [0, 1]^7):
- H(x) = -(ALPHA_1 - 0.1 * (1-x_7)) * exp(- sum_{j=1}^6 A_1j (x_j - P_1j) ** 2) -
sum_{i=2}^4 ALPHA_i exp( - sum_{j=1}^6 A_ij (x_j - P_ij) ** 2)
H has unique global minimizer x = [0.20169, 0.150011, 0.476874, 0.275332, 0.311652, 0.6573, 1]
with H_min = -3.32237
- Parameters
X (
Tensor
) – A Tensor of size 7 or k x 7 (k batch evaluations).- Return type
Tensor
- Returns
-H(X), the negative value of the augmented Hartmann6 function.
-
botorch.test_functions.
neg_aug_rosenbrock
(X)[source]¶ Augmented-Rosenbrock test function.
d-dimensional function (usually evaluated on [-5, 10]^(d-2) * [0, 1]^2), the last two dimensions are the fidelity parameters:
- f(x) = sum_{i=1}^{d-1} (100 (x_{i+1} - x_i^2 + 0.1 * (1-x_{d-1}))^2 +
(x_i - 1 + 0.1 * (1 - x_d)^2)^2)
f has one minimizer for its global minimum at
z_1 = (1, 1, …, 1)
with f(z_i) = 0.0
- Parameters
X (
Tensor
) – A Tensor of size d or k x d (k batch evaluations).- Returns
-f(X), the negative value of the Augmented-Rosenbrock function.