Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explicitly provide supported versions of Cbc #351

Open
chrissype opened this issue May 9, 2023 · 2 comments
Open

Explicitly provide supported versions of Cbc #351

chrissype opened this issue May 9, 2023 · 2 comments

Comments

@chrissype
Copy link

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?

@chrissype
Copy link
Author

anyone?

@tkralphs
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants