-
Notifications
You must be signed in to change notification settings - Fork 10
Add bridges #34
Comments
What is currently done in LQOI for |
We add them as a block so it might be slightly more efficient: LinQuadOptInterface.jl/src/constraints/vectoraffine.jl Lines 28 to 51 in ebd36b1
But the deleting etc happens row by row. @joaquimg might disagree, but I think the added complexity is outweighed by the additional maintenance. Having bridges allows other solvers to avoid re-implementing. The vectorofvariables happens here: LinQuadOptInterface.jl/src/constraints/vectorofvariables.jl Lines 18 to 35 in ebd36b1
Which is also added maintenance in LQOI for little performance gain. |
Just adding a precision. If someone needs to pass a block of constraints and only cares about performance, he can still use MOI.add_constraints() with separate constraints. So keeping it as it is now (without a bridge) is more for people who both care about this little performance gain and want to model their problem in a vectorized way. |
I hope I am wrong, but we are giving up on efficiency in so many places that we might end up with poor performance. Anyway we will see when there are benchmarks against mpb. |
The bridge should probably add them via |
Agreed, the bridge should use |
For |
We can remove some of the complexity in LQOI by using bridges.
For VectorAffineFunction -> lots of scalaraffinefunctions
For VectorOfVariables-in-Nonpositives -> lots of scalaraffinefunctions-in-greaterthan etc
The text was updated successfully, but these errors were encountered: