36#ifndef __GECODE_FLOAT_BRANCH_HH__
37#define __GECODE_FLOAT_BRANCH_HH__
197namespace Gecode {
namespace Float {
namespace Branch {
201 ViewSel<FloatView>*
viewsel(Space& home,
const FloatVarBranch& fvb);
278namespace Gecode {
namespace Float {
namespace Branch {
312 std::ostream& o)
const;
319namespace Gecode {
namespace Float {
namespace Branch {
323 ValSelCommitBase<FloatView,FloatNumBranch>*
328 ValSelCommitBase<FloatView,FloatNumBranch>*
Class for AFC (accumulated failure count) management.
Class for action management.
Class for CHB management.
Value description class for branching.
double operator()(const Space &home, FloatView x, int i)
Return AFC over size as merit for view x at position i.
void dispose(Space &home)
Dispose view selection.
bool notice(void) const
Whether dispose must always be called (that is, notice is needed)
MeritAFCSize(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
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, FloatView x, int i)
Return action 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.
double operator()(const Space &home, FloatView x, int i)
Return CHB Q-score over size as merit for view x at position i.
MeritCHBSize(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
MeritDegreeSize(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
double operator()(const Space &home, FloatView x, int i)
Return degree over size as merit for view x at position i.
double operator()(const Space &home, FloatView x, int i)
Return maximum as merit for view x at position i.
MeritMax(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
double operator()(const Space &home, FloatView x, int i)
Return minimum as merit for view x at position i.
MeritMin(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
MeritSize(Space &home, const VarBranch< Var > &vb)
Constructor for initialization.
double operator()(const Space &home, FloatView x, int i)
Return size as merit for view x at position i.
NGL * ngl(Space &home, unsigned int a, FloatView x, FloatNumBranch n) const
Create no-good literal for alternative a.
ModEvent commit(Space &home, unsigned int a, FloatView x, int i, FloatNumBranch n)
Commit view x at position i to value n for alternative a.
void print(const Space &home, unsigned int a, FloatView x, int i, FloatNumBranch n, std::ostream &o) const
Print on o the alternative with view x at position i and value n.
ValCommitLqGq(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.
FloatNumBranch val(const Space &home, FloatView x, int i)
Return value of view x at position i.
ValSelGq(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.
FloatNumBranch val(const Space &home, FloatView x, int i)
Return value of view x at position i.
ValSelLq(Space &home, const ValBranch< Var > &vb)
Constructor for initialization.
FloatNumBranch val(const Space &home, FloatView 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.
void dispose(Space &home)
Delete value selection.
Rnd r
The used random number generator.
Float view for float variables.
MeritBase(Space &home, const VarBranch< Var > &vb)
No-good literal recorded during search.
Value branching information.
ValCommit(Space &home, const ValBranch< Var > &vb)
ValSel(Space &home, const ValBranch< Var > &vb)
Variable branching information.
#define GECODE_FLOAT_EXPORT
ValSelCommitBase< FloatView, FloatNumBranch > * valselcommit(Space &home, const FloatValBranch &svb)
Return value and commit for float views.
ViewSel< FloatView > * viewsel(Space &home, const FloatVarBranch &fvb)
Return view selectors for float views.
Gecode toplevel namespace
Post propagator for SetVar x
int ModEvent
Type for modification events.