-
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
getbasis specification in MIP case #212
Comments
It is somewhat ill-defined in MPB. It would be really helpful if you could read http://www.juliaopt.org/MathOptInterface.jl/latest/apireference.html#Basis-Status-1 and http://www.juliaopt.org/MathOptInterface.jl/latest/apireference.html#MathOptInterface.VariableBasisStatus and suggest edits if necessary in order to help clarify things. |
I'll check that after this weekend |
TL;DR: the notion of "basis" is not well-defined for integer solutions, and is not implemented by any major solver. The notion of basis for a MIP solution is not clearly defined, and thus this is not implemented by any of the major solvers (there is no basis information for a MIP solution in CPLEX/Gurobi/XPress...). Let's assume you have an integer solution to a MILP. To get basis information, that integer point has to be an extreme vertex of some (LP) polyhedron. Consequently, the only scenario where "basis information" for a MIP solution may be available, is when a node relaxation yields an integer solution. In this case, you would need access to LP-level information at that node, which would most likely require a solver-specific callback. |
Thank you both for the answers and details I hadn't thought of the heuristic-found solution. |
@odow, I don't know if the issue should be closed given that it aims at being fixed in MOI and not MPB. Maybe a wont-fix tag? |
A degenerate variable is one in the basis with variable value of 0. Superbasic variables are exactly what is written: [edit: not] in the basis but not at a bound. See also: https://groups.google.com/forum/#!topic/ampl/vZEHzbyyhVE Feel free to open an issue at MOI to discuss further. We definitely need help improving the docs :) |
Oh ok I see this applies only to non-linear problems. I guess this could be good to add it (I was thinking of (MI)LPs and when that's the case, people might forget MOI is meant to be more general |
Open an issue. I'm not sure how much anyone has actually thought about this part of the API or implemented things. |
From the documentation of the
SolverInterface.getbasis
function, I'm not sure if it is supposed to return the basis of the augmented constraint matrix (with cuts and bounds) at current node or of the initial linear formulation constraint matrix.The text was updated successfully, but these errors were encountered: