cog-imperial / suspect

Special Structure Detection for Pyomo
https://cog-imperial.github.io/suspect/
Apache License 2.0
26 stars 4 forks source link

FBBT Performance #15

Closed michaelbynum closed 2 years ago

michaelbynum commented 3 years ago
  1. Use math.isclose instead of numpy.isclose. It is much faster if operating on floats.
  2. Ensure that tightening SumExpression, LinearExpression, and QuadraticExpression can be done in linear time.
  3. Redistribute the Pyomo license. The code for (2) above was copied and modified from Pyomo. If this is problematic, let me know.

On the test problem I was using, these changes improved performance by an order of magnitude.