Does MixedIntegerLinearProgram allow for warm restarts, meaning that
after solving a first time one changes the objective and resolve,
starting from the feasible solution of the previous solver run?
Based on the responses by Raniere and John (Thanks), and the implicit
pointers contained therein, I went to look in the glpk_backend source
code and the GLPK reference. My conclusion is now that, when using the
simplex method explicitly:
solver_parameter(backend.glp_simplex_or_intopt,
backend.glp_simplex_only)
Then (by GLPK default), presolving is turned off, and then a warm start
will be performed when the basis still present in the solver object is
still valid. So this should work when only changing the objective
function. Otherwise (for constraint add/remove or for bound change), the
"LP basis constructing routines"
glp_set_row_stat
glp_set_col_stat
must be used to construct a valid basis before calling the solver again.
It is not clear to me whether glp_factorize and/or glp_warm_up needs to
be called. Currently, when removing constraints the sage module creates
a new basis using the basic crashing routine glp_std_basis (undocumented
why -- will need to test).
Erik
--
You received this message because you are subscribed to the Google Groups
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/groups/opt_out.