#18688: MixedIntegerLinearProgram should support basis status getting/setting
-------------------------+----------------------------
Reporter: mkoeppe | Owner:
Type: task | Status: new
Priority: minor | Milestone: sage-6.8
Component: numerical | Keywords: lp
Merged in: | Authors:
Reviewers: | Report Upstream: N/A
Work issues: | Branch:
Commit: | Dependencies: #18685
Stopgaps: |
-------------------------+----------------------------
When Sage's MixedIntegerLinearProgram class is used for solving an LP, one
frequently needs to access further information about the current basis
(often, the optimal basis after solving the LP), not just the numerical
values of the solution; in particular, the combinatorial information:
which variables are basic, nonbasic at-lower, nonbasic at-upper.
#18685 adds the necessary backend functions for the GLPK backend. This
kind of information is available in every solver.
The Sage interface should, of course, be designed to work consistently
across all solvers. There are some subtleties here -- not all solvers mean
the same thing with "at-lower" for cases such as ranged constraints. Best
to look at a source that has already sorted it all out: In the COIN open
solver interface, [https://projects.coin-
or.org/Osi/browser/trunk/Osi/src?order=name] the function is called
[https://projects.coin-
or.org/Osi/browser/trunk/Osi/src/Osi/OsiSolverInterface.hpp#L1811
getBasisStatus]
And then there's setBasisStatus, of course. One needs this function if one
wants to implement LP-based branch and bound with warmstarting.
There are other important basis-related functions: [https://projects.coin-
or.org/Osi/browser/trunk/Osi/src/Osi/OsiSolverInterface.hpp#L1860
getBInvARow], getBInvRow, getBInvACol, getBInvCol -- but that's for
another ticket.
--
Ticket URL: <http://trac.sagemath.org/ticket/18688>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" 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-trac.
For more options, visit https://groups.google.com/d/optout.