Generated on Sat Feb 7 2015 02:01:36 for Gecode by doxygen 1.8.9.1

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
 

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

Typedefs

typedef bool(* Gecode::IntBranchFilter) (const Space &home, IntVar x, int i)
 Branch filter function type for integer variables. More...
 
typedef bool(* Gecode::BoolBranchFilter) (const Space &home, BoolVar x, int i)
 Branch filter function type for Boolean variables. More...
 
typedef double(* Gecode::IntBranchMerit) (const Space &home, IntVar x, int i)
 Branch merit function type for integer variables. More...
 
typedef double(* Gecode::BoolBranchMerit) (const Space &home, BoolVar x, int i)
 Branch merit function type for Boolean variables. More...
 
typedef int(* Gecode::IntBranchVal) (const Space &home, IntVar x, int i)
 Branch value function type for integer variables. More...
 
typedef int(* Gecode::BoolBranchVal) (const Space &home, BoolVar x, int i)
 Branch value function type for Boolean variables. More...
 
typedef void(* Gecode::IntBranchCommit) (Space &home, unsigned int a, IntVar x, int i, int n)
 Branch commit function type for integer variables. More...
 
typedef void(* Gecode::BoolBranchCommit) (Space &home, unsigned int a, BoolVar x, int i, int n)
 Branch commit function type for Boolean variables. More...
 

Enumerations

enum  Gecode::IntVarBranch::Select {
  Gecode::IntVarBranch::SEL_NONE = 0, Gecode::IntVarBranch::SEL_RND, Gecode::IntVarBranch::SEL_MERIT_MIN, Gecode::IntVarBranch::SEL_MERIT_MAX,
  Gecode::IntVarBranch::SEL_DEGREE_MIN, Gecode::IntVarBranch::SEL_DEGREE_MAX, Gecode::IntVarBranch::SEL_AFC_MIN, Gecode::IntVarBranch::SEL_AFC_MAX,
  Gecode::IntVarBranch::SEL_ACTIVITY_MIN, Gecode::IntVarBranch::SEL_ACTIVITY_MAX, Gecode::IntVarBranch::SEL_MIN_MIN, Gecode::IntVarBranch::SEL_MIN_MAX,
  Gecode::IntVarBranch::SEL_MAX_MIN, Gecode::IntVarBranch::SEL_MAX_MAX, Gecode::IntVarBranch::SEL_SIZE_MIN, Gecode::IntVarBranch::SEL_SIZE_MAX,
  Gecode::IntVarBranch::SEL_DEGREE_SIZE_MIN, Gecode::IntVarBranch::SEL_DEGREE_SIZE_MAX, Gecode::IntVarBranch::SEL_AFC_SIZE_MIN, Gecode::IntVarBranch::SEL_AFC_SIZE_MAX,
  Gecode::IntVarBranch::SEL_ACTIVITY_SIZE_MIN, Gecode::IntVarBranch::SEL_ACTIVITY_SIZE_MAX, Gecode::IntVarBranch::SEL_REGRET_MIN_MIN, Gecode::IntVarBranch::SEL_REGRET_MIN_MAX,
  Gecode::IntVarBranch::SEL_REGRET_MAX_MIN, Gecode::IntVarBranch::SEL_REGRET_MAX_MAX
}
 Which variable selection. More...
 
enum  Gecode::IntValBranch::Select {
  Gecode::IntValBranch::SEL_MIN, Gecode::IntValBranch::SEL_MED, Gecode::IntValBranch::SEL_MAX, Gecode::IntValBranch::SEL_RND,
  Gecode::IntValBranch::SEL_SPLIT_MIN, Gecode::IntValBranch::SEL_SPLIT_MAX, Gecode::IntValBranch::SEL_RANGE_MIN, Gecode::IntValBranch::SEL_RANGE_MAX,
  Gecode::IntValBranch::SEL_VAL_COMMIT, Gecode::IntValBranch::SEL_VALUES_MIN, Gecode::IntValBranch::SEL_VALUES_MAX, Gecode::IntValBranch::SEL_NEAR_MIN,
  Gecode::IntValBranch::SEL_NEAR_MAX, Gecode::IntValBranch::SEL_NEAR_INC, Gecode::IntValBranch::SEL_NEAR_DEC
}
 Which value selection. More...
 
