Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement ellipsoid instead of circular trust regions #3

Open
dv516 opened this issue Jul 17, 2023 · 0 comments
Open

Implement ellipsoid instead of circular trust regions #3

dv516 opened this issue Jul 17, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@dv516
Copy link
Collaborator

dv516 commented Jul 17, 2023

The first step would involve all radius-related arguments to 'relative' radii, a number between 0 and 1 that refers to the range covered within the bounds, rather. The rest could be done in two ways:

A) x0, radius and prior_evals are scaled in each CUATRO instance by bounds. Surrogate fitting and minimization would happen in scaled space. Any inputs would have to be scaled into the original space before being added to results or before being passed to the black-box
B) Keeping CUATRO in original input space, and changing the condition for samples being inside the trust region inside the quadratic minimization constraints `cp.norm(X - trust_center) <= radius' and other functions like samples_in_trust() from

ind = np.where(np.linalg.norm(X - np.array(center), axis = 1, keepdims = True) < radius)[0]
to something like
ind = np.where([np.sum([(X_in[j,i]-x_c[i])**2*4/(bounds[i,1]-bounds[i,0])**2/(radius)**2 for i in range(len(x_c))]) <= 1 for j in range(len(X_in))])[0]

@dv516 dv516 added the enhancement New feature or request label Jul 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants