cog-imperial / OMLT

Represent trained machine learning models as Pyomo optimization formulations
Other
281 stars 59 forks source link

Fix hybrid bigm formulation for linear trees #164

Open emma58 opened 1 month ago

emma58 commented 1 month ago

The changes in #163 included changes to the hybrid bigm formulation for linear tree that, while mathematically equivalent, made for a larger formulation in terms of number of constraints. This PR corrects that: It still uses the gdp.bound_pretransformation to generate the constraints bounding the features values for each leaf, but it manually transforms the constraints setting the output value to the leaf's linear function, equivalently to @bammari's original implementation. In addition it adds a test to check that the size of the resulting formulation is what is expected.

Legal Acknowledgement\ By contributing to this software project, I agree my contributions are submitted under the BSD license. I represent I am authorized to make the contributions and grant the license. If my employer has rights to intellectual property that includes these contributions, I represent that I have received permission to make contributions and grant the required license on behalf of that employer.

jalving commented 1 month ago

It looks like the graph neural network notebook is failing. i'll have a look soon.