Branching
[Using integer variables and constraints]
Classes | |
| class | Gecode::IntAFC |
| Recording AFC information for integer and Boolean variables. More... | |
| class | Gecode::IntActivity |
| Recording activities for integer and Boolean variables. More... | |
| class | Gecode::IntVarBranch |
| Which variable to select for branching. More... | |
| class | Gecode::IntValBranch |
| Which values to select for branching first. More... | |
| class | Gecode::IntAssign |
| Which values to select for assignment. More... | |
| class | Gecode::SymmetryHandle |
| A reference-counted pointer to a SymmetryObject. More... | |
Modules | |
| Variable selection for integer and Boolean variables | |
| Value selection for integer and Boolean variables | |
| Value selection for assigning integer and Boolean variables | |
| Symmetry declarations | |
Typedefs | |
| typedef bool(* | Gecode::IntBranchFilter )(const Space &home, IntVar x, int i) |
| Branch filter function type for integer variables. | |
| typedef bool(* | Gecode::BoolBranchFilter )(const Space &home, BoolVar x, int i) |
| Branch filter function type for Boolean variables. | |
| typedef double(* | Gecode::IntBranchMerit )(const Space &home, IntVar x, int i) |
| Branch merit function type for integer variables. | |
| typedef double(* | Gecode::BoolBranchMerit )(const Space &home, BoolVar x, int i) |
| Branch merit function type for Boolean variables. | |
| typedef int(* | Gecode::IntBranchVal )(const Space &home, IntVar x, int i) |
| Branch value function type for integer variables. | |
| typedef int(* | Gecode::BoolBranchVal )(const Space &home, BoolVar x, int i) |
| Branch value function type for Boolean variables. | |
| typedef void(* | Gecode::IntBranchCommit )(Space &home, unsigned int a, IntVar x, int i, int n) |
| Branch commit function type for integer variables. | |
| typedef void(* | Gecode::BoolBranchCommit )(Space &home, unsigned int a, BoolVar x, int i, int n) |
| Branch commit function type for Boolean variables. | |
Functions | |
| BrancherHandle | Gecode::branch (Home home, const IntVarArgs &x, IntVarBranch vars, IntValBranch vals, IntBranchFilter bf=NULL, IntVarValPrint vvp=NULL) |
| Branch over x with variable selection vars and value selection vals. | |
| BrancherHandle | Gecode::branch (Home home, const IntVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, IntBranchFilter bf=NULL, IntVarValPrint vvp=NULL) |
| Branch over x with tie-breaking variable selection vars and value selection vals. | |
| BrancherHandle | Gecode::branch (Home home, IntVar x, IntValBranch vals, IntVarValPrint vvp=NULL) |
| Branch over x with value selection vals. | |
| BrancherHandle | Gecode::branch (Home home, const BoolVarArgs &x, IntVarBranch vars, IntValBranch vals, BoolBranchFilter bf=NULL, BoolVarValPrint vvp=NULL) |
| Branch over x with variable selection vars and value selection vals. | |
| BrancherHandle | Gecode::branch (Home home, const BoolVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, BoolBranchFilter bf=NULL, BoolVarValPrint vvp=NULL) |
| Branch over x with tie-breaking variable selection vars and value selection vals. | |
| BrancherHandle | Gecode::branch (Home home, BoolVar x, IntValBranch vals, BoolVarValPrint vvp=NULL) |
| Branch over x with value selection vals. | |
| BrancherHandle | Gecode::assign (Home home, const IntVarArgs &x, IntAssign vals, IntBranchFilter ibf=NULL, IntVarValPrint vvp=NULL) |
| Assign all x with value selection vals. | |
| BrancherHandle | Gecode::assign (Home home, IntVar x, IntAssign vals, IntVarValPrint vvp=NULL) |
| Assign x with value selection vals. | |
| BrancherHandle | Gecode::assign (Home home, const BoolVarArgs &x, IntAssign vals, BoolBranchFilter bbf=NULL, BoolVarValPrint vvp=NULL) |
| Assign all x with value selection vals. | |
| BrancherHandle | Gecode::assign (Home home, BoolVar x, IntAssign vals, BoolVarValPrint vvp=NULL) |
| Assign x with value selection vals. | |
| BrancherHandle | Gecode::branch (Home home, const IntVarArgs &x, IntVarBranch vars, IntValBranch vals, const Symmetries &syms, IntBranchFilter bf=NULL, IntVarValPrint vvp=NULL) |
| Branch over x with variable selection vars and value selection vals with symmetry breaking. | |
| BrancherHandle | Gecode::branch (Home home, const IntVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, const Symmetries &syms, IntBranchFilter bf=NULL, IntVarValPrint vvp=NULL) |
| Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking. | |
| BrancherHandle | Gecode::branch (Home home, const BoolVarArgs &x, IntVarBranch vars, IntValBranch vals, const Symmetries &syms, BoolBranchFilter bf=NULL, BoolVarValPrint vvp=NULL) |
| Branch over x with variable selection vars and value selection vals with symmetry breaking. | |
| BrancherHandle | Gecode::branch (Home home, const BoolVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, const Symmetries &syms, BoolBranchFilter bf=NULL, BoolVarValPrint vvp=NULL) |
| Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking. | |
Typedef Documentation
| typedef bool(* Gecode::IntBranchFilter)(const Space &home, IntVar x, int i) |
| typedef bool(* Gecode::BoolBranchFilter)(const Space &home, BoolVar x, int i) |
| typedef double(* Gecode::IntBranchMerit)(const Space &home, IntVar x, int i) |
| typedef double(* Gecode::BoolBranchMerit)(const Space &home, BoolVar x, int i) |
| typedef int(* Gecode::IntBranchVal)(const Space &home, IntVar x, int i) |
| typedef int(* Gecode::BoolBranchVal)(const Space &home, BoolVar x, int i) |
| typedef void(* Gecode::IntBranchCommit)(Space &home, unsigned int a, IntVar x, int i, int n) |
Branch commit function type for integer variables.
The function must post a constraint on the variable x which corresponds to the alternative a. The integer i refers to the variable's position in the original array passed to the brancher. The value n is the value computed by the corresponding branch value function.
| typedef void(* Gecode::BoolBranchCommit)(Space &home, unsigned int a, BoolVar x, int i, int n) |
Branch commit function type for Boolean variables.
The function must post a constraint on the variable x which corresponds to the alternative a. The integer i refers to the variable's position in the original array passed to the brancher. The value n is the value computed by the corresponding branch value function.
Function Documentation
| BrancherHandle Gecode::branch | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| IntVarBranch | vars, | |||
| IntValBranch | vals, | |||
| IntBranchFilter | bf, | |||
| IntVarValPrint | vvp | |||
| ) |
Branch over x with variable selection vars and value selection vals.
| BrancherHandle Gecode::branch | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| TieBreak< IntVarBranch > | vars, | |||
| IntValBranch | vals, | |||
| IntBranchFilter | bf, | |||
| IntVarValPrint | vvp | |||
| ) |
Branch over x with tie-breaking variable selection vars and value selection vals.
| BrancherHandle Gecode::branch | ( | Home | home, | |
| IntVar | x, | |||
| IntValBranch | vals, | |||
| IntVarValPrint | vvp | |||
| ) |
Branch over x with value selection vals.
| BrancherHandle Gecode::branch | ( | Home | home, | |
| const BoolVarArgs & | x, | |||
| IntVarBranch | vars, | |||
| IntValBranch | vals, | |||
| BoolBranchFilter | bf, | |||
| BoolVarValPrint | vvp | |||
| ) |
Branch over x with variable selection vars and value selection vals.
| BrancherHandle Gecode::branch | ( | Home | home, | |
| const BoolVarArgs & | x, | |||
| TieBreak< IntVarBranch > | vars, | |||
| IntValBranch | vals, | |||
| BoolBranchFilter | bf, | |||
| BoolVarValPrint | vvp | |||
| ) |
Branch over x with tie-breaking variable selection vars and value selection vals.
| BrancherHandle Gecode::branch | ( | Home | home, | |
| BoolVar | x, | |||
| IntValBranch | vals, | |||
| BoolVarValPrint | vvp | |||
| ) |
Branch over x with value selection vals.
| BrancherHandle Gecode::assign | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| IntAssign | ia, | |||
| IntBranchFilter | bf, | |||
| IntVarValPrint | vvp | |||
| ) |
Assign all x with value selection vals.
| BrancherHandle Gecode::assign | ( | Home | home, | |
| IntVar | x, | |||
| IntAssign | ia, | |||
| IntVarValPrint | vvp | |||
| ) |
Assign x with value selection vals.
| BrancherHandle Gecode::assign | ( | Home | home, | |
| const BoolVarArgs & | x, | |||
| IntAssign | ia, | |||
| BoolBranchFilter | bf, | |||
| BoolVarValPrint | vvp | |||
| ) |
Assign all x with value selection vals.
| BrancherHandle Gecode::assign | ( | Home | home, | |
| BoolVar | x, | |||
| IntAssign | ia, | |||
| BoolVarValPrint | vvp | |||
| ) |
Assign x with value selection vals.
| BrancherHandle Gecode::branch | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| IntVarBranch | vars, | |||
| IntValBranch | vals, | |||
| const Symmetries & | syms, | |||
| IntBranchFilter | bf = NULL, |
|||
| IntVarValPrint | vvp = NULL | |||
| ) |
Branch over x with variable selection vars and value selection vals with symmetry breaking.
Throws LDSBBadValueSelection exception if vals is any of SEL_SPLIT_MIN, SEL_SPLIT_MAX, SEL_RANGE_MIN, SEL_RANGE_MAX, SEL_VALUES_MIN, and SEL_VALUES_MAX, or if vals is SEL_VAL_COMMIT with a custom commit function.
| BrancherHandle Gecode::branch | ( | Home | home, | |
| const IntVarArgs & | x, | |||
| TieBreak< IntVarBranch > | vars, | |||
| IntValBranch | vals, | |||
| const Symmetries & | syms, | |||
| IntBranchFilter | bf = NULL, |
|||
| IntVarValPrint | vvp = NULL | |||
| ) |
Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking.
Throws LDSBBadValueSelection exception if vals is any of SEL_SPLIT_MIN, SEL_SPLIT_MAX, SEL_RANGE_MIN, SEL_RANGE_MAX, SEL_VALUES_MIN, and SEL_VALUES_MAX, or if vals is SEL_VAL_COMMIT with a custom commit function.
| BrancherHandle Gecode::branch | ( | Home | home, | |
| const BoolVarArgs & | x, | |||
| IntVarBranch | vars, | |||
| IntValBranch | vals, | |||
| const Symmetries & | syms, | |||
| BoolBranchFilter | bf = NULL, |
|||
| BoolVarValPrint | vvp = NULL | |||
| ) |
Branch over x with variable selection vars and value selection vals with symmetry breaking.
Throws LDSBBadValueSelection exception if vals is any of SEL_SPLIT_MIN, SEL_SPLIT_MAX, SEL_RANGE_MIN, SEL_RANGE_MAX, SEL_VALUES_MIN, and SEL_VALUES_MAX, or if vals is SEL_VAL_COMMIT with a custom commit function.
| BrancherHandle Gecode::branch | ( | Home | home, | |
| const BoolVarArgs & | x, | |||
| TieBreak< IntVarBranch > | vars, | |||
| IntValBranch | vals, | |||
| const Symmetries & | syms, | |||
| BoolBranchFilter | bf = NULL, |
|||
| BoolVarValPrint | vvp = NULL | |||
| ) |
Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking.
Throws LDSBBadValueSelection exception if vals is any of SEL_SPLIT_MIN, SEL_SPLIT_MAX, SEL_RANGE_MIN, SEL_RANGE_MAX, SEL_VALUES_MIN, and SEL_VALUES_MAX, or if vals is SEL_VAL_COMMIT with a custom commit function.
