73 vars.
a.expand(home,x);
77 vars.
b.expand(home,x);
81 vars.
c.expand(home,x);
85 vars.
d.expand(home,x);
87 branch(home,x,vars.
a,vals,bf,vvp);
154 if (home.
failed())
return;
166 assign(home, xv, ia, NULL, vvp);
175 if (home.
failed())
return;
190 if (home.
failed())
return;
191 vars.
a.expand(home,x);
195 vars.
b.expand(home,x);
199 vars.
c.expand(home,x);
203 vars.
d.expand(home,x);
205 branch(home,x,vars.
a,vals,bf,vvp);
241 if (home.
failed())
return;
253 assign(home, xv, ia, NULL, vvp);
IntVarBranch INT_VAR_NONE(void)
Select first unassigned variable.
bool(* BoolBranchFilter)(const Space &home, BoolVar x, int i)
Branch filter function type for Boolean variables.
Combine variable selection criteria for tie-breaking.
int size(void) const
Return size of array (number of elements)
Which values to select for branching first.
Which variable to select for branching.
static void post(Home home, ViewArray< IntView > &x, ViewSel< IntView > *vs[n], BranchFilter bf, IntVarValPrint vvp)
Constructor for creation.
void(* BoolVarValPrint)(const Space &home, const Brancher &b, unsigned int a, BoolVar x, int i, const int &n, std::ostream &o)
Function type for printing branching alternatives for Boolean variables.
ViewSel< IntView > * viewselint(Space &home, const IntVarBranch &ivb)
Return view selectors for integer views.
bool(* IntBranchFilter)(const Space &home, IntVar x, int i)
Branch filter function type for integer variables.
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.
Select all values starting from largest.
Select select(void) const
Return selection strategy.
bool failed(void) const
Check whether corresponding space is failed.
static void post(Home home, ViewArray< View > &x, ViewSel< View > *vs[n], ValSelCommitBase< View, Val > *vsc, BranchFilter bf, VarValPrint vvp)
Brancher post function.
ViewSel< BoolView > * viewselbool(Space &home, const IntVarBranch &ivb)
Return view selectors for Boolean views.
Passing integer variables.
Passing Boolean variables.
Boolean integer variables.
void expand(Home home, const IntVarArgs &x)
Expand decay factor into AFC or activity.
Node * x
Pointer to corresponding Boolean expression node.
ValSelCommitBase< IntView, int > * valselcommitint(Space &home, int n, const IntValBranch &ivb)
Return value and commit for integer views.
Which values to select for assignment.
ValSelCommitBase< BoolView, int > * valselcommitbool(Space &home, int n, const IntValBranch &ivb)
Return value and commit for Boolean views.
void(* IntVarValPrint)(const Space &home, const Brancher &b, unsigned int a, IntVar x, int i, const int &n, std::ostream &o)
Function type for printing branching alternatives for integer variables.
Random (uniform, for tie breaking)
VarBranch a
Branching criteria to try in order.
Gecode toplevel namespace
Home class for posting propagators
Select all values starting from smallest.