All Versions
26
Latest Version
Avg Release Cycle
88 days
Latest Release
173 days ago

Changelog History
Page 1

  • v4.10.8 Changes

    January 07, 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 ### ๐Ÿš€ Deprecated API (to be removed in next release):

    Other closed issues and pull requests:

    ๐Ÿ‘€ See milestone 4.10.8

    ๐Ÿš€ Contributors to this release:

  • v4.10.7 Changes

    October 11, 2021

    Major features:

    • Simplify the way deltamonitors work. There is no need to freeze and unfreeze them before calling forEach... methods. But, a call to forEach... 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 (see Search.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 and Search.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 + add Settings.dev() and Settings.prod() profiles.
    • Make half reification possible. Seed c.implies(b) or c.impliedBy(b) where c is a Constraint and b a BoolVar.
    • โšก๏ธ Update MiniZinc constraints definition + flatzinc files (for testing).
    • โšก๏ธ Update choco.msc (for MiniZinc IDE) + ./minizinc/README.md
    • โž• Add Argmax and Argmin 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:

  • v4.10.6 Changes

    December 11, 2020

    Major features:

    • โž• Add new resolution helper in Solver, namely findOptimalSolutionWithBounds. See Javadoc for details and usages.
    • ParallelPortfolio now allows to add unreliable models, that is models whose resolution is deliberately made incomplete. These models should not stop the parallel resolution process when they no longer find a solution. Only complete models can inform the portfolio that they have proven the full exploration of the search space.
    • โž• Add org.chocosolver.util.tools.PreProcessing class, and a first preprocessing rule: equalities detection
    • ๐Ÿš€ Upgrade ibex integration to support ibex-java v1.2.0. ๐Ÿ›  Fixes for issues #653 and #740.
    • โž• Add QuickXPlain algorithm to find the Minimum Conflicting Set (see issue #509)
    • โšก๏ธ Update XCSP3 parser.
    • ๐Ÿ›  Fix InDomainMedian when domain size is even
    • โž• Add new way to watch solving: solver.verboseSolving()
    • Deal with annotations for some Flatzinc constraints (allDifferent and inverse)
    • โž• Add MultiArmedBandit strategy sequencer

    ๐Ÿš€ Deprecated API (to be removed in next release):

    Other closed issues and pull requests:

    ๐Ÿ‘€ See milestone 4.10.6

    ๐Ÿš€ Contributors to this release:

  • v4.10.5 Changes

    October 02, 2020

    4.10.5 - 02 Oct 2020

    Major features:

    • โž• add IN arithmetic int expression.

    ๐Ÿš€ Deprecated API (to be removed in next release):

    • ๐Ÿšš Settings.enableACOnTernarySum() removed
    • ๐Ÿšš Settings.setEnableACOnTernarySum(boolean) removed

    Other closed issues and pull requests:

    ๐Ÿ‘€ See milestone 4.10.5

    ๐Ÿš€ Contributors to this release:

  • v4.10.4 Changes

    September 08, 2020

    4.10.4 - 08 Sep 2020

    Major features:

    • ๐Ÿ”„ Change search strategies in ParallelPortfolio
    • ๐Ÿ‘‰ Make "CT+" available to binary table constraint
    • ๐Ÿš€ Update Dockerfile, now automatically released in hub.docker.com
    • Migrate to ANTLR 4.8-1
    • ๐Ÿ‘Œ Support nested seq_search in FlatZinc file
    • โž• Add missing operations in model.unpost(c)
    • โž• Add new constraint, named conditional, that posts constraints on condition
    • ๐Ÿ”€ Merge cutoffseq in solver
    • ๐Ÿ”€ Merge pf4cs in parsers
    • โœ‚ Remove geost from parsers

    ๐Ÿš€ Deprecated API (to be removed in next release):

    Other closed issues and pull requests:

    #692, #698, #700, #702, #703, #704, #705

    ๐Ÿš€ Contributors to this release

  • v4.10.3 Changes

    July 03, 2020

    Multi-modules and JPMS-ready.

    Major features:

    • ๐Ÿšš Move cutoffseq, choco-sat, choco-solver, pf4cs, choco-parsers and samples projects into a (maven) multi-modules project
    • JPMS-ready

    Choco-solver can now be run with either JDK 8 or JDK 9+.

    โž• Additions

    Removals

    • โœ‚ Remove JSON writer/parser (which was actually partially supported and not maintained) (#664)

    ๐Ÿš€ Deprecated API (to be removed in next release):

    • Task(IntVar s, IntVar d, IntVar e, boolean declareMonitor)
    • AbstractProblem.readArgs(String... args)

    Other closed issues and pull requests:

    #617, #633, #637, #639, #645, #646, #647, #648, #658, #665, #667, #678, #682, #686, #689, #691

  • v4.10.3.1 Changes

    February 28, 2020

    2020-02-28

  • v4.10.3.0 Changes

    February 28, 2020

    2020-02-28

  • v4.10.2 Changes

    October 14, 2019

    Major features:

    • ๐Ÿ›  fix issues relative to propagation
    • ๐Ÿ”„ change constraints' status checking
    • ๐Ÿ”„ change stop conditions in ExplanationForSignedClause
    • โž• add stable module name

    Closed issues and pull requests:

    #618

  • v4.10.1 Changes

    June 26, 2019

    Major features:

    • LNS on other variables (e.g. SetVarLNS)
    • ๐Ÿ›  Continuous integration fixed
    • IntDomainMiddle now allows an external definition of what middle is, thanks to ToDoubleFunction<IntVar>

    ๐Ÿš€ Deprecated API (to be removed in next release):

    Closed issues and pull requests:

    #538, #600, #611, #612, #613, #614, #615, #617, #619, #627, #630