Spaces:
Sleeping
Sleeping
import torch | |
import numpy as np | |
# | |
# JLH1: 2D objective, 1 constraints | |
# | |
# | |
# Reference: | |
# Jetton C, Li C, Hoyle C (2023) Constrained | |
# bayesian optimization methods using regres- | |
# sion and classification gaussian processes as | |
# constraints. In: International Design Engi- | |
# neering Technical Conferences and Computers | |
# and Information in Engineering Conference, | |
# American Society of Mechanical Engineers, p | |
# V03BT03A033 | |
# | |
# | |
def JLH1(individuals): | |
assert torch.is_tensor(individuals) and individuals.size(1) == 2, "Input must be an n-by-2 PyTorch tensor." | |
fx = [] | |
gx = [] | |
for x in individuals: | |
test_function = (- (x[0]-0.5)**2 - (x[1]-0.5)**2 ) | |
fx.append(test_function) | |
gx.append( x[0] + x[1] - 0.75 ) | |
fx = torch.tensor(fx) | |
fx = torch.reshape(fx, (len(fx),1)) | |
gx = torch.tensor(gx) | |
gx = torch.reshape(gx, (len(gx),1)) | |
return gx, fx | |
def JLH1_Scaling(X): | |
assert torch.is_tensor(X) and X.size(1) == 2, "Input must be an n-by-2 PyTorch tensor." | |
return X | |