"Domain consistent" circuit propagator More...
#include <circuit.hh>
Public Member Functions | |
virtual Actor * | copy (Space &home) |
Copy propagator during cloning. | |
virtual PropCost | cost (const Space &home, const ModEventDelta &med) const |
Cost function. | |
virtual void | reschedule (Space &home) |
Schedule function. | |
virtual ExecStatus | propagate (Space &home, const ModEventDelta &med) |
Perform propagation. | |
Public Member Functions inherited from Gecode::Int::Circuit::Base< View, Offset > | |
virtual size_t | dispose (Space &home) |
Delete propagator and return its size. | |
ModEventDelta | modeventdelta (void) const |
Return the modification event delta. | |
virtual ExecStatus | advise (Space &home, Advisor &a, const Delta &d) |
Advise function. | |
virtual void | advise (Space &home, Advisor &a) |
Run advisor a to be run on failure in failed space. | |
double | afc (void) const |
Return the accumlated failure count. | |
unsigned int | id (void) const |
Return propagator id. | |
PropagatorGroup | group (void) const |
Return group propagator belongs to. | |
void | group (PropagatorGroup g) |
Add propagator to group g. | |
bool | disabled (void) const |
Whether propagator is currently disabled. | |
virtual | ~Actor (void) |
To avoid warnings. |
Static Public Member Functions | |
static ExecStatus | post (Home home, ViewArray< View > &x, Offset &o) |
Post propagator for circuit on x. | |
static void * | operator new (size_t s, Space &home) |
Allocate memory from space. | |
static void | operator delete (void *p, Space &home) |
No-op for exceptions. | |
static void * | operator new (size_t s) |
Not used. | |
static void | operator delete (void *p) |
Not used. |
Protected Member Functions | |
Dom (Space &home, Dom &p) | |
Constructor for cloning p. | |
Dom (Home home, ViewArray< View > &x, Offset &o) | |
Constructor for posting. | |
Protected Member Functions inherited from Gecode::Int::Circuit::Base< View, Offset > | |
Base (Space &home, Base &p) | |
Constructor for cloning p. | |
Base (Home home, ViewArray< View > &x, Offset &o) | |
Constructor for posting. | |
ExecStatus | connected (Space &home) |
Check whether the view value graph is strongly connected. | |
ExecStatus | path (Space &home) |
Ensure path property: prune edges that could give too small cycles. | |
Protected Member Functions inherited from Gecode::NaryPropagator< View, Int::PC_INT_DOM > | |
NaryPropagator (Space &home, NaryPropagator &p) | |
Constructor for cloning p. | |
Protected Member Functions inherited from Gecode::Propagator | |
Propagator (Home home) | |
Constructor for posting. | |
Propagator (Space &home, Propagator &p) | |
Constructor for cloning p. | |
Propagator * | fwd (void) const |
Return forwarding pointer during copying. | |
Kernel::GPI::Info & | gpi (void) |
Provide access to global propagator information. |
Protected Attributes | |
Int::Distinct::DomCtrl< View > | dc |
Propagation controller for propagating distinct. | |
Protected Attributes inherited from Gecode::Int::Circuit::Base< View, Offset > | |
int | start |
Remember where to start the next time the propagator runs. | |
ViewArray< View > | y |
Array for performing value propagation for distinct. | |
Offset | o |
Offset transformation. | |
Protected Attributes inherited from Gecode::NaryPropagator< View, Int::PC_INT_DOM > | |
ViewArray< View > | x |
Array of views. |
"Domain consistent" circuit propagator
Propagates domain consistent distinct, checks that the induced variable value graph is stronlgy connected, and prunes too shot cycles.
Requires
Definition at line 121 of file circuit.hh.
Constructor for cloning p.
|
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, Int::PC_INT_DOM >.
|
virtual |
Schedule function.
Reimplemented from Gecode::NaryPropagator< View, Int::PC_INT_DOM >.
|
virtual |
|
static |
|
protected |
Propagation controller for propagating distinct.
Definition at line 129 of file circuit.hh.