"Domain consistent" circuit propagator More...
#include <circuit.hh>
Public Member Functions | |
virtual Actor * | copy (Space &home, bool share) |
Copy propagator during cloning. More... | |
virtual PropCost | cost (const Space &home, const ModEventDelta &med) const |
Cost function. More... | |
virtual ExecStatus | propagate (Space &home, const ModEventDelta &med) |
Perform propagation. 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... | |
double | afc (const Space &home) const |
Return the accumlated failure count. More... | |
![]() |
Static Public Member Functions | |
static ExecStatus | post (Home home, ViewArray< View > &x, Offset &o) |
Post propagator for circuit on 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... | |
Protected Member Functions | |
Dom (Space &home, bool share, Dom &p) | |
Constructor for cloning p. More... | |
Dom (Home home, ViewArray< View > &x, Offset &o) | |
Constructor for posting. More... | |
![]() | |
Base (Space &home, bool share, Base &p) | |
Constructor for cloning p. More... | |
Base (Home home, ViewArray< View > &x, Offset &o) | |
Constructor for posting. More... | |
ExecStatus | connected (Space &home) |
Check whether the view value graph is strongly connected. More... | |
ExecStatus | path (Space &home) |
Ensure path property: prune edges that could give to small cycles. More... | |
![]() | |
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... | |
![]() | |
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 | |
Int::Distinct::DomCtrl< View > | dc |
Propagation controller for propagating distinct. More... | |
![]() | |
ViewArray< View > | y |
Array for performing value propagation for distinct. More... | |
Offset | o |
Offset transformation. More... | |
![]() | |
ViewArray< View > | x |
Array of views. More... | |
"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 123 of file circuit.hh.
|
protected |
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 |
|
static |
|
protected |
Propagation controller for propagating distinct.
Definition at line 131 of file circuit.hh.