All Versions
Latest Version
Avg Release Cycle
101 days
Latest Release
593 days ago

Changelog History
Page 2

  • 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:


  • 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

  • v4.10.0 Changes

    December 12, 2018

    ๐Ÿš€ This release comes with several major modifications. The most important one is related to explanations. The previous framework is replaced by a new one based on "A Proof-Producing CSP Solver", M.Vesler and O.Strichman, AAI'10.

    ๐Ÿ‘€ See notebooks for an example of use.

    Major features:

    • โšก๏ธ Update statistic dashboard (see solver.showDashboard())
    • ๐Ÿ›  Fix Settings.load on missing property
    • ๐Ÿ›  Fix issue in Cumulative simplified API
    • โž• Add additional views model.intEqView(x,c), model.intNeView(x,c), model.intLeView(x,c) and model.intGeView(x,c)
    • Detect when the same views is created twice on the same pair
    • Revamp the way LNS' neighbor is declared (simplication)
    • โž• Add AbstractStrategy.remove() method to remove a declared strategy and its dependencies
    • โž• Add new strategies to Search
    • โž• Add new decomposition to IDecompositionFactory
    • ๐Ÿ‘Œ Improve initialization of CT+ and CT*
    • ๐Ÿ‘Œ Improve IntVar#isInstantiatedTo(int)

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

    • ๐Ÿ—„ INeighbor interface is deprecated and replaced by Neighbor abstract class
    • ๐Ÿ—„ INeighborFactory#explanationBased(IntVar...) is deprecated, no replacement.
    • ๐Ÿ‘€ ILearnFactory#setCBJLearning(boolean,boolean) and ILearnFactory#setDBTLearning(boolean,boolean) are deprecated, see ILearnFactory#setLearningSignedClauses() instead

    Closed issues and pull requests:

    #604, #605, #606

  • v4.0.9 Changes

    October 30, 2018

    ๐Ÿš€ Minor release

    Major features:

    • Offer possibility to store and load Settings from a property file.
    • โž• Add API for cumulative when only starts are variable
    • โž• Add decomposition of cumulative: model.cumulativeTimeDecomp(...)
    • Logical expression XOR manages more than 2 variables
    • โž• Add new API to IOutputFactory (to Gephi and to Graphviz)
    • โž• Add constraint network output (to gexf format), see solver.constraintNetworkToGephi(file)
    • โž• add ParallelPortfolio.streamSolutions (#579)

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

    Closed issues and pull requests:

    #596, #600, #601, #602

  • v4.0.8 Changes

    July 23, 2018

    โšก๏ธ Update DefaultSettings with right version

  • v4.0.7 Changes

    July 19, 2018

    JAR file names have changed:

    • the suffix 'with-dependencies' disappears,
    • the suffix '-no-dep' (for no dependencies) appears.

    This should intends to clarify the selection for new comers.

    โž• Add a PayPal button for donations.

    ๐Ÿšš Move to Ibex-2.6.5.

    Major features:

    • 0๏ธโƒฃ Revamp Settings: no default method anymore, add setters. A concrete class DefaultSettings provides 0๏ธโƒฃ the default behavior.
    • IViewFactory.intScaleView now manages negative constants,
    • IViewFactory.intAffineView is now available
    • โž• add new constraint for mixed linear equation (over real/int variables and double/int coefficients)
    • Dow/WDeg now manages variables in a bipartite set (instantiated variables are swaped)
    • Assert that a propagator that is passive is not allowed to filter anymore
    • ๐Ÿ‘ป An exception is thrown when a sum (or scalar) constraint is candidate for integer over/underflow (an alternative should be provided later)
    • ๐ŸŽ BoolVar now handles modifications in different way (may impact performances)
    • ๐ŸŽ Propagation engine has changed: no alternative to seven-queue one anymore + simplification of code (may impact performances)
    • โž• add new relation expression ift(e1,e2)

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

    • ๐Ÿ—„ Model.set(Settings) is deprecated. Now settings are declared in the Model constructor.
    • ๐Ÿ—„ Settings.debugPropagation() is deprecated. There is no alternative.

    Closed issues and pull requests:

    #527, #564, #569, #576, #578, #581, #586

  • v4.0.6 Changes

    November 23, 2017

    ๐Ÿšš Move to Ibex-2.6.3.

    Major features:

    • ๐Ÿ‘ Ibex instance is no longer static, that offers better stability and reduce memory consumption when adding/removing functions. Reification no longer managed by Choco but delegated to Ibex.
    • Search.realVarSearch(...) offers possibility to define minimal range size, known as epsilon
    • Search.ibexSolving(model) let Ibex iterates over solutions once all integer variables are instantiated
    • โž• add detection of min/max sub-cases
    • โž• add simple dashboard in Swing to show resolution statistics, see solver.showDashboard()

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

    • ๐Ÿš€ IntEqRealConstraint will be removed in next release, Ibex managed this concept (int to real)
    • Model.getIbex() should not be used. A IbexHandler manages Ibex instances (one per model).

    Closed issues and pull requests:

    #558, #561, #565, #566, #568, #570

  • v4.0.5 Changes

    September 28, 2017

    ๐Ÿš€ The current release was submitted to MiniZinc Challenge 2017 and at XCSP3 Competition 2017 and won medals.

    ๐Ÿ“œ choco-parsers provides utility to export a Model to JSON format and or import JSON data into a Model.

    Major features:

    • Compact-Table now deals with short tuples (#531)
    • ๐Ÿ†“ Checking if a created constraint is free (neither posted or reified) is now possible with Settings.checkDeclaredConstraints()
    • ๐Ÿ‘Œ Improvements on BoolVarImpl and BoolNotView.
    • โœ‚ Remove code deprecated in last release.
    • ๐Ÿ›  Fix error in Views.
    • โž• Add scalar detection in BiReExpression
    • ๐Ÿ›  fix errors in Impact-based Search
    • โšก๏ธ update Search.intVarSearch() + Search.defaultSearch(Model)
    • โšก๏ธ update ParallelPortfolio default strategies

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

    Closed issues and pull requests:

    • ๐Ÿ›  fix bug in PropNogoods when dealing with negative values (impact solver..setNoGoodRecordingFromRestarts() and solver..setNoGoodRecordingFromSolutions(...))
    • ๐Ÿ›  fix bug in model.sum(...) and model.scalar(...) when dealing with arity greater than 100 and all operators except =
    • ๐Ÿ›  fix bug in model.table(...) with binary scope and universal value
    • ๐Ÿ›  fix bug related to Ibex and GC.

    #531 ,#545, #546.

  • v4.0.4 Changes

    April 28, 2017

    Major features:

    • โž• add logical operator to expression (#520). Now it is possible, f-ex., to declare expression like: x.eq(y.add(1)).or(x.eq(y).and(x.eq(1))) - add new API to Solver to print features in a single line - enable ignoring passivate propagators when iterating over propagators of a modified variable (false by default; see Settings)

    Deprecated API (to be removed in next release):

    • IPropagationEngine.fails(c,v,m) is replaced by Solver.throwsException(c,v,m) (#524)
    • IPropagationEngine.getContradictionException() is replaced by Solver.getContradictionException() (#524)
    • MathUtils.bounds(values) is replaced by a call to MathUtils.min(values) and MathUtils.max(values)

    Remove dead code:

    • SparseSet
    • IFeatures, Features, IAttribute and Attribute

    Closed issues and pull requests:

    #516, #517, #518, #519, #520, #521, #524.

  • v4.0.3 Changes

    March 31, 2017

    Major features:

    • arithm(IntVar,String,IntVar,String,int) and arithm(IntVar,String,IntVar,String,IntVar) manage '*' and '/'
    • โž• add new APIs to ArrayUtils
    • ๐Ÿ›  fix error in PropBoolMin and PropBoolMax

    ๐Ÿ—„ Deprecated API:

    Closed issues and pull requests:

    #500, #502, #507, #510, #512, #514, #515.