Generated on Tue May 22 09:40:42 2018 for Gecode by doxygen 1.6.3

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, SetAssign vals, SetBranchFilter bf=nullptr, SetVarValPrint vvp=nullptr)
 Assign all x with 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, 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

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.

Definition at line 1081 of file set.hh.

typedef std::function<double(const Space& home, SetVar x, int i)> Gecode::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.

Definition at line 1093 of file set.hh.

typedef std::function<int(const Space& home, SetVar x, int i)> Gecode::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.

Definition at line 1106 of file set.hh.

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.

Definition at line 1121 of file set.hh.


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,
SetAssign  sa,
SetBranchFilter  bf,
SetVarValPrint  vvp 
)

Assign all x with value selection vals.

void Gecode::assign ( Home  home,
SetVar  x,
SetAssign  sa,
SetVarValPrint  vvp 
)

Assign 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.