44 #ifndef __GECODE_SET_BRANCH_HH__ 45 #define __GECODE_SET_BRANCH_HH__ 54 namespace Gecode {
namespace Set {
namespace Branch {
205 namespace Gecode {
namespace Set {
namespace Branch {
209 ViewSel<SetView>*
viewsel(Space& home,
const SetVarBranch& svb);
213 namespace Gecode {
namespace Set {
namespace Branch {
302 namespace Gecode {
namespace Set {
namespace Branch {
344 namespace Gecode {
namespace Set {
namespace Branch {
376 std::ostream& o)
const;
397 std::ostream& o)
const;
404 namespace Gecode {
namespace Set {
namespace Branch {
408 ValSelCommitBase<SetView,int>*
413 ValSelCommitBase<SetView,int>*
No-good literal for inclusion.
Merit class for AFC over size.
Merit class for maximum of set view.
double operator()(const Space &home, SetView x, int i)
Return AFC over size as merit for view x at position i.
int val(const Space &home, SetView x, int i)
Return value of view x at position i.
ValCommitExc(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.
virtual NGL::Status status(const Space &home) const
Test the status of the no-good literal.
void dispose(Space &home)
Dispose view selection.
ValCommitInc(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.
void dispose(Space &home)
Dispose view selection.
Merit class for CHB Q-score over size.
Value selection class for median of view.
double operator()(const Space &home, SetView x, int i)
Return CHB Q-score over size as merit for view x at position i.
int val(const Space &home, SetView x, int i)
Return value of view x at position i.
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.
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.
double operator()(const Space &home, SetView x, int i)
Return degree over size as merit for view x at position i.
virtual ExecStatus prune(Space &home)
Propagate the negation of the no-good literal.
Base class for value commit.
bool notice(void) const
Whether dispose must always be called (that is, notice is needed)
struct Gecode::@579::NNF::@61::@63 a
For atomic nodes.
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)
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.
Merit class for action over size.
Class for CHB management.
MeritDegreeSize(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
NGL * ngl(Space &home, unsigned int a, View x, int n) const
Create no-good literal for alternative a.
MeritAFCSize(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
virtual NGL * copy(Space &home, bool share)
Create copy.
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.
MeritSize(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
ValSelCommitBase< SetView, int > * valselcommit(Space &home, const SetValBranch &svb)
Return value and commit for set views.
No-good literal for exclusion.
double operator()(const Space &home, SetView x, int i)
Return action over size as merit for view x at position i.
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.
ValSelMin(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.
MeritMax(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
MeritCHBSize(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
Set view for set variables
ValSelMax(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.
void dispose(Space &home)
Dispose view selection.
Value branching information.
Merit class for size of set view.
bool notice(void) const
Whether dispose must always be called (that is, notice is needed)
Variable branching information.
Action action
Action information.
Value commit class for inclusion.
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 degree over size.
virtual NGL::Status status(const Space &home) const
Test the status of the no-good literal.
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.
bool notice(void) const
Whether dispose must always be called (that is, notice is needed)
Post propagator for SetVar x
View-value no-good literal.
Value selection class for maximum of view.
bool shared(const ConstView< ViewA > &, const ConstView< ViewB > &)
Test whether views share same variable.
ValSelRnd(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.
MeritActionSize(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
unsigned int operator()(const Space &home, SetView x, int i)
Return size as merit for view x at position i.
bool notice(void) const
Whether dispose must always be called (that is, notice is needed)
Gecode toplevel namespace
Class for action management.
virtual NGL * copy(Space &home, bool share)
Create copy.
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.
ValSelMed(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.
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.
MeritMin(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
#define GECODE_SET_EXPORT
Merit class for mimimum of set views.
void dispose(Space &home)
Delete value selection.
NGL * ngl(Space &home, unsigned int a, View x, int n) const
Create no-good literal for alternative a.
Rnd r
The used random number generator.
Base class for value selection.
No-good literal recorded during search.