pyomo icon indicating copy to clipboard operation
pyomo copied to clipboard

Adding bounds of expressions to fbbt

Open codykarcher opened this issue 2 years ago • 1 comments
trafficstars

Summary

As an example if I have:

pi <= x+y <= 2*pi

as a constraint and:

sin(x+y) ==z+u

Then I know that z+u is bounded to be between -1 and 0. It would be helpful if fbbt could perform these types of bound operations

Rationale

I would like to be able to make statements about convexity in the case where I have some known interval. In the case above, I can solve the problem as a convex optimization problem (despite the sin function not being convex) because it is convex on the valid interval. I can also replace the sin function with a polynomial approximation on the given valid domain for more efficient solution

Description

@michaelbynum had thoughts on this that I did not really understand

Additional information

Can discuss during the next developer meeting

codykarcher avatar Sep 15 '23 03:09 codykarcher

We could support this if we identified common expressions, forming a single DAG for the entire problem. It should be doable, and is a feature worth having.

michaelbynum avatar Sep 18 '23 15:09 michaelbynum