Generated on Thu Mar 22 10:39:56 2012 for Gecode by doxygen 1.6.3

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

Domain consistent distinct propagator. More...

#include <distinct.hh>

List of all members.

Public Member Functions

virtual ExecStatus propagate (Space &home, const ModEventDelta &med)
 Perform propagation.
virtual PropCost cost (const Space &home, const ModEventDelta &med) const
 Cost function.
virtual Actorcopy (Space &home, bool share)
 Copy propagator during cloning.

Static Public Member Functions

static ExecStatus post (Home home, ViewArray< View > &x)
 Post propagator for views x.

Protected Member Functions

 Dom (Space &home, bool share, Dom< View > &p)
 Constructor for cloning p.
 Dom (Home home, ViewArray< View > &x)
 Constructor for posting.

Protected Attributes

DomCtrl< View > dc
 Propagation controller.

Detailed Description

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

Domain consistent distinct propagator.

The propagator uses staging: first it uses naive value-based propagation and only then uses domain consistent propagation.

The algorithm is taken from: Jean-Charles Régin, A filtering algorithm for constraints of difference in CSPs, Proceedings of the Twelfth National Conference on Artificial Intelligence, pages 362--367. Seattle, WA, USA, 1994.

Requires

Definition at line 251 of file distinct.hh.


Constructor & Destructor Documentation

template<class View >
Gecode::Int::Distinct::Dom< View >::Dom ( Space home,
bool  share,
Dom< View > &  p 
) [inline, protected]

Constructor for cloning p.

Definition at line 64 of file dom.hpp.

template<class View >
Gecode::Int::Distinct::Dom< View >::Dom ( Home  home,
ViewArray< View > &  x 
) [inline, protected]

Constructor for posting.

Definition at line 44 of file dom.hpp.


Member Function Documentation

template<class View >
ExecStatus Gecode::Int::Distinct::Dom< View >::propagate ( Space home,
const ModEventDelta med 
) [inline, virtual]

Perform propagation.

Implements Gecode::Propagator.

Definition at line 84 of file dom.hpp.

template<class View >
PropCost Gecode::Int::Distinct::Dom< View >::cost ( const Space home,
const ModEventDelta med 
) const [inline, virtual]

Cost function.

If in stage for naive value propagation, the cost is low linear. Otherwise it is high quadratic.

Reimplemented from Gecode::NaryPropagator< View, PC_INT_DOM >.

Definition at line 69 of file dom.hpp.

template<class View >
Actor * Gecode::Int::Distinct::Dom< View >::copy ( Space home,
bool  share 
) [inline, virtual]

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 78 of file dom.hpp.

template<class View >
ExecStatus Gecode::Int::Distinct::Dom< View >::post ( Home  home,
ViewArray< View > &  x 
) [inline, static]

Post propagator for views x.

Definition at line 49 of file dom.hpp.


Member Data Documentation

template<class View>
DomCtrl<View> Gecode::Int::Distinct::Dom< View >::dc [protected]

Propagation controller.

Definition at line 255 of file distinct.hh.


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