op 09-02-14 19:12, john_perry_usm schreef:
Actually, I was thinking of doing it when I have time. This should be quite useful for what I need, but I wanted to investigate just how he's going about it. And, as you point out, it isn't a problem to add a feature that works with only one solver; we simply add an optional argument (or more), right?
For warm restart functionality, the GLPK simplex solver needs to be given a valid basis after it has been modified (by adding/removing/changing variables/constraints/bounds; changes to the objective does not require any attention to the basis). Furthermore, the new basis matrix needs to be factorized; this is easiest to do using the warm_up routine.
In the epyglpki code, the necessary logic is captured in the 'basis' method of the SimplexSolver class.
The specification of the basis requires insight of the modeler; as far as I know, no automatic creation of a valid basis guarantees preserved feasibility, so manually adapting the basis settings are necessary. Therefore I do not think this is simply adding an extra parameter (variable statuses need to be read out and applied, factorization routine run). But given that the solver object is solver-specific in the Sage numerical module, I now think there is little risk of getting in the way of the other solvers if one wishes to implement this in the GLPK backend only.
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.
