5.0.0-beta.1 - 17 Feb 2025
Major features:
This version introduces CP-SAT in Choco-solver which
replaces the previous explanation framework.
The Lazy Clause Generation (LCG) is a technique that allows the solver to generate clauses during search.
The current implementation is inspired by Chuffed
and "Lazy Clause Generation Reengineered" - Feydy, T., Stuckey, P.J. (2009).
This new version has necessitated a rather intrusive revision of the way propagators filter.
By default, LCG is not enabled. The following code shows how to enable it:
Model model = new Model(Settings.init().setLCG(true));
At this stage, this is a beta version.
First, only integer and boolean variables are supported.
Second, some constraints are explained with dedicated functions and
others are decomposed into explained ones.
More importantly, others are neither explained nor decomposed (for the moment).
In the latter case, an exception is raised to inform the user of the situation.
Other closed issues and pull requests:
See milestone 5.0.0