enum  Gecode::IntAssign::Select {
  Gecode::IntAssign::SEL_MIN, Gecode::IntAssign::SEL_MED, Gecode::IntAssign::SEL_MAX, Gecode::IntAssign::SEL_RND,
  Gecode::IntAssign::SEL_VAL_COMMIT
}
 Which value selection. More...
 

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. More...
 
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. More...
 
BrancherHandle Gecode::branch (Home home, IntVar x, IntValBranch vals, IntVarValPrint vvp=NULL)
 Branch over x with value selection vals. More...
 
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. More...
 
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. More...
 
BrancherHandle Gecode::branch (Home home, BoolVar x, IntValBranch vals, BoolVarValPrint vvp=NULL)
 Branch over x with value selection vals. More...
 
BrancherHandle Gecode::assign (Home home, const IntVarArgs &x, IntAssign vals, IntBranchFilter ibf=NULL, IntVarValPrint vvp=NULL)
 Assign all x with value selection vals. More...
 
BrancherHandle Gecode::assign (Home home, IntVar x, IntAssign vals, IntVarValPrint vvp=NULL)
 Assign x with value selection vals. More...
 
BrancherHandle Gecode::assign (Home home, const BoolVarArgs &x, IntAssign vals, BoolBranchFilter bbf=NULL, BoolVarValPrint vvp=NULL)
 Assign all x with value selection vals. More...
 
BrancherHandle Gecode::assign (Home home, BoolVar x, IntAssign vals, BoolVarValPrint vvp=NULL)
 Assign x with value selection vals. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

Detailed Description

Typedef Documentation

typedef bool(* Gecode::IntBranchFilter) (const Space &home, IntVar x, int i)

Branch filter function type for integer 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 3568 of file int.hh.

typedef bool(* Gecode::BoolBranchFilter) (const Space &home, BoolVar x, int i)

Branch filter function type for Boolean 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 3577 of file int.hh.

typedef double(* Gecode::IntBranchMerit) (const Space &home, IntVar x, int i)

Branch merit function type for integer variables.

The function must return a merit value for the variable x. The integer i refers to the variable's position in the original array passed to the brancher.

Definition at line 3588 of file int.hh.

typedef double(* Gecode::BoolBranchMerit) (const Space &home, BoolVar x, int i)

Branch merit function type for Boolean variables.

The function must return a merit value for the variable x. The integer i refers to the variable's position in the original array passed to the brancher.

Definition at line 3598 of file int.hh.

typedef int(* Gecode::IntBranchVal) (const Space &home, IntVar x, int i)

Branch value function type for integer 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 3610 of file int.hh.

typedef int(* Gecode::BoolBranchVal) (const Space &home, BoolVar x, int i)

Branch value function type for Boolean 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 3621 of file int.hh.

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.

Definition at line 3634 of file int.hh.

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.

Definition at line 3647 of file int.hh.

Enumeration Type Documentation

Which variable selection.

Enumerator
SEL_NONE 

First unassigned.

SEL_RND 

Random (uniform, for tie breaking)

SEL_MERIT_MIN 

With least merit.

SEL_MERIT_MAX 

With highest merit.

SEL_DEGREE_MIN 

With smallest degree.

SEL_DEGREE_MAX 

With largest degree.

SEL_AFC_MIN 

With smallest accumulated failure count.

SEL_AFC_MAX 

With largest accumulated failure count.

SEL_ACTIVITY_MIN 

With lowest activity.

SEL_ACTIVITY_MAX 

With highest activity.

SEL_MIN_MIN 

With smallest min.

SEL_MIN_MAX 

With largest min.

