-
Notifications
You must be signed in to change notification settings - Fork 83
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
VariablePrimalStart should use PStart #591
Comments
Yes it refers to setting all PStart+DStart values, i.e. a valid LP warm start per the first paragraph:
But just so I'm clear: you opened this issue following our discussion of start points for NLP models (though that's not mentioned above). Are we on the same page there? If so, the relevant paragraph is the one discussing that:
|
I guess my question is: JuMP doesn't have a way to distinguish MIP starts from PStarts, and we may or may not have complete primal solutions. So we'll probably set both Start (just the variables that have |
As above, this won't disable presolve (that happens only if DStart is set as well, and Gurobi.jl doesn't set this). But you will get warnings from the solver "Warning, invalid warm-start solution discarded" for MILPs and LPs to indicate that simplex cannot use the incomplete start. Since JuMP doesn't distinguish, one option would be to only set This is tricky when it's not clear what the user intended to do. I guess there's a risk that a start intended as a feasible MIP start might actually be a negative for performance of the NLP heuristics. Similarly, a partial infeasible point intended as an NLP start might cause the solver to spend a lot of time trying to complete/repair it (as a MIP start). |
In
Gurobi.jl/src/MOI_wrapper/MOI_wrapper.jl
Line 3435 in 9720c80
we use
Start
, which is for feasible MIP solutions:https://docs.gurobi.com/projects/optimizer/en/current/reference/attributes/variable.html#attrstart
See instead
PStart
:https://docs.gurobi.com/projects/optimizer/en/current/reference/attributes/variable.html#attrpstart
The text was updated successfully, but these errors were encountered: