Generated on Mon Aug 25 11:35:46 2008 for Gecode by doxygen 1.5.6

Changes in Version 2.2.0 (2008-08-25)

This release adds many domain consistent propagators for arithmetic constraints and fixes a number of bugs. Some of these bugs fixed are potentially serious, in particular as they occur very seldom. Please change to 2.2.0 as soon as possible (in particular if you are using the 64bit Microsoft Visual C++ compiler). And, of course, the usual small fixes and changes.

  • Kernel
    • Removals
      • Removed ViewTuple. Just not useful enough... (minor)
    • Other changes
      • Cleaned up Reflection::Var type, overloading did not conform to the C++ standard. (minor)
    • Bug fixes
      • Fixed a bug in the memory alignment on Windows 64bit (very hard to reproduce). (major)
      • Fixed bug that could potentially have affected certain staged propagators. (minor)
      • Generated variable stubs were wrong (could only be observed for new variable types). (major, thanks to Filip Konvicka)
    • Documentation fixes
      • Fixed explanation of ES_FIX and ES_NOFIX for advisors (description was mixed up). (minor, thanks to David Rijsman)
  • Finite domain integers
    • Additions
      • The attempt to access the value of an unassigned integer or Boolean variable (IntVar or BoolVar) throws an exception now. (minor, thanks to Raphael Reischuk)
      • Added bounds consistent division/modulo propagator. (minor)
      • The channel constraint now comes in a version that allows to specify offsets to the array indices. (minor)
      • Added domain consistent multiplication propagator. (minor)
      • Added domain consistent minimum (min) and maximum (max) propagators. (minor)
      • Added domain consistent square root propagator (sqrt). (minor)
      • Added domain consistent squaring propagator (sqr). (minor)
      • Added reified propagators for relations over Boolean variables. (minor)
    • Other changes
      • All functional linear and arithmetic constraints now put sharp bounds on the output variable (eases interfacing to modelling languages). (minor)
    • Bug fixes
      • Fixed a bug in the domain consistent distinct propagator that would cause a stack overflow under rare circumstances. (major)
      • Fixed bug for domain-consistent distinct that never occurred in practice. (minor)
      • Cumulatives did not do all the pruning it should do. (minor, thanks to David Rijsman)
      • Fixed bug in element with IntArgs and sharing between the two IntVars. (minor)
      • Fixed bug in sqrt. (minor, thanks to Jaroslav Mlejnek)
      • Fixed bug in ValSplitMin::branchingSpec. (minor, thanks to David Rijsman)
    • Documentation fixes
      • Added documentation for domain consistent absolute value (abs) propagator. (minor)
  • Finite integer sets
    • Other changes
      • The set selection constraints are now called element. (minor)
    • Bug fixes
      • The ternary intersection propagator was incorrect if any of the sets had a maximum cardinality of Set::Limits::card. (major)
  • Example scripts
    • Removals
      • Example-based support for SAC (singleton arc consistency) has been removed. Might be reintroduced later in a more general fashion. (minor)
  • General
    • Additions
      • Added configure options for adding a prefix and a suffix to the names of the compiled libraries. (minor)
      • The Makefile has a new target, check, which performs a minimal integrity check using some tests from the test suite. (minor)
    • Other changes
      • The configure script now always uses the Microsoft compiler on Windows. Use the CC and CXX environment variables to override this if you want to use gcc. (minor)