44 #ifndef __GECODE_SET_BRANCH_HH__
45 #define __GECODE_SET_BRANCH_HH__
54 namespace Gecode {
namespace Set {
namespace Branch {
182 namespace Gecode {
namespace Set {
namespace Branch {
186 ViewSel<SetView>*
viewsel(Space& home,
const SetVarBranch& svb);
190 namespace Gecode {
namespace Set {
namespace Branch {
279 namespace Gecode {
namespace Set {
namespace Branch {
321 namespace Gecode {
namespace Set {
namespace Branch {
353 std::ostream& o)
const;
374 std::ostream& o)
const;
381 namespace Gecode {
namespace Set {
namespace Branch {
385 ValSelCommitBase<SetView,int>*
390 ValSelCommitBase<SetView,int>*
No-good literal for inclusion.
Merit class for size over afc.
Merit class for maximum of set view.
void print(const Space &home, unsigned int a, SetView x, int i, int n, std::ostream &o) const
Print on o the alternative with view x at position i and value n.
double operator()(const Space &home, SetView x, int i)
Return size over AFC as merit for view x at position i.
MeritMax(Space &home, const VarBranch &vb)
Constructor for initialization.
int val(const Space &home, SetView x, int i)
Return value of view x at position i.
void dispose(Space &home)
Dispose view selection.
Value selection class for median of view.
void dispose(Space &home)
Dispose view selection.
int val(const Space &home, SetView x, int i)
Return value of view x at position i.
MeritMin(Space &home, const VarBranch &vb)
Constructor for initialization.
int operator()(const Space &home, SetView x, int i)
Return minimum as merit for view x at position i.
Value selection class for mimimum of view.
ValSelMax(Space &home, const ValBranch &vb)
Constructor for initialization.
Status
The status of a no-good literal.
Value commit class for exclusion.
SetView x
The stored view.
int ModEvent
Type for modification events.
Base-class for merit class.
void print(const Space &home, unsigned int a, SetView x, int i, int n, std::ostream &o) const
Print on o the alternative with view x at position i and value n.
NGL * ngl(Space &home, unsigned int a, View x, int n) const
Create no-good literal for alternative a.
double operator()(const Space &home, SetView x, int i)
Return size over degree as merit for view x at position i.
NGL * ngl(Space &home, unsigned int a, View x, int n) const
Create no-good literal for alternative a.
ValCommitInc(Space &home, const ValBranch &vb)
Constructor for initialization.
ValSelMed(Space &home, const ValBranch &vb)
Constructor for initialization.
virtual ExecStatus prune(Space &home)
Propagate the negation of the no-good literal.
Base class for value commit.
MeritDegreeSize(Space &home, const VarBranch &vb)
Constructor for initialization.
Merit class for size over activity.
int val(const Space &home, SetView x, int i)
Return value of view x at position i.
Gecode::IntArgs i(4, 1, 2, 3, 4)
MeritSize(Space &home, const VarBranch &vb)
Constructor for initialization.
Class for AFC (accumulated failure count) management.
int n
Number of negative literals for node type.
ViewSel< SetView > * viewsel(Space &home, const SetVarBranch &svb)
Return view selectors for set views.
double operator()(const Space &home, SetView x, int i)
Return size over activity as merit for view x at position i.
MeritActivitySize(Space &home, const VarBranch &vb)
Constructor for initialization.
virtual NGL * copy(Space &home, bool share)
Create copy.
ValSelCommitBase< SetView, int > * valselcommit(Space &home, const SetValBranch &svb)
Return value and commit for set views.
No-good literal for exclusion.
ModEvent commit(Space &home, unsigned int a, SetView x, int i, int n)
Commit view x at position i to value n for alternative a.
virtual NGL::Status status(const Space &home) const
Test the status of the no-good literal.
bool notice(void) const
Whether dispose must always be called (that is, notice is needed)
Set view for set variables
Value branching information.
Merit class for size of set view.
Variable branching information.
Node * x
Pointer to corresponding Boolean expression node.
Value commit class for inclusion.
ValSelRnd(Space &home, const ValBranch &vb)
Constructor for initialization.
ExcNGL(Space &home, SetView x, int n)
Constructor for creation.
int operator()(const Space &home, SetView x, int i)
Return maximum as merit for view x at position i.
Merit class for size over degree.
bool notice(void) const
Whether dispose must always be called (that is, notice is needed)
View-value no-good literal.
Value selection class for maximum of view.
bool notice(void) const
Whether dispose must always be called (that is, notice is needed)
bool shared(const ConstView< ViewA > &, const ConstView< ViewB > &)
Test whether views share same variable.
ValCommitExc(Space &home, const ValBranch &vb)
Constructor for initialization.
unsigned int operator()(const Space &home, SetView x, int i)
Return size as merit for view x at position i.
Gecode toplevel namespace
virtual NGL * copy(Space &home, bool share)
Create copy.
MeritAFCSize(Space &home, const VarBranch &vb)
Constructor for initialization.
virtual ExecStatus prune(Space &home)
Propagate the negation of the no-good literal.
IncNGL(Space &home, SetView x, int n)
Constructor for creation.
ModEvent commit(Space &home, unsigned int a, SetView x, int i, int n)
Commit view x at position i to value n for alternative a.
Activity activity
Activity information.
Class for activity management.
int val(const Space &home, SetView x, int i)
Return value of view x at position i.
Value selection class for random value of view.
ValSelMin(Space &home, const ValBranch &vb)
Constructor for initialization.
struct Gecode::@518::NNF::@57::@59 a
For atomic nodes.
#define GECODE_SET_EXPORT
Merit class for mimimum of set views.
void dispose(Space &home)
Delete value selection.
Rnd r
The used random number generator.
Base class for value selection.
No-good literal recorded during search.
virtual NGL::Status status(const Space &home) const
Test the status of the no-good literal.