Replies: 4 comments 8 replies
-
Hi @polivucci, That's right.
@SebastianAment has done a deep dive on this and may have more thoughts. |
Beta Was this translation helpful? Give feedback.
-
Hi @sdaulton, Thanks for your advice. Regarding constrained KG:
|
Beta Was this translation helpful? Give feedback.
-
That should work, but I believe has not been thoroughly evaluated. For one, it seems KG may no longer be non-negative when there are constraints since evaluating a point that is infeasible seems like it could lower the feasible posterior maximizer). Empirically, this could work well though.
I hadn't seen this before, but it looks interesting. |
Beta Was this translation helpful? Give feedback.
-
Sorry to resurrect this old discussion. Am I right in thinking that For example, in https://botorch.org/tutorials/closed_loop_botorch_only, we set With |
Beta Was this translation helpful? Give feedback.
-
Hi all,
First off, thanks to the developers for the fantastic work on BOTorch.
I would like to make sense of constraint handling for MC Acquisition Functions (AFs).
As far as I know, BOTorch implements 3 ways of handling constraints:
ConstrainedMCObjective()
. Here , the AF is evaluated on a objective which has been already weighted with a feasibility indicatorSampleReducingMCAcquisitionFunction()
AF class. Here feasibility weighting is introduced after evaluating the AF:ConstrainedMaxPosteriorSampling
. This is a constrained version of Thompson Sampling from the SCBO paper.My understanding is that the applicability of the above goes as follows:
MCAcquisitionFunction()
class , to which we can passConstrainedMCObjective()
through theobjective
argument. This includes most MC AFs with the exception of Entropy Search acquisitions which define their own AF base class.SampleReducingMCAcquisitionFunction()
class, which as of now only include the EI and logEI family.ConstrainedMCObjective()
toMaxPosteriorSampling
would also work out as it admits anobjective
argument.Therefore it seems to me that
ConstrainedMCObjective()
is the only method common to almost all MC AFs.Exception is Entropy Search AFs for which constraining is atm not yet supported (unless perhaps one can make it work via posterior transform?).
Is my understading correct?
It looks to me that approaches 1. and 2. are not equivalent, so I would like to ask if and how they differ in practice and if you recommend one over the other, based on your experience. Intuitively I would lean towards 2. wherever possible.
Likewise for TS, SCBO handling vs the constrained objective.
Many thanks for your help!
Beta Was this translation helpful? Give feedback.
All reactions