Opened 7 years ago
Last modified 6 years ago
#19219 new enhancement
MILP: Add CyLP backend
Reported by: | mkoeppe | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-6.9 |
Component: | numerical | Keywords: | lp |
Cc: | ncohen, dimpase | Merged in: | |
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description (last modified by )
CyLP is a Cython interface to COIN-OR’s Linear and mixed-integer program solvers (CLP, CBC, and CGL).
We should add a MILP backend that goes through CyLP, because the interface is much more complete than Sage's current COIN interface. In particular, quoting from CyLP's README:
"CyLP’s unique feature is that you can use it to alter the solution process of the solvers from within Python. For example, you may define cut generators, branch-and-bound strategies, and primal/dual Simplex pivot rules completely in Python."
https://github.com/coin-or/CyLP
Of course, CyLP has an incompatible license (CPL), but it does not matter because COIN has that license already.
Update: CyLP has various outstanding issues (https://github.com/coin-or/CyLP/issues) that need working around or fixing
Change History (3)
comment:1 Changed 7 years ago by
comment:2 Changed 7 years ago by
Matthias builds a database of ILP cutting planes constructions (Actually I talked to him yesterday about it at length).
He wants his cuts to be as painless as possible:)
comment:3 Changed 6 years ago by
- Description modified (diff)
I don't have anything against what you plan to do, but why exactly do you want to add a
CyLP
backend? It may be true thatCyLP
has more features exposed than our current interface, but then the same thing remains: in the backend, you will have to expose the features that are exposed inCyLP
, exactly how we have to do now by exposing in the coin backend the features that are exposed in the C++ Api.Nathann