rosenyu's picture
Upload 529 files
165ee00 verified
raw
history blame contribute delete
915 Bytes
import torch
import numpy as np
from botorch.test_functions import Ackley
device = torch.device("cpu")
dtype = torch.double
# class Bukin(SyntheticTestFunction):
# dim = 2
# _bounds = [(-15.0, -5.0), (-3.0, 3.0)]
# _optimal_value = 0.0
# _optimizers = [(-10.0, 1.0)]
# _check_grad_at_opt: bool = False
# [docs]
# def evaluate_true(self, X: Tensor) -> Tensor:
# part1 = 100.0 * torch.sqrt(torch.abs(X[..., 1] - 0.01 * X[..., 0] ** 2))
# part2 = 0.01 * torch.abs(X[..., 0] + 10.0)
# return part1 + part2
def Bukin(X):
part1 = 100.0 * torch.sqrt(torch.abs(X[..., 1] - 0.01 * X[..., 0] ** 2))
part2 = 0.01 * torch.abs(X[..., 0] + 10.0)
fx = part1 + part2
return fx
def Bukin_Scaling(X):
X_scaled = torch.zeros(X.shape)
X_scaled[:,0] = -(X[..., 0]*10+5)
X_scaled[:,1] = X[..., 0]*6-3
return X_scaled