#10043: Complete rewrite of LP solver interfaces
----------------------------------+-----------------------------------------
   Reporter:  ncohen              |       Owner:  ncohen  
       Type:  enhancement         |      Status:  new     
   Priority:  major               |   Milestone:  sage-4.6
  Component:  linear programming  |    Keywords:          
     Author:  Nathann Cohen       |    Upstream:  N/A     
   Reviewer:                      |      Merged:          
Work_issues:                      |  
----------------------------------+-----------------------------------------
Description changed by ncohen:

Old description:

> This (large) patch creates a `backends` directory in the `numerical/`
> folder.
>
> It adds the following files :
>
>     * glpk_backend.pyx/pxd
>     * coin_backend.pyx/pxd
>     * cplex_backend.pyx/pxd
>     * generic_backend.pyx/pxd
>
> It removes the following files from `numerical`
>
>     * mip_glpk.pyx/pxd
>     * mip_coin.pyx/pxd
>     * mip_cplex.pyx/pxd
>     * osi_interface.pyx/pxd
>
> What for ? There is no a real interface between Sage and all these
> solvers. Not just a "solve"function that does everything at the same
> time. It is now much clearer, much more efficient, and it will be
> faaaaaaaar easier to use solver-specific features. It can now be used
> directly in Cython, and we can now deal with constraint generation (see
> patches XXX and XXX), which is a great news.
>
> I know this patch is huge, and I swear I tried to avoid it by considering
> step-by-step patches, which slowly became a nightmare... The good point
> in all this is that all the LP-related methods are extensively tested
> through all the graph methods, which are very likely to detect the
> important mistakes. I do not doubt there are many left, and I expect this
> patch to be followed by several "fixes" as these new features are being
> used, but.... I hope this review will get us rid of most of them !
>
> Thankssssssssss !!!
>
> Nathann

New description:

 This (large) patch creates a `backends` directory in the `numerical/`
 folder.

 It adds the following files :

     * glpk_backend.pyx/pxd
     * coin_backend.pyx/pxd
     * cplex_backend.pyx/pxd
     * generic_backend.pyx/pxd

 It removes the following files from `numerical`

     * mip_glpk.pyx/pxd
     * mip_coin.pyx/pxd
     * mip_cplex.pyx/pxd
     * osi_interface.pyx/pxd

 What for ? There is no a real interface between Sage and all these
 solvers. Not just a "solve"function that does everything at the same time.
 It is now much clearer, much more efficient, and it will be faaaaaaaar
 easier to use solver-specific features. It can now be used directly in
 Cython, and we can now deal with constraint generation (see patches XXX
 and XXX), which is a great news.

 I know this patch is huge, and I swear I tried to avoid it by considering
 step-by-step patches, which slowly became a nightmare... The good point in
 all this is that all the LP-related methods are extensively tested through
 all the graph methods, which are very likely to detect the important
 mistakes. I do not doubt there are many left, and I expect this patch to
 be followed by several "fixes" as these new features are being used,
 but.... I hope this review will get us rid of most of them !

 Thankssssssssss !!!

 Nathann

 (With this patch, there is no need anymore to install CBC in order to use
 CPLEX. Just adding the cplex files to include/ and lib/, as indicated at
 the end of
 http://www.sagemath.org/doc/constructions/linear_programming.html#solvers
 and running ``sage -b`` is enough)

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10043#comment:1>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to