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

Request for documentation: example with DeterministicModel #1192

Closed
Kh-im opened this issue Oct 9, 2022 · 10 comments
Closed

Request for documentation: example with DeterministicModel #1192

Kh-im opened this issue Oct 9, 2022 · 10 comments
Assignees
Labels
documentation Additional documentation requested enhancement New feature or request wishlist Long-term wishlist feature requests

Comments

@Kh-im
Copy link

Kh-im commented Oct 9, 2022

Hi,

I'm trying to find the best strategy to a particular optimization problem. I have a scalar objective function to minimize f(x,y). x and y are both range parameters. The function is completely monotonous with a single global minimum so the solution is pretty obvious. But I have several outcome constraints. Do you have some recommended strategy for that ?

Thanks

@Balandat
Copy link
Contributor

Balandat commented Oct 9, 2022

How long does it take to evaluate f? Is f "black box" or do you have an analytical form?

@Kh-im
Copy link
Author

Kh-im commented Oct 9, 2022

f is a black box but not very complex as we know some of the structure (like monotocity) but take a long time to evaluate (several hours for each eval)

@Balandat
Copy link
Contributor

Balandat commented Oct 9, 2022

@bletham has worked on monotonic GP models in the past, seems like this would be useful here. Also, depending on how much you know about the structure of the function, it could be beneficial to define a custom covariance function.

How many outcome constraints are there?

@Kh-im
Copy link
Author

Kh-im commented Oct 10, 2022

Thanks for your answer. 10 constraints.

@Kh-im
Copy link
Author

Kh-im commented Oct 11, 2022

@Balandat to answer to one of your first question, let's say we have an anaytical form (x²+y²) for example to minimize. But we don't know the analytical forms of the outcome constraints. How can we exploit this knowledge ?

@Balandat
Copy link
Contributor

Sorry for the much delayed reply. We have the notion of a DeterministicModel that you should be able to just use here by implementing the x^2+y^2 function (the most straightforward way to do this is via a GenericDeterministicModel.

Then you can stick this plus the models for the outcome constraints into a ModelList and use that us usual. That way you don't actually have to learn a GP model for a function that you already know.

Just to be clear though, when you evaluate a configuration, you do observe a value for each of the constrained outcomes (and then have a bound to check if each of those is feasible or not), right?

@Kh-im
Copy link
Author

Kh-im commented Oct 25, 2022

Ok, I will try that. Do you have any example using Deterministicmodel ?

yes ( for your question).
Thanks again

@lena-kashtelyan
Copy link
Contributor

We don't currently have such examples, unfortunately, but we plan on open-sourcing code for a method that will provide a really strong example for using deterministic models sometime in 2023. Until then, the tutorial on using a custom model might be the most helpful, especially in conjunction with @Balandat's comment on how to construct the model as a ModelList (thank you @esantorella for the suggestion!).

Assigning this to @qingfeng10 who will be open-sourcing the method-in-question, so she can link the example here at that time.

@lena-kashtelyan lena-kashtelyan added documentation Additional documentation requested enhancement New feature or request labels Nov 1, 2022
@lena-kashtelyan lena-kashtelyan changed the title Function optimization with known monotonicity and outcome constraints Request for documentation: example with DeterministicModel Nov 1, 2022
@sgbaird
Copy link
Contributor

sgbaird commented Dec 18, 2022

Xref #935

@lena-kashtelyan lena-kashtelyan added the wishlist Long-term wishlist feature requests label Jul 26, 2023
@lena-kashtelyan
Copy link
Contributor

Since it will unfortunately likely be a bit before we provide this, putting this on wishlist for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Additional documentation requested enhancement New feature or request wishlist Long-term wishlist feature requests
Projects
None yet
Development

No branches or pull requests

5 participants