46 using namespace Float;
61 using namespace Float;
63 vars.
a.expand(home,x);
67 vars.
b.expand(home,x);
71 vars.
c.expand(home,x);
75 vars.
d.expand(home,x);
77 return branch(home,x,vars.
a,vals,bf,vvp);
87 ::post(home,xv,vs,vsc,bf,vvp);
94 ::post(home,xv,vs,vsc,bf,vvp);
101 ::post(home,xv,vs,vsc,bf,vvp);
115 using namespace Float;
128 return assign(home, xv, fa, NULL, vvp);
bool failed(void) const
Check whether corresponding space is failed.
Combine variable selection criteria for tie-breaking.
Which values to select for branching first.
Abstract class for view selection.
void expand(Home home, const FloatVarArgs &x)
Expand decay factor into AFC or activity.
bool(* FloatBranchFilter)(const Space &home, FloatVar x, int i)
Branch filter function type for float variables.
Which variable to select for branching.
static BrancherHandle post(Home home, ViewArray< View > &x, ViewSel< View > *vs[n], ValSelCommitBase< View, Val > *vsc, BranchFilter bf, VarValPrint vvp)
Brancher post function.
FloatVarBranch FLOAT_VAR_NONE(void)
Select first unassigned variable.
Base class for value selection and commit.
Select the first unassigned view.
ViewSel< FloatView > * viewsel(Space &home, const FloatVarBranch &fvb)
Return view selectors for float views.
Random (uniform, for tie breaking)
BrancherHandle assign(Home home, const FloatVarArgs &x, FloatAssign fa, FloatBranchFilter bf, FloatVarValPrint vvp)
Assign all x with value selection vals.
Node * x
Pointer to corresponding Boolean expression node.
VarBranch a
Branching criteria to try in order.
Which values to select for assignment.
Gecode toplevel namespace
BrancherHandle branch(Home home, const FloatVarArgs &x, FloatVarBranch vars, FloatValBranch vals, FloatBranchFilter bf, FloatVarValPrint vvp)
Branch over x with variable selection vars and value selection vals.
void(* FloatVarValPrint)(const Space &home, const BrancherHandle &bh, unsigned int a, FloatVar x, int i, const FloatNumBranch &n, std::ostream &o)
Function type for explaining branching alternatives for set variables.
Home class for posting propagators
ValSelCommitBase< FloatView, FloatNumBranch > * valselcommit(Space &home, const FloatValBranch &fvb)
Return value and commit for float views.