Ax: Outcome Constraint does not apply correctly

Created on 15 May 2020  路  3Comments  路  Source: facebook/Ax

Hello,
i麓m working on a model (see issue #321) with two noisy outcomes. The first one is the objective, the second one the constraint. I defined a outcome constraint similar to "Outcome2 >= 0.99". Outcome2 can be a maximum of 1.0 as it is a percentage value.
While the GP-EI Optimization runs, the constraint does not apply correctly. The shown outcomes are close to 0.99, like 0.97 (+/- 0.15 SEM), but still below.
Could this be a rounding problem or something like that?

Most helpful comment

Hi @Pzmijewski ! This is a great question.

As we collect data near the constraint, we will suggest arms that violate the constraint (it's unknowable a priori whether a candidate will violate the constraint or not). If the constraint is binding (which it often is if there are real tradeoffs) then we will need to explore quite aggressively near the bound in order to get performance, so inevitably there will be a good number of trials that don't satisfy the constraints during the optimization.

All 3 comments

Hi @Pzmijewski ! This is a great question.

As we collect data near the constraint, we will suggest arms that violate the constraint (it's unknowable a priori whether a candidate will violate the constraint or not). If the constraint is binding (which it often is if there are real tradeoffs) then we will need to explore quite aggressively near the bound in order to get performance, so inevitably there will be a good number of trials that don't satisfy the constraints during the optimization.

@Jakepodell is right, and just to elaborate on this a bit:

We expect that we will suggest some arms that violate the constraint. If we knew ahead of time what arms would violate, we'd be done, and there would be no need to run the optimization!

If you have truly hard constraints that must _never_ be violated during the optimization, then Bayesian optimization with black box constraints is just not going to work for you, unfortunately.

However, if you are ok with having your constraints violated during the optimization, then after its done, you can pick the best arm among the feasible observed points -- the ones that didn't violate -- as your "launch candidate".

Let us know if this helps or if you have further questions!

Hi @Jakepodell,
hi @ldworkin,

thank you! I have now understood what it was all about. :-)

greetings
Philipp

Was this page helpful?
0 / 5 - 0 ratings

Related issues

arvieFrydenlund picture arvieFrydenlund  路  5Comments

natolambert picture natolambert  路  4Comments

ugurmengilli picture ugurmengilli  路  3Comments

Pzmijewski picture Pzmijewski  路  3Comments

wooohoooo picture wooohoooo  路  4Comments