class EnvBranin(BaseTask): def __init__(self): self.branin = Branin() X_lower = np.concatenate((self.branin.original_X_lower, np.array([0]))) X_upper = np.concatenate((self.branin.original_X_upper, np.array([1]))) self.is_env = np.array([0, 0, 1]) super(EnvBranin, self).__init__(X_lower, X_upper) def objective_function(self, x): y = self.branin.objective_function(x[:, :-1]) * np.exp(-(x[0, -1] - 1)) return y def objective_function_test(self, x): return self.branin.objective_function(x[:, :-1])
class BraninInBillionDims(REMBO): def __init__(self): self.b = Branin() X_lower = np.concatenate((self.b.X_lower, np.zeros([999998]))) X_upper = np.concatenate((self.b.X_upper, np.ones([999998]))) super(BraninInBillionDims, self).__init__(X_lower, X_upper, d=2) def objective_function(self, x): return self.b.objective_function(x[:, :2])