#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:
-------------------------------+------------------------
Description changed by mkoeppe:
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 or CLP to find the precise definition.
>
> #18732 adds the necessary backend functions for the GLPK backend.
> #18763 adds the necessary backend functions for the COIN (CBC/CLP)
> 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 or CLP to find the precise definition.
#18732 adds the necessary backend functions for the GLPK backend.
#18763 adds the necessary backend functions for the COIN (CBC/CLP)
backend.
This kind of information is available in every solver.
See also #18688, and also #18804 (LPBackendDictionary).
--
--
Ticket URL: <http://trac.sagemath.org/ticket/18733#comment:5>
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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.