> 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.
Thanks. That makes sense. > It is not clear to me whether glp_factorize and/or glp_warm_up needs to > be called. I'll ask on their mailing list about that. I was wondering about that function yesterday, too. I conduct iterative linear solving, and don't like the idea of starting afresh every time I add a constraint; as I recall, one ought to be able to warm start even at that point, simply moving from the old, at worst currently infeasible solution to a feasible solution. (This is not my specialty, as is probably obvious by now.) > 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). > IIRC, we did that in case someone tried to extract solutions after deleting, without first solving. john perry -- 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 sage-support+unsubscr...@googlegroups.com. To post to this group, send email to sage-support@googlegroups.com. Visit this group at http://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/groups/opt_out.