-
Notifications
You must be signed in to change notification settings - Fork 23
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
Smart rounding #146
Comments
Yes, restoring feasibility for {NChooseK + linear constraints} with L2 distance to the orginal point as objective is an MIQP. There are some space filling designs that can be formulated as MIPs and certain surrogates could be optimized globally (like is done in ENTMOOT), so in general I like the idea of extending bofire in that direction. |
ping @R-M-Lee |
Yes, I have a MIQP in mind and more specifically a function which gets as input a domain, and a candidate and returns the rounded solution ;) I am not an expert in this kind of optimization, but could we not use We should then also add a preciscion attribute to the ContinuousInputFeauture. |
Nice. A drawback is that |
This would be fine for me ... |
@DavidWalz cc @jkleinekorte and @bertiqwerty
I thought about rounding functionalities in bofire for example in the context of using continuous relaxations for NChooseK as described in #145 which could lead to subtle numeric violations of the original constraint. Ideally we would have a rounding function which takes as input the domain with all features and constraints in addition to the generated candidate and then rounds it to the closest feasible solution.
Another relevant example would be if would introduce something like precision or step size for the
ContinuousInput
, especially if it used in combination with some kind of linear constraint and a direct rounding to the next allowed level would lead to constraint violations.Could one not describe this rounding problem as a mixed integer optimization problem where we want to minimize the (squared) distance between a rounded feasible solution and the actual proposed candidate under the provided constraints and discretization levels?
What do you think?
The text was updated successfully, but these errors were encountered: