Branching
[Using integer set variables and constraints]
Classes | |
| class | Gecode::SetAFC |
| Recording AFC information for set variables. More... | |
| class | Gecode::SetAction |
| Recording actions for set variables. More... | |
| class | Gecode::SetCHB |
| Recording CHB for set variables. More... | |
| class | Gecode::SetVarBranch |
| Which variable to select for branching. More... | |
| class | Gecode::SetValBranch |
| Which values to select for branching first. More... | |
| class | Gecode::SetAssign |
| Which value to select for assignment. More... | |
Modules | |
| Selecting set variables | |
| Value selection for set variables | |
| Assigning set variables | |
Typedefs | |
| typedef std::function< bool(const Space &home, SetVar x, int i)> | Gecode::SetBranchFilter |
| Branch filter function type for set variables. | |
| typedef std::function< double(const Space &home, SetVar x, int i)> | Gecode::SetBranchMerit |
| Branch merit function type for set variables. | |
| typedef std::function< int(const Space &home, SetVar x, int i)> | Gecode::SetBranchVal |
| Branch value function type for set variables. | |
| typedef std::function< void(Space &home, unsigned int a, SetVar x, int i, int n)> | Gecode::SetBranchCommit |
| Branch commit function type for set variables. | |
Functions | |
| void | Gecode::branch (Home home, const SetVarArgs &x, SetVarBranch vars, SetValBranch vals, SetBranchFilter bf=nullptr, SetVarValPrint vvp=nullptr) |
| Branch over x with variable selection vars and value selection vals. | |
| void | Gecode::branch (Home home, const SetVarArgs &x, TieBreak< SetVarBranch > vars, SetValBranch vals, SetBranchFilter bf=nullptr, SetVarValPrint vvp=nullptr) |
| Branch over x with tie-breaking variable selection vars and value selection vals. | |
| void | Gecode::branch (Home home, SetVar x, SetValBranch vals, SetVarValPrint vvp=nullptr) |
| Branch over x with value selection vals. | |
| void | Gecode::assign (Home home, const SetVarArgs &x, SetVarBranch vars, SetAssign vals, SetBranchFilter bf=nullptr, SetVarValPrint vvp=nullptr) |
| Assign all x with variable selection vars and value selection vals. | |
| void | Gecode::assign (Home home, const SetVarArgs &x, TieBreak< SetVarBranch > vars, SetAssign vals, SetBranchFilter bf=nullptr, SetVarValPrint vvp=nullptr) |
| Assign all x with tie-breaking variable selection vars and value selection vals. | |
| void | Gecode::assign (Home home, SetVar x, SetAssign vals, SetVarValPrint vvp=nullptr) |
| Assign x with value selection vals. | |
| void | Gecode::branch (Home home, const SetVarArgs &x, SetValBranch vals, SetBranchFilter bf=nullptr, SetVarValPrint vvp=nullptr) |
| Branch over x with value selection vals. | |
| void | Gecode::assign (Home home, const SetVarArgs &x, SetAssign vals, SetBranchFilter bf=nullptr, SetVarValPrint vvp=nullptr) |
| Assign all x with value selection vals. | |
| void | Gecode::branch (Home home, const SetVarArgs &x, SetVarBranch vars, SetValBranch vals, const Symmetries &syms, SetBranchFilter bf=nullptr, SetVarValPrint vvp=nullptr) |
| Branch over x with variable selection vars and value selection vals with symmetry breaking. | |
| void | Gecode::branch (Home home, const SetVarArgs &x, TieBreak< SetVarBranch > vars, SetValBranch vals, const Symmetries &syms, SetBranchFilter bf=nullptr, SetVarValPrint vvp=nullptr) |
| Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking. | |
Typedef Documentation
| typedef std::function<bool(const Space& home, SetVar x, int i)> Gecode::SetBranchFilter |
| typedef std::function<double(const Space& home, SetVar x, int i)> Gecode::SetBranchMerit |
| typedef std::function<int(const Space& home, SetVar x, int i)> Gecode::SetBranchVal |
| typedef std::function<void(Space& home, unsigned int a, SetVar x, int i, int n)> Gecode::SetBranchCommit |
Branch commit function type for set 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
| void Gecode::branch | ( | Home | home, | |
| const SetVarArgs & | x, | |||
| SetVarBranch | vars, | |||
| SetValBranch | vals, | |||
| SetBranchFilter | bf, | |||
| SetVarValPrint | vvp | |||
| ) |
Branch over x with variable selection vars and value selection vals.
| void Gecode::branch | ( | Home | home, | |
| const SetVarArgs & | x, | |||
| TieBreak< SetVarBranch > | vars, | |||
| SetValBranch | vals, | |||
| SetBranchFilter | bf, | |||
| SetVarValPrint | vvp | |||
| ) |
Branch over x with tie-breaking variable selection vars and value selection vals.
| void Gecode::branch | ( | Home | home, | |
| SetVar | x, | |||
| SetValBranch | vals, | |||
| SetVarValPrint | vvp | |||
| ) |
Branch over x with value selection vals.
| void Gecode::assign | ( | Home | home, | |
| const SetVarArgs & | x, | |||
| SetVarBranch | vars, | |||
| SetAssign | vals, | |||
| SetBranchFilter | bf, | |||
| SetVarValPrint | vvp | |||
| ) |
Assign all x with variable selection vars and value selection vals.
| void Gecode::assign | ( | Home | home, | |
| const SetVarArgs & | x, | |||
| TieBreak< SetVarBranch > | vars, | |||
| SetAssign | vals, | |||
| SetBranchFilter | bf, | |||
| SetVarValPrint | vvp | |||
| ) |
Assign all x with tie-breaking variable selection vars and value selection vals.
| void Gecode::assign | ( | Home | home, | |
| SetVar | x, | |||
| SetAssign | vars, | |||
| SetVarValPrint | vvp | |||
| ) |
Assign x with value selection vals.
| void Gecode::branch | ( | Home | home, | |
| const SetVarArgs & | x, | |||
| SetValBranch | vals, | |||
| SetBranchFilter | bf, | |||
| SetVarValPrint | vvp | |||
| ) | [inline] |
Branch over x with value selection vals.
| void Gecode::assign | ( | Home | home, | |
| const SetVarArgs & | x, | |||
| SetAssign | vals, | |||
| SetBranchFilter | bf, | |||
| SetVarValPrint | vvp | |||
| ) | [inline] |
Assign all x with value selection vals.
| void Gecode::branch | ( | Home | home, | |
| const SetVarArgs & | x, | |||
| SetVarBranch | vars, | |||
| SetValBranch | vals, | |||
| const Symmetries & | syms, | |||
| SetBranchFilter | bf, | |||
| SetVarValPrint | vvp | |||
| ) |
Branch over x with variable selection vars and value selection vals with symmetry breaking.
| void Gecode::branch | ( | Home | home, | |
| const SetVarArgs & | x, | |||
| TieBreak< SetVarBranch > | vars, | |||
| SetValBranch | vals, | |||
| const Symmetries & | syms, | |||
| SetBranchFilter | bf, | |||
| SetVarValPrint | vvp | |||
| ) |
Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking.
