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 branch(home,x,vars.
a,vals,bf,vvp);
112 if (home.
failed())
return;
124 assign(home, xv, sa, NULL, vvp);
Which values to select for branching first.
Combine variable selection criteria for tie-breaking.
SetVarBranch SET_VAR_NONE(void)
Select first unassigned variable.
Random (uniform, for tie breaking)
Abstract class for view selection.
Base class for value selection and commit.
Select the first unassigned view.
void 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 assign(Home home, const FloatVarArgs &x, FloatAssign fa, FloatBranchFilter bf, FloatVarValPrint vvp)
Assign all x with value selection vals.
ViewSel< SetView > * viewsel(Space &home, const SetVarBranch &svb)
Return view selectors for set views.
bool failed(void) const
Check whether corresponding space is failed.
void(* SetVarValPrint)(const Space &home, const Brancher &b, unsigned int a, SetVar x, int i, const int &n, std::ostream &o)
Function type for printing branching alternatives for set variables.
static void post(Home home, ViewArray< View > &x, ViewSel< View > *vs[n], ValSelCommitBase< View, Val > *vsc, BranchFilter bf, VarValPrint vvp)
Brancher post function.
ValSelCommitBase< SetView, int > * valselcommit(Space &home, const SetValBranch &svb)
Return value and commit for set views.
Node * x
Pointer to corresponding Boolean expression node.
void expand(Home home, const SetVarArgs &x)
Expand decay factor into AFC or activity.
bool(* SetBranchFilter)(const Space &home, SetVar x, int i)
Branch filter function type for set variables.
VarBranch a
Branching criteria to try in order.
Which value to select for assignment.
Gecode toplevel namespace
Which variable to select for branching.
Home class for posting propagators