56 Branch::postviewvaluesbrancher<1,true>(home,xv,vs,bf,vvp);
59 Branch::postviewvaluesbrancher<1,false>(home,xv,vs,bf,vvp);
62 postviewvalbrancher<IntView,1,int,2>
75 vars.
a.expand(home,
x);
79 vars.
b.expand(home,
x);
83 vars.
c.expand(home,
x);
87 vars.
d.expand(home,
x);
98 Branch::postviewvaluesbrancher<2,true>(home,xv,vs,bf,vvp);
101 Branch::postviewvaluesbrancher<2,false>(home,xv,vs,bf,vvp);
104 postviewvalbrancher<IntView,2,int,2>
114 Branch::postviewvaluesbrancher<3,true>(home,xv,vs,bf,vvp);
117 Branch::postviewvaluesbrancher<3,false>(home,xv,vs,bf,vvp);
120 postviewvalbrancher<IntView,3,int,2>
130 Branch::postviewvaluesbrancher<4,true>(home,xv,vs,bf,vvp);
133 Branch::postviewvaluesbrancher<4,false>(home,xv,vs,bf,vvp);
136 postviewvalbrancher<IntView,4,int,2>
154 if (home.
failed())
return;
159 postviewvalbrancher<IntView,1,int,1>
166 assign(home, xv, ia,
nullptr, vvp);
176 if (home.
failed())
return;
182 postviewvalbrancher<BoolView,1,int,2>
192 if (home.
failed())
return;
193 vars.
a.expand(home,
x);
197 vars.
b.expand(home,
x);
201 vars.
c.expand(home,
x);
205 vars.
d.expand(home,
x);
216 postviewvalbrancher<BoolView,2,int,2>(home,xv,vs,vsc,bf,vvp);
222 postviewvalbrancher<BoolView,3,int,2>(home,xv,vs,vsc,bf,vvp);
228 postviewvalbrancher<BoolView,4,int,2>(home,xv,vs,vsc,bf,vvp);
244 if (home.
failed())
return;
249 postviewvalbrancher<BoolView,1,int,1>
ViewSel< IntView > * viewsel(Space &home, const IntVarBranch &ivb)
Return view selectors for integer views.
IntVarBranch INT_VAR_NONE(void)
Select first unassigned variable.
Combine variable selection criteria for tie-breaking.
BoolVarBranch BOOL_VAR_NONE(void)
Select first unassigned variable.
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.
Which values to select for branching first.
Which values to select for branching first.
Which integer variable to select for branching.
Which values to select for assignment.
Base class for value selection and commit.
Select the first unassigned view.
Random (uniform, for tie breaking)
Select all values starting from largest.
Select select(void) const
Return selection strategy.
bool failed(void) const
Check whether corresponding space is failed.
Which Boolean variable to select for branching.
std::function< bool(const Space &home, IntVar x, int i)> IntBranchFilter
Branch filter function type for integer variables.
ValSelCommitBase< IntView, int > * valselcommit(Space &home, const IntValBranch &ivb)
Return value and commit for integer views.
Passing integer variables.
Passing Boolean variables.
Boolean integer variables.
std::function< void(const Space &home, const Brancher &b, unsigned int a, IntVar x, int i, const int &n, std::ostream &o)> IntVarValPrint
Function type for printing branching alternatives for integer variables.
IntPropLevel ba(IntPropLevel ipl)
Extract basic or advanced from propagation level.
std::function< bool(const Space &home, BoolVar x, int i)> BoolBranchFilter
Branch filter function type for Boolean variables.
void expand(Home home, const IntVarArgs &x)
Expand AFC, action, and CHB.
Which values to select for assignment.
Random (uniform, for tie breaking)
VarBranch a
Branching criteria to try in order.
Post propagator for SetVar x
std::function< void(const Space &home, const Brancher &b, unsigned int a, BoolVar x, int i, const int &n, std::ostream &o)> BoolVarValPrint
Function type for printing branching alternatives for Boolean variables.
Gecode toplevel namespace
void expand(Home home, const BoolVarArgs &x)
Expand decay factor into AFC or action.
void assign(Home home, const FloatVarArgs &x, FloatAssign fa, FloatBranchFilter bf, FloatVarValPrint vvp)
Assign all x with value selection vals.
Home class for posting propagators
Select all values starting from smallest.