Open chrissype opened 1 year ago
anyone?
What do you mean by "compatible"? And what do you mean by a "more modern version of Cbc"? Do you mean the tip of the master
branch? Since two years ago (actually, since quite a few years ago), not very much has changed in master that would affect performance, other than refactoring, which was not supposed to have affected anything algorithmic at all. As it turned out, it did in fact affect execution is some subtle ways because of unintended changes in the way default parameters are set.
Can you give an example of what you mean by Cbc behaving "variously in strange ways." @h-g-s can correct me, but I believe python-mip
was developed natively for Cbc master, which at the time had the same API as 2.10
. There were some bugs introduced when the refactor branch was merged in master, but I think those have been fixed. If the weirdness you're referring to is about performance, you could try the latest release, which may exhibit less performance variability.
In any case, if you provide more details, I/we can probably advise. Someone else (@h-g-s ?) can jump in and correct me, but I don't think the master
version of Cbc has been particularly well-tuned across a wide variety of problems. My impression is that the added methodological elements were tuned to work well on specific classes of difficult problems, so performance may be more variable than the releases.
The packaged Cbc binaries are quite old (2 years). So I've built my own more modern version of Cbc using coinbrew, which sort of works. But Cbc behaves variously in strange ways, some of which are documented in other issues here. Would it be possible perhaps to provide explicitly supported versions (or even just commits on master) of Cbc, so that we can be sure the binaries we build are compatible?