Generated on Thu Mar 22 10:39:49 2012 for Gecode by doxygen 1.6.3

Branching
[Using finite domain integers]

Enumerations

enum  Gecode::IntVarBranch {
  Gecode::INT_VAR_NONE = 0, Gecode::INT_VAR_RND, Gecode::INT_VAR_DEGREE_MIN, Gecode::INT_VAR_DEGREE_MAX,
  Gecode::INT_VAR_AFC_MIN, Gecode::INT_VAR_AFC_MAX, Gecode::INT_VAR_MIN_MIN, Gecode::INT_VAR_MIN_MAX,
  Gecode::INT_VAR_MAX_MIN, Gecode::INT_VAR_MAX_MAX, Gecode::INT_VAR_SIZE_MIN, Gecode::INT_VAR_SIZE_MAX,
  Gecode::INT_VAR_SIZE_DEGREE_MIN, Gecode::INT_VAR_SIZE_DEGREE_MAX, Gecode::INT_VAR_SIZE_AFC_MIN, Gecode::INT_VAR_SIZE_AFC_MAX,
  Gecode::INT_VAR_REGRET_MIN_MIN, Gecode::INT_VAR_REGRET_MIN_MAX, Gecode::INT_VAR_REGRET_MAX_MIN, Gecode::INT_VAR_REGRET_MAX_MAX
}
 

Which variable to select for branching.

More...
enum  Gecode::IntValBranch {
  Gecode::INT_VAL_MIN, Gecode::INT_VAL_MED, Gecode::INT_VAL_MAX, Gecode::INT_VAL_RND,
  Gecode::INT_VAL_SPLIT_MIN, Gecode::INT_VAL_SPLIT_MAX, Gecode::INT_VAL_RANGE_MIN, Gecode::INT_VAL_RANGE_MAX,
  Gecode::INT_VALUES_MIN, Gecode::INT_VALUES_MAX
}
 

Which values to select first for branching.

More...

Functions

void Gecode::branch (Home home, const IntVarArgs &x, IntVarBranch vars, IntValBranch vals, const VarBranchOptions &o_vars=VarBranchOptions::def, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with variable selection vars and value selection vals.
void Gecode::branch (Home home, const IntVarArgs &x, const TieBreakVarBranch< IntVarBranch > &vars, IntValBranch vals, const TieBreakVarBranchOptions &o_vars=TieBreakVarBranchOptions::def, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with tie-breaking variable selection vars and value selection vals.
void Gecode::branch (Home home, IntVar x, IntValBranch vals, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with value selection vals.
void Gecode::branch (Home home, const BoolVarArgs &x, IntVarBranch vars, IntValBranch vals, const VarBranchOptions &o_vars=VarBranchOptions::def, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with variable selection vars and value selection vals.
void Gecode::branch (Home home, const BoolVarArgs &x, const TieBreakVarBranch< IntVarBranch > &vars, IntValBranch vals, const TieBreakVarBranchOptions &o_vars=TieBreakVarBranchOptions::def, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with tie-breaking variable selection vars and value selection vals.
void Gecode::branch (Home home, BoolVar x, IntValBranch vals, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with value selection vals.

Enumeration Type Documentation

Which variable to select for branching.

Enumerator:
INT_VAR_NONE 

First unassigned.

INT_VAR_RND 

Random (uniform, for tie breaking).

INT_VAR_DEGREE_MIN 

With smallest degree.

INT_VAR_DEGREE_MAX 

With largest degree.

INT_VAR_AFC_MIN 

With smallest accumulated failure count.

INT_VAR_AFC_MAX 

With largest accumulated failure count.

INT_VAR_MIN_MIN 

With smallest min.

INT_VAR_MIN_MAX 

With largest min.

INT_VAR_MAX_MIN 

With smallest max.

INT_VAR_MAX_MAX 

With largest max.

INT_VAR_SIZE_MIN 

With smallest domain size.

INT_VAR_SIZE_MAX 

With largest domain size.

INT_VAR_SIZE_DEGREE_MIN 

With smallest domain size divided by degree.

INT_VAR_SIZE_DEGREE_MAX 

With largest domain size divided by degree.

INT_VAR_SIZE_AFC_MIN 

With smallest domain size divided by accumulated failure count.

INT_VAR_SIZE_AFC_MAX 

With largest domain size divided by accumulated failure count.

INT_VAR_REGRET_MIN_MIN 

With smallest min-regret.

The min-regret of a variable is the difference between the smallest and second-smallest value still in the domain.

INT_VAR_REGRET_MIN_MAX 

With largest min-regret.

The min-regret of a variable is the difference between the smallest and second-smallest value still in the domain.

INT_VAR_REGRET_MAX_MIN 

With smallest max-regret.

The max-regret of a variable is the difference between the largest and second-largest value still in the domain.

INT_VAR_REGRET_MAX_MAX 

With largest max-regret.

The max-regret of a variable is the difference between the largest and second-largest value still in the domain.

Definition at line 3333 of file int.hh.

Which values to select first for branching.

Enumerator:
INT_VAL_MIN 

Select smallest value.

INT_VAL_MED 

Select greatest value not greater than the median.

INT_VAL_MAX 

Select largest value.

INT_VAL_RND 

Select random value.

INT_VAL_SPLIT_MIN 

Select values not greater than mean of smallest and largest value.

INT_VAL_SPLIT_MAX 

Select values greater than mean of smallest and largest value.

INT_VAL_RANGE_MIN 

Select the smallest range of the variable domain if it has sevral ranges, otherwise select values not greater than mean of smallest and largest value.

INT_VAL_RANGE_MAX 

Select the largest range of the variable domain if it has sevral ranges, otherwise select values greater than mean of smallest and largest value.

INT_VALUES_MIN 

Try all values starting from smallest.

INT_VALUES_MAX 

Try all values starting from largest.

Definition at line 3377 of file int.hh.


Function Documentation

void Gecode::branch ( Gecode::Home  home,
const IntVarArgs &  x,
IntVarBranch  vars,
IntValBranch  vals,
const Gecode::VarBranchOptions o_vars,
const Gecode::ValBranchOptions o_vals 
)

Branch over x with variable selection vars and value selection vals.

void Gecode::branch ( Gecode::Home  home,
const IntVarArgs &  x,
const Gecode::TieBreakVarBranch< IntVarBranch > &  vars,
IntValBranch  vals,
const Gecode::TieBreakVarBranchOptions o_vars,
const Gecode::ValBranchOptions o_vals 
)

Branch over x with tie-breaking variable selection vars and value selection vals.

void Gecode::branch ( Home  home,
IntVar  x,
IntValBranch  vals,
const ValBranchOptions &  o_vals 
)

Branch over x with value selection vals.

void Gecode::branch ( Gecode::Home  home,
const BoolVarArgs &  x,
IntVarBranch  vars,
IntValBranch  vals,
const Gecode::VarBranchOptions o_vars,
const Gecode::ValBranchOptions o_vals 
)

Branch over x with variable selection vars and value selection vals.

void Gecode::branch ( Gecode::Home  home,
const BoolVarArgs &  x,
const Gecode::TieBreakVarBranch< IntVarBranch > &  vars,
IntValBranch  vals,
const Gecode::TieBreakVarBranchOptions o_vars,
const Gecode::ValBranchOptions o_vals 
)

Branch over x with tie-breaking variable selection vars and value selection vals.

void Gecode::branch ( Home  home,
BoolVar  x,
IntValBranch  vals,
const ValBranchOptions &  o_vals 
)

Branch over x with value selection vals.