Skip to content

Ma/improve solves #46

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

Merged
merged 10 commits into from
Aug 4, 2016
Merged

Ma/improve solves #46

merged 10 commits into from
Aug 4, 2016

Conversation

markan
Copy link
Contributor

@markan markan commented Aug 3, 2016

The key change is tweaks to the branchers to avoid some pathological cases with complex problems.

Choosing the package_versions variable to be INT_VAR_SIZE_MIN causes us to spend a large amount of time permuting variables that don't generate many propagations. Switching that to INT_VAR_DEGREE_MAX causes the solver to focus on the most 'influential' package versions first.

Also included are some refactors; a cleanup to avoid segfaulting with the new timer code.

Finally there's preliminary support for the GIST solve visualization tool; that was very helpful to tune the branchers.

@tduffield
Copy link
Contributor

cc @danielsdeleo @lamont-granquist

@lamont-granquist
Copy link
Contributor

👍

@danielsdeleo
Copy link
Contributor

I'm not very familiar with the stuff that interfaces directly with gecode, but it looks sane. I'm a bit wary of potentially changing the solutions we spit out for complicated graphs, but lots of people are suffering from the performance of some of the pathological cases so I think that tips the balance in favor. 👍

@tduffield tduffield merged commit 96b8444 into master Aug 4, 2016
@tduffield tduffield deleted the ma/improve_solves branch August 4, 2016 21:33
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

Successfully merging this pull request may close these issues.

5 participants