
Domain consistent distinct propagator. More...
#include <distinct.hh>
Public Member Functions | |
| virtual ExecStatus | propagate (Space &home, const ModEventDelta &med) |
| Perform propagation. More... | |
| virtual PropCost | cost (const Space &home, const ModEventDelta &med) const |
| Cost function. More... | |
| virtual Actor * | copy (Space &home, bool share) |
| Copy propagator during cloning. More... | |
Public Member Functions inherited from Gecode::NaryPropagator< View, PC_INT_DOM > | |
| virtual size_t | dispose (Space &home) |
| Delete propagator and return its size. More... | |
Public Member Functions inherited from Gecode::Propagator | |
| ModEventDelta | modeventdelta (void) const |
| Return the modification event delta. More... | |
| virtual ExecStatus | advise (Space &home, Advisor &a, const Delta &d) |
| Advise function. More... | |
| double | afc (const Space &home) const |
| Return the accumlated failure count. More... | |
Public Member Functions inherited from Gecode::Actor | |
Static Public Member Functions | |
| static ExecStatus | post (Home home, ViewArray< View > &x) |
| Post propagator for views x. More... | |
Static Public Member Functions inherited from Gecode::Actor | |
| static void * | operator new (size_t s, Space &home) |
| Allocate memory from space. More... | |
| static void | operator delete (void *p, Space &home) |
| No-op for exceptions. More... | |
Protected Member Functions | |
| Dom (Space &home, bool share, Dom< View > &p) | |
| Constructor for cloning p. More... | |
| Dom (Home home, ViewArray< View > &x) | |
| Constructor for posting. More... | |
Protected Member Functions inherited from Gecode::NaryPropagator< View, PC_INT_DOM > | |
| NaryPropagator (Space &home, bool share, NaryPropagator &p) | |
| Constructor for cloning p. More... | |
| NaryPropagator (Space &home, bool share, Propagator &p, ViewArray< View > &x) | |
| Constructor for rewriting p during cloning. More... | |
| NaryPropagator (Home home, ViewArray< View > &x) | |
| Constructor for creation. More... | |
Protected Member Functions inherited from Gecode::Propagator | |
| Propagator (Home home) | |
| Constructor for posting. More... | |
| Propagator (Space &home, bool share, Propagator &p) | |
| Constructor for cloning p. More... | |
| Propagator * | fwd (void) const |
| Return forwarding pointer during copying. More... | |
Protected Attributes | |
| DomCtrl< View > | dc |
| Propagation controller. More... | |
Protected Attributes inherited from Gecode::NaryPropagator< View, PC_INT_DOM > | |
| ViewArray< View > | x |
| Array of views. More... | |
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.
|
inlineprotected |
|
inlineprotected |
|
virtual |
|
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 >.
|
virtual |
|
static |
|
protected |
Propagation controller.
Definition at line 255 of file distinct.hh.