#18733: MixedIntegerLinearProgram should support tableau-query methods
getBInvARow,
getBInvRow, getBInvACol, getBInvCol
-------------------------------+------------------------
Reporter: mkoeppe | Owner:
Type: enhancement | Status: new
Priority: major | Milestone: sage-6.8
Component: numerical | Resolution:
Keywords: lp | Merged in:
Authors: | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
Dependencies: #18732 | Stopgaps:
-------------------------------+------------------------
Old description:
> If one uses Sage's MixedIntegerLinearProgram class for solving an LP, it
> is useful to access dictionary (tableau) data corresponding to the
> current (often optimal) basis. For example, one needs this to compute
> tableau cutting planes such as Gomory's fractional cut.
>
> The Sage interface should, of course, be designed to work consistently
> across all solvers. There are some subtleties here. Best to be compatible
> with a library that has already sorted most of it out: In the COIN open
> solver interface, there are the functions [https://projects.coin-
> or.org/Osi/browser/trunk/Osi/src/Osi/OsiSolverInterface.hpp#L1860
> getBInvARow], getBInvRow, getBInvACol, getBInvCol.
> Unfortunately these functions do not seem to be implemented in Osi's GLPK
> backend; so one needs to use one of Osi more complete backends such as
> CPLEX to find the precise definition.
>
> #18732 adds the necessary backend functions for the GLPK backend. This
> kind of information is available in every solver.
>
> See also #18688.
New description:
If one uses Sage's `MixedIntegerLinearProgram` class for solving an LP, it
is useful to access dictionary (tableau) data corresponding to the current
(often optimal) basis. For example, one needs this to compute tableau
cutting planes such as Gomory's fractional cut.
The Sage interface should, of course, be designed to work consistently
across all solvers. There are some subtleties here. Best to be compatible
with a library that has already sorted most of it out: In the COIN open
solver interface, there are the functions [https://projects.coin-
or.org/Osi/browser/trunk/Osi/src/Osi/OsiSolverInterface.hpp#L1860
getBInvARow], getBInvRow, getBInvACol, getBInvCol.
Unfortunately these functions do not seem to be implemented in Osi's GLPK
backend; so one needs to use one of Osi more complete backends such as
CPLEX to find the precise definition.
#18732 adds the necessary backend functions for the GLPK backend. This
kind of information is available in every solver.
See also #18688.
--
Comment (by dimpase):
Note that not all Sage's LP solvers use a simplex method. E.g. cvxopt does
not. In this case is makes no sense talking about tableaux...
--
Ticket URL: <http://trac.sagemath.org/ticket/18733#comment:2>
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.