40#ifndef __GECODE_SET_BRANCH_HH__
41#define __GECODE_SET_BRANCH_HH__
201namespace Gecode {
namespace Set {
namespace Branch {
205 ViewSel<SetView>*
viewsel(Space& home,
const SetVarBranch& svb);
298namespace Gecode {
namespace Set {
namespace Branch {
340namespace Gecode {
namespace Set {
namespace Branch {
372 std::ostream& o)
const;
393 std::ostream& o)
const;
400namespace Gecode {
namespace Set {
namespace Branch {
404 ValSelCommitBase<SetView,int>*
409 ValSelCommitBase<SetView,int>*
Class for AFC (accumulated failure count) management.
Class for action management.
Class for CHB management.
MeritBase(Space &home, const VarBranch< Var > &vb)
No-good literal recorded during search.
NGL(void)
Constructor for creation.
Status
The status of a no-good literal.
virtual NGL::Status status(const Space &home) const
Test the status of the no-good literal.
virtual NGL * copy(Space &home)
Create copy.
ExcNGL(Space &home, SetView x, int n)
Constructor for creation.
virtual ExecStatus prune(Space &home)
Propagate the negation of the no-good literal.
IncNGL(Space &home, SetView x, int n)
Constructor for creation.
virtual NGL::Status status(const Space &home) const
Test the status of the no-good literal.
virtual NGL * copy(Space &home)
Create copy.
virtual ExecStatus prune(Space &home)
Propagate the negation of the no-good literal.
bool notice(void) const
Whether dispose must always be called (that is, notice is needed)
double operator()(const Space &home, SetView x, int i)
Return AFC over size as merit for view x at position i.
MeritAFCSize(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
void dispose(Space &home)
Dispose view selection.
bool notice(void) const
Whether dispose must always be called (that is, notice is needed)
void dispose(Space &home)
Dispose view selection.
Action action
Action information.
MeritActionSize(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
double operator()(const Space &home, SetView x, int i)
Return action over size as merit for view x at position i.
double operator()(const Space &home, SetView x, int i)
Return CHB Q-score over size as merit for view x at position i.
bool notice(void) const
Whether dispose must always be called (that is, notice is needed)
void dispose(Space &home)
Dispose view selection.
MeritCHBSize(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
double operator()(const Space &home, SetView x, int i)
Return degree over size as merit for view x at position i.
MeritDegreeSize(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
MeritMax(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
int operator()(const Space &home, SetView x, int i)
Return maximum as merit for view x at position i.
MeritMin(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
int operator()(const Space &home, SetView x, int i)
Return minimum as merit for view x at position i.
MeritSize(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.
NGL * ngl(Space &home, unsigned int a, View x, int n) const
Create no-good literal for alternative a.
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.
ValCommitExc(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.
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.
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.
ValCommitInc(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.
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.
int val(const Space &home, SetView x, int i)
Return value of view x at position i.
ValSelMax(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.
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.
ValSelMin(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.
bool notice(void) const
Whether dispose must always be called (that is, notice is needed)
ValSelRnd(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.
Rnd r
The used random number generator.
int val(const Space &home, SetView x, int i)
Return value of view x at position i.
void dispose(Space &home)
Delete value selection.
Set view for set variables
Value branching information.
ValCommit(Space &home, const ValBranch< Var > &vb)
ValSel(Space &home, const ValBranch< Var > &vb)
Variable branching information.
ViewValNGL(Space &home, SetView x, int n)
#define GECODE_SET_EXPORT
ViewSel< IntView > * viewsel(Space &home, const IntVarBranch &ivb)
Return view selectors for integer views.
ValSelCommitBase< IntView, int > * valselcommit(Space &home, const IntValBranch &ivb)
Return value and commit for integer views.
Gecode toplevel namespace
Post propagator for SetVar x
int ModEvent
Type for modification events.