#12220: Updated CBC spkg
----------------------------------+-----------------------------------------
   Reporter:  ncohen              |          Owner:  ncohen       
       Type:  enhancement         |         Status:  needs_info   
   Priority:  major               |      Milestone:  sage-4.8     
  Component:  linear programming  |       Keywords:               
Work_issues:                      |       Upstream:  N/A          
   Reviewer:                      |         Author:  Nathann Cohen
     Merged:                      |   Dependencies:               
----------------------------------+-----------------------------------------

Comment(by john_perry):

 Good news and bad news.

   1. `setModelOwnsSolver()` allows me to retain the solver interface after
 `CbcModel` finishes with it. I can get solutions, even add new
 constraints.
   1. Unfortunately, if I do add a constraint after solving once,
 `CbcModel` doesn't seem capable of solving the new system. Even if I add a
 constraint that maintains feasibility, I get the message,

     `MIPSolverException: 'CBC : The problem or its dual has been proven
 infeasible!'`
   3. There are '''no''' examples of using either `setModelOwnsSolver()` or
 `assignSolver()`.

 I'm guessing the designers never imagined that someone might want to add
 constraints to the system. I could be wrong, and hope I am. If they reply
 to my latest email, we'll know for sure.

 As things stand now, we have two options: use either
 `OsiClpSolverInterface` only with its verbosity and slow
 `branchAndBound()`, or `OsiClpSolverInterface` and `CbcModel` with a fast
 `branchAndBound()` but possibly slow solving with new constraints.

 Right now, I'm favorable to `CbcModel`, since that's what the Coin
 developers are pushing. Also, it takes care of the verbosity issue.
 Unfortunately, setting the number of threads in the model doesn't seem to
 help with multiprocessing, at least if the example you gave me is an
 indicator (assuming it's using `Coin`, which I think it is, but I'm not
 100% sure). Let me know if you think I should go with
 `OsiClpSolverInterface` only, instead.

 I'm going to start doctesting & fixing any bugs that pop up.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12220#comment:33>
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