Skip to content
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

ScalarizedOutcomeConstraint support (e.g. sum outcome constraint) #472

Closed
reiter-ja opened this issue Jan 15, 2021 · 4 comments
Closed

ScalarizedOutcomeConstraint support (e.g. sum outcome constraint) #472

reiter-ja opened this issue Jan 15, 2021 · 4 comments
Assignees
Labels
enhancement New feature or request fixready Fix has landed on master.

Comments

@reiter-ja
Copy link

Hello Ax team,

Is there a way to use SumConstraint() as an OutcomeConstraint() with a set of different metrics?

Background:
I have a set of metrics, each of them depends on three input parameters:
Metric1 = f(x1,x2,x3)
Metric2 = f(x4,x5,x6)
Metric3 = f(x7,x8,x9)

Now I want to set an outcome constraint like:
Limit <= Sum(Metric1, Metric2, Metric3)

Right now I use python to calculate the sum of the three different metrics and define a fourth metric like:
Metric4 = np.sum( Metric1, Metric2, Metric3)
and then I define one single OutcomeConstraint based on Metric4.

However, I think now it is much harder for Ax to learn the behavior of Metric4.

Many thanks in advance for the answer :-)

Best regards,
Jakob

@lena-kashtelyan lena-kashtelyan self-assigned this Jan 15, 2021
@lena-kashtelyan lena-kashtelyan added the enhancement New feature or request label Jan 15, 2021
@lena-kashtelyan
Copy link
Contributor

Hi, @reiter-ja! This functionality is currently not supported, unfortunately, but not because there is a methodological blocker –– it's just something we have not yet had requests for and therefore have not dedicated the engineering effort to. We'll look into adding support for this, and I will let you know once we have a plan (or a decision that we are not supporting this in the short term).

@lena-kashtelyan
Copy link
Contributor

Update on this: while we are interested in supporting this functionality, we probably will not get to it in the short-term, so marking this item as 'wishlist' for now.

@lena-kashtelyan lena-kashtelyan added the wishlist Long-term wishlist feature requests label Jan 19, 2021
@lena-kashtelyan lena-kashtelyan added fixready Fix has landed on master. and removed wishlist Long-term wishlist feature requests labels Apr 23, 2021
@lena-kashtelyan
Copy link
Contributor

lena-kashtelyan commented Apr 23, 2021

Support for ScalarizedOutcomeConstraints has now been added to Ax and is included in the current 'master' version. It will be included in our next stable release sometime next month! Please feel free to ask any questions in this issue, @reiter-ja! Simple usage example can be found here in our testing stubs:

def get_scalarized_outcome_constraint() -> ScalarizedOutcomeConstraint:
.

cc @qingfeng10 who added support for this functionality

@lena-kashtelyan lena-kashtelyan changed the title use SumConstraint as a OutcomeConstraint ScalarizedOutcomeConstraint support (e.g. sum outcome constraint) Apr 23, 2021
@lena-kashtelyan
Copy link
Contributor

This is now done and included with latest stable release, 0.2.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request fixready Fix has landed on master.
Projects
None yet
Development

No branches or pull requests

2 participants