A new bridge was added in #2754
- It rewrites
f(x) in Interval(l, u) to [f(x)] in HyperRectangle([l], [u])
- SpliltHyperRectangleBridge rewrites
[f(x)] in HyperRectangle([l], [u]) to [f(x) - l, u - f(x)] in Nonnegatives(2)
- Except if
l or u are infinite then the rows are excluded in the nonnegative constraint
- Bug is that if both
l and u are not finite, then we add Nonnegatives(0) constraint, which solvers like CSDP freak out at.
We should omit adding the constraint if all rows are free.
x-ref #2809
x-ref https://github.com/jump-dev/MathOptInterface.jl/actions/runs/16919956500
A new bridge was added in #2754
f(x) in Interval(l, u)to[f(x)] in HyperRectangle([l], [u])[f(x)] in HyperRectangle([l], [u])to[f(x) - l, u - f(x)] in Nonnegatives(2)loruare infinite then the rows are excluded in the nonnegative constraintlanduare not finite, then we addNonnegatives(0)constraint, which solvers like CSDP freak out at.We should omit adding the constraint if all rows are free.
x-ref #2809
x-ref https://github.com/jump-dev/MathOptInterface.jl/actions/runs/16919956500