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

Changes in Version 1.1.0 (2006-04-10)

This minor release adds some new constraints (see below), adds support for stopping search engines based on definable criteria, and some other small fixes. Most notably, the test infrastructure has been extended to also check whether propagators correctly claim that they have computed a fixpoint (now all invariants a propagator must obey in Gecode are covered by the test infrastructure). This has lead to many small fixes.

  • Kernel
    • Other changes
      • The status member function now also allows the first argument to be optional. (minor)
  • Search engines
    • Additions
      • Added functionality to interrupt search engines (introduced a Search::Stop class). (major, thanks to Rafael Meneses)
    • Other changes
      • Removed search engines optimizing for copying only (after all, one should always use some recomputation). (major)
  • Finite domain integers
    • Additions
      • Added new constraint channel for variable/value channeling between two variable arrays. (major)
    • Other changes
      • Support for shared views has been removed in sortedness propagator and in the propagator for global cardinality with fixed cardinalities. (minor)
      • Staged propagation for domain-consistent absolute value propagator (minor)
      • EqBnd and EqDom now take two template parameters for their view types. This supports using different views, e.g. to express x0=-x1 using a MinusView. (minor)
      • All distinct propagators raise an exception if a variable occurs multiply in its arguments. (minor)
    • Bug fixes
      • Fixed bug in fixpoint detection of sortedness and global cardinality propagator. (minor)
      • Fixed bug in fixpoint detection of n-ary maximum/minimum propagator. (minor)
      • Fixed bug in fixpoint detection of bounds-consistent element for variables propagator. (minor)
      • Fixed bug in fixpoint detection of bounds-consistent squaring propagator (mult with the same variable twice). (minor)
      • Fixed bug in fixpoint detection of bounds-consistent abs propagator. (minor)
      • Fixed wrong assertion in gcc-bnd propagator. (minor, thanks to Stefano Gualandi)
      • Fixed indexing bug in SupportSet (part of the domain consistent linear equation propagator). (major, thanks to Jean-Christophe Godart)
    • Performance improvements
      • Rewrite n-ary linear, min/max, and Boolean propagators to binary/ternary variants during cloning if possible (saves memory). (minor)
      • Improved initialization of domain-consistent distinct propagator, in common cases for distinct this can save up to 10% runtime. (major)
  • Finite integer sets
    • Other changes
      • Renamed the set propagators minElement to min, maxElement to max, and channelVarVal to channel. (major)
    • Bug fixes
      • A non-debug version of Gecode could not be linked to a program compiled with assertions switched on, as BndSet::isConsistent was missing from the library. (minor, bugzilla entry, thanks to Javier Mena)
      • Fixed bugs in fixpoint detection of several set propagators (match, convexity, sequence, n-ary (disjoint) union). (minor)
      • Fixed off-by-one bug in SetVarImp::lubMinN and SetVarImp::lubMaxN. (minor, thanks to Patrick Pekczynski)
  • Minimal modelling support
    • Additions
      • Added functions returning variables for arithmetic (min, max, abs, mult, plus, minus). (minor)
    • Bug fixes
      • (In-)Equations were still not correct with respect to the sign. (minor, thanks to Olof Sivertsson)
      • Slice-operation now returns elements in right order. (minor, bugzilla entry, thanks to Olof Sivertsson)
      • Possible array-out-of bounds access fixed for MiniModel::Matrix. (minor, bugzilla entry, thanks to Olof Sivertsson)
  • Example scripts
    • Additions
      • Added all-interval series using distinct. (minor)
    • Performance improvements
      • Added redundant constraint to social golfers example. (minor)
  • General
    • Bug fixes
      • Added a configure switch --enable-doc-dot. If enabled, this checks for presence of the dot tool (used for generating graphs in the documentation) (minor, bugzilla entry, thanks to Kari Pahula)