Parameter Constraints or post-processing of resulting candidate points? #2687
Unanswered
angyurchenko
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I use BoTorch to optimize the chemical system with multiple input parameters f(x1, x2,...xN). Due to the system's nature, I use concentrations of different units (such as %, mM, mg/mL) as the input parameters. The system has two main constraints:
concentration % step_concentration == 0
, wherestep_concentration
is our minimum increment (0.005 in this example).I successfully implemented the first constraint using the
inequality_constraints
argument ofoptim_acqf
. However, I still cannot tackle the second constraint because, to the best of my understanding, this constraint cannot be addressed within the acquisition function optimization procedure.To address this problem, I tried to use post-processing of the resulting concentrations by subtracting the remainder from the concentrations (
concentration - concentration % step_concentration
). However, this approach isn't working reliably due to floating-point precision issues in Python. It also doesn't seem feasible to convert the problem to discrete because some components can have >500 states.Does anyone have suggestions for handling this type of discrete step constraint in BoTorch?
Thanks in advance!
Beta Was this translation helpful? Give feedback.
All reactions