SEL_MAX_MIN 

With smallest max.

SEL_MAX_MAX 

With largest max.

SEL_SIZE_MIN 

With smallest domain size.

SEL_SIZE_MAX 

With largest domain size.

SEL_DEGREE_SIZE_MIN 

With smallest degree divided by domain size.

SEL_DEGREE_SIZE_MAX 

With largest degree divided by domain size.

SEL_AFC_SIZE_MIN 

With smallest accumulated failure count divided by domain size.

SEL_AFC_SIZE_MAX 

With largest accumulated failure count divided by domain size.

SEL_ACTIVITY_SIZE_MIN 

With smallest activity divided by domain size.

SEL_ACTIVITY_SIZE_MAX 

With largest activity divided by domain size.

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

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

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

SEL_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 3801 of file int.hh.

Which value selection.

Enumerator
SEL_MIN 

Select smallest value.

SEL_MED 

Select greatest value not greater than the median.

SEL_MAX 

Select largest value.

SEL_RND 

Select random value.

SEL_SPLIT_MIN 

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

SEL_SPLIT_MAX 

Select values greater than mean of smallest and largest value.

SEL_RANGE_MIN 

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

SEL_RANGE_MAX 

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

SEL_VAL_COMMIT 

Select value according to user-defined functions.

SEL_VALUES_MIN 

Select all values starting from smallest.

SEL_VALUES_MAX 

Select all values starting from largest.

SEL_NEAR_MIN 

Select value nearest to a given value, use smaller one in case of ties.

SEL_NEAR_MAX 

Select value nearest to a given value, use larger one in case of ties.

SEL_NEAR_INC 

Select value near to a given value, increment values first.

SEL_NEAR_DEC 

Select value near to a given value, decrement values first.

Definition at line 3984 of file int.hh.

Which value selection.

Enumerator
SEL_MIN 

Select smallest value.

SEL_MED 

Select greatest value not greater than the median.

SEL_MAX 

Select largest value.

SEL_RND 

Select random value.

SEL_VAL_COMMIT 

Select value according to user-defined functions.

Definition at line 4084 of file int.hh.

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.

Definition at line 43 of file branch.cpp.

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.

Definition at line 67 of file branch.cpp.

BrancherHandle Gecode::branch ( Home  home,
IntVar  x,
IntValBranch  vals,
IntVarValPrint  vvp 
)

Branch over x with value selection vals.

Definition at line 144 of file branch.cpp.

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.

Definition at line 170 of file branch.cpp.

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.

Definition at line 185 of file branch.cpp.

BrancherHandle Gecode::branch ( Home  home,
BoolVar  x,
IntValBranch  vals,
BoolVarValPrint  vvp 
)

Branch over x with value selection vals.

Definition at line 231 of file branch.cpp.

BrancherHandle Gecode::assign ( Home  home,
const IntVarArgs x,
IntAssign  ia,
IntBranchFilter  bf,
IntVarValPrint  vvp 
)

Assign all x with value selection vals.

Definition at line 150 of file branch.cpp.

BrancherHandle Gecode::assign ( Home  home,
IntVar  x,
IntAssign  ia,
IntVarValPrint  vvp 
)

Assign x with value selection vals.

Definition at line 163 of file branch.cpp.

BrancherHandle Gecode::assign ( Home  home,
const BoolVarArgs x,
IntAssign  ia,
BoolBranchFilter  bf,
BoolVarValPrint  vvp 
)

Assign all x with value selection vals.

Definition at line 237 of file branch.cpp.

BrancherHandle Gecode::assign ( Home  home,
BoolVar  x,
IntAssign  ia,
BoolVarValPrint  vvp 
)

Assign x with value selection vals.

Definition at line 250 of file branch.cpp.

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.

Definition at line 263 of file ldsb.cpp.

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.

Definition at line 311 of file ldsb.cpp.

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.

Definition at line 427 of file ldsb.cpp.

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.

Definition at line 482 of file ldsb.cpp.