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

Reply via email to