Choco v4.10.10 Release Notes
Release Date: 2022-10-11 // almost 2 years ago-
Major features:
- ๐ Fix performance issue of ViewDeltaMonitor
- ๐ Fix lack of filtering in STR2+ when domain is bounded
- ๐ Fix issue relative to
OR
andAND
inLogOp
- โ Add missing checks in OneWordS32BitSet and OneWordS64BitSet + update constructors
- โ Add new API to VariableUtils
- โ Add CITATION.cff
- โก๏ธ Update paper.md
๐ Deprecated API (to be removed in next release):
Other closed issues and pull requests:
๐ See milestone 4.10.10
๐ Contributors to this release:
- Jean-Guillaume Fages (@jgFages)
- Charles Prud'homme (@cprudhom)
- Mehmet Hakan Satman (@jbytecode)
Previous changes from v4.10.9
-
Major features:
- ๐ It is now possible to declare hints to help the search finding a first solution. See
solver.addHint(var, val)
. - โ Add
Solver.tableSampling
resolution policy which returns a stream ofSolution
randomly sampled. - โ Add
increasing
anddecreasing
constraints - โ Add
costFlow
constraint, which is composed of scalar products and a MinCostMaxFlow propagator - Revamp
pow
constraint - โ Add threshold for
element
with array of variables signature - โ Add a propagator for 0/1-knapsack (thanks to @PoltyPoltou)
- โ Remove
CPProfiler
since the project is not active anymore. - ๐ Make possible to deal with large domains for some constraints (#894)
- โ Add a
LinearProgram
class to deal with linear program (!) and a two-phase Simplex (not connected yet) - ๐ Fix bug related to delta in boolean views
- ๐ Improvements relative to reified propagators
- ๐ Change signature of AtLeastNValues
- Record time to best in
Measures(IMeasures measures)
constructor
Change the way propagators are stored in variables to ease swapping (#889)
โฑ Each variable is in charge of scheduling its propagators. This impacts the way propagators are stored in a variable. ๐ Consequently, the
getPropagators()
andgetPropagator(int)
methods are deprecated,streamPropagators()
replaces them. Unless otherwise stated, a propagator that can be entailed is automatically swapped in its variables' internal structure.SetVar
- Extend some black-box strategies to
SetVar
- โ Add
union(SetVar unionSet, SetVar indices, SetVar[] sets)
constraint - โ Add free strategy for SetVar (RegParser and ParallelPortfolio)
- ๐ Fix
SetVar#getDomainSize
- โ Add
SetDomainMax
- โ Add 'setLe' and 'setLt' constraint (as a decomposition) in
ISetConstraintFactory
Flatzinc, XCSP3 and MPS
- ๐ Change default search of Flatzinc
- Increase interval for Flatzinc unbounded intvar
- โ Remove default ANSI in parsers
- โก๏ธ Update FZN grammar to deal with 'set of int'
- Flatzinc: deal with warm_start
- โ Add ignored search annotation warning in FGoal
- โก๏ธ Update XCSPParser + add
model.amongDec
JAR Files
Since 4.10.9, a new jar file is available for download. This is a lighter version of the one with dependencies, ๐ namely
choco-parsers-light-VERSION.jar
. The following dependencies have been excluded from this archive:org.apache.pdfbox:pdfbox
org.apache.fontbox:fontbox
com.ibm.icu:icu4j
This results in 82% smaller archive. Note that the non-alleged versions are still available for download.
๐ Deprecated API (to be removed in next release):
IOutputFactory.outputSearchTreeToCPProfiler(boolean domain)
Other closed issues and pull requests:
๐ See milestone 4.10.9
๐ Contributors to this release:
- Mathieu Vavrille (@MathieuVavrille)
- Nicolas Pierre (@PoltyPoltou)
- Charles Prud'homme (@cprudhom)
- Jean-Guillaume Fages (@jgFages)
- Arthur Godet (@ArthurGodet)
- ๐ It is now possible to declare hints to help the search finding a first solution. See