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

Issues with random generator (Windows MSVC vs. Linux) #141

Open
christoph-cullmann opened this issue Jan 26, 2021 · 0 comments
Open

Issues with random generator (Windows MSVC vs. Linux) #141

christoph-cullmann opened this issue Jan 26, 2021 · 0 comments

Comments

@christoph-cullmann
Copy link

At work, we generate "a lot" of ILP based on large graphs.

We always ran into the issue that some solve perfectly well on Linux but not at all on Windows.

(with exactly the same solver code & 64-bit machines for both systems)

I investigated this a bit more and found out the biggest impact has the random generator.

With the default seed of 1234567, e.g.

value_24093348.lp.gz

our solver driver with some

CbcMain1 call with the parameters

"-strong=0", "-probing=on", "-feas=off", "-cuts=on", "-PassCuts=100" "-solve"

isn't able to handle this at all on Windows.

With small seeds this seems to work more reasonable.

Given the random generator is hand-written, I tried to use one that a C++11 compiler library provides.

This seems to at least bring more "consistent" results on Linux & Windows (and macOS)

A difference is that the generated numbers are in [0.0, 1.0[ but that seems to work for our stuff, but perhaps that is an issue in general.

See below attached rng path as proof of concept.

rng.txt

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

1 participant