Generated on Wed Jan 4 17:49:20 2006 for Gecode by doxygen 1.4.6

Gecode::Int::Distinct::Bnd< View > Class Template Reference
[Integer propagators]

#include <distinct.hh>

List of all members.


Detailed Description

template<class View>
class Gecode::Int::Distinct::Bnd< View >

Bounds-consistent distinct propagator.

The propagator uses staging: first it uses naive value-based propagation and only then uses bounds-consistent propagation. Due to using naive value-based propagation, the propagator might actually achieve stronger consistency than just bounds-consistency.

The algorithm is taken from: A. Lopez-Ortiz, C.-G. Quimper, J. Tromp, and P. van Beek. A fast and simple algorithm for bounds consistency of the alldifferent constraint. IJCAI-2003.

This implementation uses the code that is provided by Peter Van Beek: http://ai.uwaterloo.ca/~vanbeek/software/software.html The code (originally by John Tromp) here has only been slightly modified to fit Gecode (taking idempotent/non-idempotent propagation into account) and uses a more efficient layout of datastructures (keeping the number of different arrays small).

The Bnd class only posts propagators, the actual implementation is BndImp which handles shared views.

Requires

 #include "int/distinct.hh" 

Definition at line 116 of file distinct.hh.

Static Public Member Functions

static ExecStatus post (Space *home, ViewArray< View > &x)
 Post propagator for view array x.


Member Function Documentation

template<class View>
ExecStatus Gecode::Int::Distinct::Bnd< View >::post Space home,
ViewArray< View > &  x
[static]
 

Post propagator for view array x.

Definition at line 300 of file bnd.icc.


The documentation for this class was generated from the following files: