-
Notifications
You must be signed in to change notification settings - Fork 42
Description
Motivation
Within the GA ACQF optimization, we have a repair function that repairs solutions from the GA that they are always feasible. @Jimbo994 observed some problems with the functionality. Maybe @Jimbo994 and @LukasHebing could have a look at it together.
Furthermore, the repair function is currently tight strongly to pymoo as it is based on pymoo's repair class. It would be nice if the core functionality could be also used in every strategy, so that we make sure the solutions from the acqf optimization are always repaired to fit the constraints. Ideally the function would be always called here:
bofire/bofire/strategies/strategy.py
Line 177 in 779e4f5
| def postprocess_candidates(self, candidates: pd.DataFrame) -> pd.DataFrame: |
For this reason, we should put the core functionality into some general utils module and import it then both for the pymoo repair and the general repair from there to prevent circular imports. In its generalized form at the utils module, it should also not have any dependency to pymoo.
Note hat also botorch introduced a basic repair functionality recently (but with some limited functionality):
Describe the solution you'd like to see implemented in BoFire.
see above.
Describe any alternatives you've considered to the above solution.
No response
Is this related to an existing issue in BoFire or another repository? If so please include links to those issues here.
No response
Pull Request
None