Skip to content

Releases: chocoteam/choco-solver

v4.10.17

23 Sep 07:52
Compare
Choose a tag to compare

4.10.17 - 23 Sep 2024

Hotfix

  • Fix bug in PropHybridTable (#1102)

Full Changelog: v4.10.16...v4.10.17

v4.10.16

16 Sep 09:43
Compare
Choose a tag to compare

4.10.16 - 12 Sep 2024

Hotfix

  • Fix bug in IntAffineView (#1101)

Full Changelog: v4.10.15...v4.10.16

v4.10.15

09 Sep 13:50
Compare
Choose a tag to compare

4.10.15 - 09 Sep 2024

Major features:

  • Add PickOnDom and variants (see Search.pickOnDom)
  • Enhance MiniZinc output
  • Revamp scripts to solver flatzinc files
  • Fix bugs (see closed issues)

Other closed issues and pull requests:

See milestone 4.10.15

Contributors to this release:

Full Changelog: v4.10.14...v4.10.15

v4.10.14

02 Nov 16:32
Compare
Choose a tag to compare

4.10.14 - 02 Nov 2023

Major features:

  • NEW: solver..showRestarts(); to display the number of restarts during the search.
  • NEW: hybrid table constraints (see model.table(...))
  • NEW: partial assignement generator for COP (see Search.generatePartialAssignment())
  • NEW: Add Blackbox configuration (#1058)
  • Revamp views (#564)
  • Improve pow(base, exponent, result)
  • Remove BitsetArrayIntVarImpl now managed in BitSetIntVarImpl

Deprecated API (to be removed in next release):

Other closed issues and pull requests:

See milestone 4.10.14

Contributors to this release:

Full Changelog: v4.10.13...v4.10.14

v4.10.13

05 Jun 12:23
Compare
Choose a tag to compare

4.10.13 - 05 Jun 2023

Major features:

Mainly bug fixes and improvements of Pareto front performances.

Deprecated API (to be removed in next release):

Other closed issues and pull requests:

See milestone 4.10.13

Contributors to this release:

Full Changelog: v4.10.12...v4.10.13

v4.10.12

06 Mar 14:52
Compare
Choose a tag to compare

4.10.12 - 06 Mar 2023

Major features:

Deprecated API (to be removed in next release):

Other closed issues and pull requests:

See milestone 4.10.12

Contributors to this release:

Full Changelog: v4.10.11...v4.10.12

v4.10.11

07 Feb 13:37
Compare
Choose a tag to compare

4.10.11 - 07 Feb 2023

From this version on, only one library will be available for direct download, namely choco-solver-4.10.11.
This library contains both the core (a.k.a, choco-solver module) and the extension for parsing model files (a.k.a, choco-parsers).
However, it is still possible (and recommended) to use Maven.

Major features:

  • Correcting the lack of filtering in PropIncreasing
  • Change the SetType for the undirected graph stored in DiffN for efficiency reason
  • SparseBitSet for a backtrackable bitset with mostly 0s (#935)
  • Change the way restarting works: not a Move anymore, directly included in Solver (#950)
  • Simplification of objective manager (#949)
  • Calling getValue() on an uninstantiated variable throws an IllegalStateException (#957)
  • Change the MiniZinc complementary search to a FirstFail (instead of DomOverWDeg) (#958)
  • Reduce object creation during solving (#985)
  • Reduce object creation during propagation (#969)
  • Reduce memory footprint of Model (#964)
  • Add model.getEstimatedMemory() method
  • Add Model analysis (#939)
  • Add log file as RegParser option (for parsers)
  • creation of PropPower propagators with exponent as int

Deprecated API (to be removed in next release):

From Solver:

  • Propagate getPropagate()
  • void setPropagate(Propagate p)
  • Closeable outputSearchTreeToCPProfiler(boolean domain)

Others:

  • Propagate class
  • IntEventType: int combine(IntEventType... evts)

Other closed issues and pull requests:

See milestone 4.10.11

Contributors to this release:

Full Changelog: 4.10.10...v4.10.11

v4.10.10

11 Oct 14:31
Compare
Choose a tag to compare

4.10.10 - 11 Oct 2022

Major features:

  • Fix performance issue of ViewDeltaMonitor
  • Fix lack of filtering in STR2+ when domain is bounded
  • Fix issue relative to OR and AND in LogOp
  • Add missing checks in OneWordS32BitSet and OneWordS64BitSet + update constructors
  • Add new API to VariableUtils
  • Add CITATION.cff
  • Update paper.md

Other closed issues and pull requests:

See milestone 4.10.10

Contributors to this release:

Full Changelog: 4.10.9...v4.10.10

4.10.9

22 Aug 11:13
Compare
Choose a tag to compare

4.10.9 - 22 Aug 2022

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 of Solution randomly sampled.
  • Add increasing and decreasing 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() and getPropagator(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:

Full Changelog: 4.10.8...v4.10.9

4.10.8

10 Jan 09:45
Compare
Choose a tag to compare

4.10.8 - 07 Jan 2022

Major features:

  • Propagation is now observable, solver.observePropagation(PropagationObserver).
    Consequently, it is now possible to profil the propagation by calling solver.profilePropagation().
    See Javadoc for details and usages (#832).
  • Release 4.10.7 introduces a bug related to delta monitors, which is now fixed (#837).
  • Add new black-box strategy: failure based variable ordering heuristics (@lihb905)
  • Add model.streamVars() and model.streamCstrs()
  • Bounded domains checking for table constraints
  • Change complementary search in FlatZincParser
  • Bump XCSP3

Other closed issues and pull requests:

See milestone 4.10.8

Contributors to this release:

Full Changelog: 4.10.7...v4.10.8