-
Notifications
You must be signed in to change notification settings - Fork 38
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
Incumbent and branching callbacks #16
Comments
No branching callback in Gurobi. Its pretty broken (in the sense you probably shouldn't use it) in CPLEX afaik but does exist. |
In CPLEX it allows you to reject integer-feasible solutions before they're set as incumbent. It seems that it's similar to lazy constraints, except that it doesn't actually add the violated constraint to the problem. |
Branching callbacks are supported in GLPK, the interface has a There is no such functionality as rejecting an integer-feasible solution without adding the constraint. Actually, there is no notion of an integer-feasible solution except for the current best (i.e. the API only allows to work on relaxed solutions; whenever those are checked for integer-feasibility they either substitute the current best or are discarded, and the API does not give the user any way to hook into this process). BTW this is currently my only issue with the generic callback interface in GLPK, which is otherwise complete, since it prevents me to implement |
CPLEX is the only solver that supports the incumbent callback, so I wouldn't want to put it into MathProgBase. Before we do anything with branching, we should really have a SCIP interface as that is the state-of-the-art in user branching control; it lets you create n-way branches and use other cool techniques. I'm not convinced that the branching callbacks exposed by CPLEX and GLPK are useful enough to be worth the effort to standardize. Unrelated to MathProgBase though, in JuMP we should make it possible to use a solver-specific callback. Solvers are free to expose callbacks beyond those which are part of MathProgBase. |
Closed in favor of #170 |
Talked to Juan Pablo today, and he expressed interest in adding incumbent and branching callbacks at some point. Are these supported in Gurobi/GLPK?
The text was updated successfully, but these errors were encountered: