Domain consistent extensional propagator. More...
#include <extensional.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... | |
![]() | |
virtual void | reschedule (Space &home) |
Schedule function. More... | |
virtual size_t | dispose (Space &home) |
Delete propagator and return its size. More... | |
![]() | |
ModEventDelta | modeventdelta (void) const |
Return the modification event delta. More... | |
virtual ExecStatus | advise (Space &home, Advisor &a, const Delta &d) |
Advise function. More... | |
virtual void | advise (Space &home, Advisor &a) |
Run advisor a to be run on failure in failed space. More... | |
double | afc (void) const |
Return the accumlated failure count. More... | |
unsigned int | id (void) const |
Return propagator id. More... | |
PropagatorGroup | group (void) const |
Return group propagator belongs to. More... | |
void | group (PropagatorGroup g) |
Add propagator to group g. More... | |
bool | disabled (void) const |
Whether propagator is currently disabled. More... | |
![]() | |
virtual | ~Actor (void) |
To avoid warnings. More... | |
Static Public Member Functions | |
static ExecStatus | post (Home home, ViewArray< View > &x, const TupleSet &t) |
Post propagator for views x. More... | |
![]() | |
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... | |
static void * | operator new (size_t s) |
Not used. More... | |
static void | operator delete (void *p) |
Not used. More... | |
Protected Member Functions | |
Basic (Space &home, bool share, Basic< View, shared > &p) | |
Constructor for cloning p. More... | |
Basic (Home home, ViewArray< View > &x, const TupleSet &t) | |
Constructor for posting. More... | |
![]() | |
TupleSet::TupleSetI * | ts (void) |
Base (Space &home, bool share, Base< View, true > &p) | |
Constructor for cloning p. More... | |
Base (Home home, ViewArray< View > &x, const TupleSet &t) | |
Constructor for posting. More... | |
void | init_last (Space &home, Tuple **source, Tuple *base) |
Initialize last support. More... | |
Tuple | last (int i, int n) |
Find last support for view at position i and value n. More... | |
Tuple | last_next (int i, int n) |
Find last support for view at position i and value n. More... | |
void | init_dom (Space &home, Domain dom) |
Initialize domain information. More... | |
bool | valid (Tuple t, Domain dom) |
Check wether tuple is valid for domain. More... | |
Tuple | find_support (Domain dom, int i, int n) |
Find support for view at position i and value n. More... | |
![]() | |
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... | |
GPI::Info & | gpi (void) |
Provide access to global propagator information. More... | |
Additional Inherited Members | |
![]() | |
ViewArray< View > | x |
Variables. More... | |
TupleSet | tupleSet |
Definition of constraint. More... | |
Tuple ** | last_data |
Last tuple looked at Access real tuple-set. More... | |
Domain consistent extensional propagator.
This propagator implements a basic extensional propagation algorithm. It is based on GAC2001, and as such it does not fully take into account multidirectionality.
If shared is true, the same view can occur multiply.
Requires
Definition at line 297 of file extensional.hh.
|
inlineprotected |
|
inlineprotected |
|
virtual |
|
virtual |
Cost function.
If in stage for naive value propagation, the cost is high quadratic. Otherwise it is high cubic.
Reimplemented from Gecode::Int::Extensional::Base< View >.
|
virtual |
|
inlinestatic |