Closed lbianchi-lbl closed 1 year ago
Adding to the discussion - the issue is related to an ExternalFunction
in the model with a string argument, and the fact that the FBBT tools does not know what to do with it.
This probably ends up being a more general issue of "what should the FBBT tool do when it encounters an ExternalFunction"? My initial preferred response would be to return infinite bounds, as this means the tool would at least keep working and tighten the other bounds in the model, whereas an Exception would preclude the FBBT tool from being used on any model which contains an ExternalFunction.
Summary
git bisect
on the IDAES/idaes-pse repository), one of the models for the DISPATCHES project fails to solve with the exceptionTypeError: unsupported operand type(s) for -: 'str' and 'str'
being thrown frompyomo.contrib.fbbt.fbbt:_FBBTVisitorRootToLeaf.visiting_potential_leaf()
str
, possibly as a consequence of external functions being involved in the new IDAES Helmholtz implementationSteps to reproduce the issue
Error Message
Information on your system
Pyomo version: 6.4.2 Python version: 3.8.15 Operating system: Ubuntu 20.04.5 How Pyomo was installed (PyPI, conda, source): Pyomo installed via pip from GitHub ZIP URL in a Conda environment Solver (if applicable): GDPopt (?)
Additional information
See gmlc-dispatches/dispatches#165 for the downstream bug report.