Skip to content

LCG update - #1234

Open
cprudhom wants to merge 5 commits into
developfrom
feat_lcg
Open

LCG update#1234
cprudhom wants to merge 5 commits into
developfrom
feat_lcg

Conversation

@cprudhom

Copy link
Copy Markdown
Member

Some improvements to the LCG framework:

  • MiniSat now manages new WL in a circular way (like depicted in "Optimal Implementation of Watched Literals and More General Techniques", Ian P. Gent, JAIR 2013)
  • When a clause is learned, the 2nd watched-literal is the one with the highest decision level (as defined in "An Extensible SAT-solver", Niklas Eén, Niklas Sörensson)
  • LCG now call for DB reduction before adding the last nogood
  • Profie (for Cumulative) lazily computes the set of tasks involved in a conflict

@cprudhom cprudhom added this to the 6.0.2 milestone Aug 21, 2026
@cprudhom cprudhom self-assigned this Aug 21, 2026
@mergify

mergify Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@ArthurGodet ArthurGodet left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code changes seem fine to me. The only remaining thing to dois change the number of expected nodes in tests in choco-parsers module.

Maybe we should consider removing these specific asserts (and keep only the ones of the objective value or number of solutions). What do you think ? @jgFages an opinion on the matter ?

@cprudhom

Copy link
Copy Markdown
Member Author

In my opinion, we should keep these metrics. It is admittedly a bit of a pain to update them whenever we make a change that we know will affect them, but it also helps us spot regressions caused by other, indirect changes (such as, for example, when we change certain constraints).

@ArthurGodet ArthurGodet mentioned this pull request Aug 21, 2026
@jgFages

jgFages commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

I would tend to agree with both :-)
It is good to keep (at least some of) them in order to detect potential regressions.
It is also acceptable to remove some node/fail counts, especially when using dynamic strategies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants