> 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.

Reply via email to