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.
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.