61 vars.
a.expand(home,x);
65 vars.
b.expand(home,x);
69 vars.
c.expand(home,x);
73 vars.
d.expand(home,x);
75 branch(home,x,vars.
a,vals,bf,vvp);
113 if (home.
failed())
return;
128 if (home.
failed())
return;
129 vars.
a.expand(home,x);
133 vars.
b.expand(home,x);
137 vars.
c.expand(home,x);
141 vars.
d.expand(home,x);
143 assign(home,x,vars.
a,vals,bf,vvp);
Home class for posting propagators
bool failed(void) const
Check whether corresponding space is failed.
Which value to select for assignment.
Which values to select for branching first.
Which variable to select for branching.
void expand(Home home, const SetVarArgs &x)
Expand AFC, action, and CHB.
@ SEL_NONE
First unassigned.
@ SEL_RND
Random (uniform, for tie breaking).
Combine variable selection criteria for tie-breaking.
VarBranch a
Branching criteria to try in order.
Base class for value selection and commit.
Select the first unassigned view.
Abstract class for view selection.
void assign(Home home, const FloatVarArgs &x, FloatVarBranch vars, FloatAssign vals, FloatBranchFilter bf=nullptr, FloatVarValPrint vvp=nullptr)
Assign all x with variable selection vars and value selection vals.
void branch(Home home, const FloatVarArgs &x, FloatVarBranch vars, FloatValBranch vals, FloatBranchFilter bf=nullptr, FloatVarValPrint vvp=nullptr)
Branch over x with variable selection vars and value selection vals.
std::function< bool(const Space &home, SetVar x, int i)> SetBranchFilter
Branch filter function type for set variables.
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
SetVarBranch SET_VAR_NONE(void)
Select first unassigned variable.
void postviewvalbrancher(Home home, ViewArray< View > &x, ViewSel< View > *vs[n], ValSelCommitBase< View, Val > *vsc, BranchFilter< typename View::VarType > bf, VarValPrint< typename View::VarType, Val > vvp)
Post view value brancher.
std::function< void(const Space &home, const Brancher &b, unsigned int a, SetVar x, int i, const int &n, std::ostream &o)> SetVarValPrint
Function type for printing branching alternatives for set variables.