-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
performance hints #63
Comments
I posted this comment in jump-dev/CPLEX.jl#139 For Xpress there is a 10x speed and memory difference between adding variables 1 by 1 and adding them in a batch. |
I expect we'll have to put a bit of work into efficiently moving the data from the JuMP |
Very similar result for constraints: |
What are you planning to do with instance? Send everything to the solver as a Otherwise, I can only see the solver having to figure out when to add everything, and then Any ideas? |
No, we'll be providing the same constraints to the solver as the user provided to us. We can try: addconstraints!(::SolverInstance,::Vector{F},::Vector{S}) The solver can build a sparse matrix based on this and give all the constraints to the solver at once. We'd normally have to call this function three times, once for each of |
3 (actually once per Set + Function combination) times should be fine. |
This can also be used to pass in all bounds, integrality constraints, etc. |
yep! |
Actually can we just overload the broadcast syntax to intercept |
No, not really (JuliaLang/julia#22053 (comment)):
Seems a bit flimsy. |
similarly to |
It's just called |
Closing because we don't seem to have needed this or made progress. We have all the plural methods, it's just up to JuMP to plumb them through. |
@joaquimg proposed a performance hint to tell the MOI wrapper to load the problem into the solver. I expect that we may decide that we want other performance hints as we start implementing things, so opening this for general discussion.
The text was updated successfully, but these errors were encountered: