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