Gecode::Int::Distinct::Bnd< View > Class Template Reference
[Integer propagators]
#include <distinct.hh>
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
|
Post propagator for view array x.
|
The documentation for this class was generated from the following files:
- int/distinct.hh (Revision: 2190)
- int/distinct/bnd.icc (Revision: 2403)