TaskModelSetBranch Branching Gecode::SetAFC Gecode::SetActivity Gecode::SetVarBranch Gecode::SetValBranch Gecode::SetAssign Selecting set variables Value selection for set variables Assigning set variables bool(* typedef bool(* Gecode::SetBranchFilter)(const Space &home, SetVar x, int i) )(const Space &home, SetVar x, int i) SetBranchFilter Branch filter function type for set variables. The variable x is considered for selection and i refers to the variable's position in the original array passed to the brancher. double(* typedef double(* Gecode::SetBranchMerit)(const Space &home, SetVar x, int i) )(const Space &home, SetVar x, int i) SetBranchMerit Branch merit function type for set variables. The function must return a merit value for the variable x. The value i refers to the variable's position in the original array passed to the brancher. int(* typedef int(* Gecode::SetBranchVal)(const Space &home, SetVar x, int i) )(const Space &home, SetVar x, int i) SetBranchVal Branch value function type for set variables. Returns a value for the variable x that is to be used in the corresponding branch commit function. The integer i refers to the variable's position in the original array passed to the brancher. void(* typedef void(* Gecode::SetBranchCommit)(Space &home, unsigned int a, SetVar x, int i, int n) )(Space &home, unsigned int a, SetVar x, int i, int n) 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. GECODE_SET_EXPORT BrancherHandle GECODE_SET_EXPORT BrancherHandle Gecode::branch (Home home, const SetVarArgs &x, SetVarBranch vars, SetValBranch vals, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL) branch Home home const SetVarArgs & x SetVarBranch vars SetValBranch vals SetBranchFilter bf NULL SetVarValPrint vvp NULL Branch over x with variable selection vars and value selection vals. GECODE_SET_EXPORT BrancherHandle GECODE_SET_EXPORT BrancherHandle Gecode::branch (Home home, const SetVarArgs &x, TieBreak< SetVarBranch > vars, SetValBranch vals, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL) branch Home home const SetVarArgs & x TieBreak< SetVarBranch > vars SetValBranch vals SetBranchFilter bf NULL SetVarValPrint vvp NULL Branch over x with tie-breaking variable selection vars and value selection vals. GECODE_SET_EXPORT BrancherHandle GECODE_SET_EXPORT BrancherHandle Gecode::branch (Home home, SetVar x, SetValBranch vals, SetVarValPrint vvp=NULL) branch Home home SetVar x SetValBranch vals SetVarValPrint vvp NULL Branch over x with value selection vals. GECODE_SET_EXPORT BrancherHandle GECODE_SET_EXPORT BrancherHandle Gecode::assign (Home home, const SetVarArgs &x, SetAssign vals, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL) assign Home home const SetVarArgs & x SetAssign vals SetBranchFilter bf NULL SetVarValPrint vvp NULL Assign all x with value selection vals. GECODE_SET_EXPORT BrancherHandle GECODE_SET_EXPORT BrancherHandle Gecode::assign (Home home, SetVar x, SetAssign vals, SetVarValPrint vvp=NULL) assign Home home SetVar x SetAssign vals SetVarValPrint vvp NULL Assign x with value selection vals. GECODE_SET_EXPORT BrancherHandle GECODE_SET_EXPORT BrancherHandle Gecode::branch (Home home, const SetVarArgs &x, SetVarBranch vars, SetValBranch vals, const Symmetries &syms, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL) branch Home home const SetVarArgs & x SetVarBranch vars SetValBranch vals const Symmetries & syms SetBranchFilter bf NULL SetVarValPrint vvp NULL Branch over x with variable selection vars and value selection vals with symmetry breaking. GECODE_SET_EXPORT BrancherHandle GECODE_SET_EXPORT BrancherHandle Gecode::branch (Home home, const SetVarArgs &x, TieBreak< SetVarBranch > vars, SetValBranch vals, const Symmetries &syms, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL) branch Home home const SetVarArgs & x TieBreak< SetVarBranch > vars SetValBranch vals const Symmetries & syms SetBranchFilter bf NULL SetVarValPrint vvp NULL Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking.