@chschulte chschulte released this Oct 19, 2018 · 39 commits to master since this release

This release adds reified extensional constraints; support for negative tables; experimental support for counting-based search (thanks to Samuel Gagnon); and support for standard C++initializer lists. In addition, the release has lots of bug fixes and performance improvements. It is highly recommended to switch as soon as possible!

Assets 7

@chschulte chschulte released this May 21, 2018 · 311 commits to master since this release

Contains a number of small fixes and one large fix for float variables (basically, minimodel using float variables would always lead to overflow and hence throw an exception).

Assets 11

@chschulte chschulte released this Mar 1, 2018 · 354 commits to master since this release

This major release fixes many bugs, adds quite some new functionality, and changes how cloning works (most likely the biggest change we ever did to Gecode): the Boolean share argument is not any longer needed (see how to change your programs in "How to Change to Gecode 6.0.0"). The added functionality includes experimental support for the CPProfiler, classes for lexicographic optimization (where the cost is defined by an array of variables), a new much faster implementation of extensional constraints using tuple sets, and support for tracing search engines.

Assets 11

@chschulte chschulte released this Feb 6, 2018 · 469 commits to master since this release

This is a rather major release, fixing a number of bugs and adding quite a number of new features. Some of the features require changes to your models.

In more detail: extended tracing so that all propagator executions and commit operations can be traced; renamed activity to action to avoid confusion with activity in SAT (and fixed that action information is also recorded during failure); added CHB (conflict-history based branching) heuristic; optimized AFC; all functions taken as arguments by Gecode are now based on std::function-types; instead of branching with INT_VAR_* and INT_VAL_* for Boolean variables, BOOL_VAR_* and BOOL_VAL_* must be used. There are a number of additional changes, so you might want to read the whole changelog.

Assets 12

@chschulte chschulte released this Feb 7, 2018 · 548 commits to master since this release

This release adds a number of new features and fixes many bug (some rather serious), so it is recommended to switch as soon as possible to this release. Some highlights are: re-added limited discrepancy search (LDS); added sequential and parallel portfolio-based search (PBS); added support for groups of propagators and branchers; added extensive tracing functionality based on groups; propagators can be disabled and re-enabled; support for arbitrary memory allocators; changed the notion of "integer consistency level" to the more expressive concept "integer propagation level".

It is recommended to read the new Chapter in MPG on groups and tracing.

Assets 13

@chschulte chschulte released this Feb 7, 2018 · 734 commits to master since this release

This release fixes some bugs and improves some search-related aspects.

Note that you will have to change all scripts that inherit from the pre-defined script classes (Script, IntMinimizeScript, IntMaximizeScript, FloatMinimizeScript, FloatMaximizeScript). The change is easy: in your constructor you have to add a call to the constructor of the pre-defined script class with the command line options as argument. Just check any of the Gecode example for how it is done.

Assets 15