50 postviewvalbrancher<SetView,1,int,2>
61 vars.
a.expand(home,
x);
65 vars.
b.expand(home,
x);
69 vars.
c.expand(home,
x);
73 vars.
d.expand(home,
x);
83 postviewvalbrancher<SetView,2,int,2>(home,xv,vs,vsc,bf,vvp);
89 postviewvalbrancher<SetView,3,int,2>(home,xv,vs,vsc,bf,vvp);
95 postviewvalbrancher<SetView,4,int,2>(home,xv,vs,vsc,bf,vvp);
113 if (home.
failed())
return;
118 postviewvalbrancher<SetView,1,int,1>
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);
151 postviewvalbrancher<SetView,2,int,1>(home,xv,vs,vsc,bf,vvp);
157 postviewvalbrancher<SetView,3,int,1>(home,xv,vs,vsc,bf,vvp);
163 postviewvalbrancher<SetView,4,int,1>(home,xv,vs,vsc,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.
Expand and CHB void expand(Home home, const SetVarArgs &x)
@ 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
Select first unassigned variable SetVarBranch SET_VAR_NONE(void)
Function type for printing branching alternatives for set variables typedef std::function< void(const Space &home, const Brancher &b, unsigned int a, SetVar x, int i, const int &n, std::ostream &o) SetVarValPrint)
Post propagator for SetVar x