52 Branch::postviewvaluesbrancher<1,true>(home,xv,vs,bf,vvp);
55 Branch::postviewvaluesbrancher<1,false>(home,xv,vs,bf,vvp);
58 postviewvalbrancher<IntView,1,int,2>
71 vars.
a.expand(home,x);
75 vars.
b.expand(home,x);
79 vars.
c.expand(home,x);
83 vars.
d.expand(home,x);
85 branch(home,x,vars.
a,vals,bf,vvp);
94 Branch::postviewvaluesbrancher<2,true>(home,xv,vs,bf,vvp);
97 Branch::postviewvaluesbrancher<2,false>(home,xv,vs,bf,vvp);
100 postviewvalbrancher<IntView,2,int,2>
110 Branch::postviewvaluesbrancher<3,true>(home,xv,vs,bf,vvp);
113 Branch::postviewvaluesbrancher<3,false>(home,xv,vs,bf,vvp);
116 postviewvalbrancher<IntView,3,int,2>
126 Branch::postviewvaluesbrancher<4,true>(home,xv,vs,bf,vvp);
129 Branch::postviewvaluesbrancher<4,false>(home,xv,vs,bf,vvp);
132 postviewvalbrancher<IntView,4,int,2>
150 if (home.
failed())
return;
155 postviewvalbrancher<IntView,1,int,1>
162 assign(home, xv, ia,
nullptr, vvp);
172 if (home.
failed())
return;
178 postviewvalbrancher<BoolView,1,int,2>
188 if (home.
failed())
return;
189 vars.
a.expand(home,x);
193 vars.
b.expand(home,x);
197 vars.
c.expand(home,x);
201 vars.
d.expand(home,x);
203 branch(home,x,vars.
a,vals,bf,vvp);
212 postviewvalbrancher<BoolView,2,int,2>(home,xv,vs,vsc,bf,vvp);
218 postviewvalbrancher<BoolView,3,int,2>(home,xv,vs,vsc,bf,vvp);
224 postviewvalbrancher<BoolView,4,int,2>(home,xv,vs,vsc,bf,vvp);
240 if (home.
failed())
return;
245 postviewvalbrancher<BoolView,1,int,1>
252 assign(home, xv, ba,
nullptr, vvp);
255 #ifdef GECODE_HAS_CBS 260 if (home.
failed())
return;
268 if (home.
failed())
return;
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 post(Home home, Term *t, int n, FloatRelType frt, FloatVal c)
Post propagator for linear constraint over floats.
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.
Post propagator for SetVar SetOpType SetVar y
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.