pyomo
pyomo copied to clipboard
Adding bounds of expressions to fbbt
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
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.