Michael Bynum

Results 155 comments of Michael Bynum

For the example in this problem, FBBT + identify_variables is more than 100 times faster than newton's method.

These are from single runs, so take them with a grain of salt: - `calculate_variable_from_constraint` with `sympy`: 0.3047 seconds - `calculate_variable_from_constraint` with `reverse_symbolic`: 0.0004 seconds - `calculate_variable_from_constraint` with `reverse_numeric`: 0.0005...

So FBBT is not really faster if you use `reverse_symbolic` or `reverse_numeric`, but it could still help with bad initialization.

I've already done that on a branch of Pyomo.

This should all be possible. We can compute symbolic derivatives with respect to both variables and parameters: ``` In [1]: import pyomo.environ as pe ...: from pyomo.core.expr.calculus.diff_with_pyomo import reverse_sd ...:...

Just in case anyone else is tracking this issue, @adowling2's notebook has a nice example of this.

Where to put things is always a challenge, but reducing duplicate is always good. Maybe we should we start adding some structure to contrib?

@emma58, your review is blocking, but I think it is outdated.