Choco v4.10.7 Release Notes
Release Date: 2021-10-11 // over 2 years ago-
Major features:
- Simplify the way deltamonitors work. There is no need to
freeze
andunfreeze
them before callingforEach...
methods. But, a call toforEach...
consumes all values stored. - ๐ Fix a bug related to incremental propagators, views and missing events.
- STR2+ now deals with STAR tuples. Can be used when CT+ is not efficient (mainly due to very large domain size)
- Resetting cutoff strategies now possible
- ๐ Change restart behavior to reset cutoff on solutions (can be disabled though, calling
solver.setRestarts(..)
API). - Display occurrences of variable types and occurrences of propagator types
- ๐ Now
IntDomainBest
offers API to break ties (seeSearch.ValH.BLAST
for an example). - โ Add
solver.defaultSolution()
which creates lazily a solution recording everything, plugs it and returns it. This is helpful when a Solution object is required in many places. - ๐ง Modification of the management of expressions in order to reduce the number of created variables (WIP).
- โ Add
IntVar.stream()
that streams a variable's values (in increasing order) - โ Add
Search.ValH.BMIN
andSearch.ValH.BLAST
- โ Add DIMACS CNF parser (
org.chocosolver.parser.mps.ChocoDIMACS
) - โ Add Logger (
solver.log()
) to trace from Model/Solver. - ๐ Change some default settings
- Revamp
Settings
, now is defined as a factory pattern + addSettings.dev()
andSettings.prod()
profiles. - Make half reification possible. Seed
c.implies(b)
orc.impliedBy(b)
wherec
is a Constraint andb
a BoolVar. - โก๏ธ Update MiniZinc constraints definition + flatzinc files (for testing).
- โก๏ธ Update
choco.msc
(for MiniZinc IDE) +./minizinc/README.md
- โ Add
Argmax
andArgmin
constraints - โ Add
IfThenElse
as a decomposed constraint - ๐ Improvement of
solver.findParetoFront()
๐ Deprecated API (to be removed in next release):
Other closed issues and pull requests:
๐ See milestone 4.10.7
๐ Contributors to this release:
- Dimitri Justeau-Allaire (@dimitri-justeau)
- Jean-Guillaume Fages (@jgFages)
- Charles Prud'homme (@cprudhom)
- Charles Vernerey (@chaver)
- Simplify the way deltamonitors work. There is no need to