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

Modules

 Selecting set variables
 
 Value selection for set variables
 
 Assigning set variables
 

Classes

class  Gecode::SetAFC
 Recording AFC information for set variables. More...
 
class  Gecode::SetActivity
 Recording activities 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...
 

Typedefs

typedef bool(* Gecode::SetBranchFilter) (const Space &home, SetVar x, int i)
 Branch filter function type for set variables. More...
 
typedef double(* Gecode::SetBranchMerit) (const Space &home, SetVar x, int i)
 Branch merit function type for set variables. More...
 
typedef int(* Gecode::SetBranchVal) (const Space &home, SetVar x, int i)
 Branch value function type for set variables. More...
 
typedef void(* Gecode::SetBranchCommit) (Space &home, unsigned int a, SetVar x, int i, int n)
 Branch commit function type for set variables. More...
 

Enumerations

enum  Gecode::SetVarBranch::Select {
  Gecode::SetVarBranch::SEL_NONE = 0, Gecode::SetVarBranch::SEL_RND, Gecode::SetVarBranch::SEL_MERIT_MIN, Gecode::SetVarBranch::SEL_MERIT_MAX,
  Gecode::SetVarBranch::SEL_DEGREE_MIN, Gecode::SetVarBranch::SEL_DEGREE_MAX, Gecode::SetVarBranch::SEL_AFC_MIN, Gecode::SetVarBranch::SEL_AFC_MAX,
  Gecode::SetVarBranch::SEL_ACTIVITY_MIN, Gecode::SetVarBranch::SEL_ACTIVITY_MAX, Gecode::SetVarBranch::SEL_MIN_MIN, Gecode::SetVarBranch::SEL_MIN_MAX,
  Gecode::SetVarBranch::SEL_MAX_MIN, Gecode::SetVarBranch::SEL_MAX_MAX, Gecode::SetVarBranch::SEL_SIZE_MIN, Gecode::SetVarBranch::SEL_SIZE_MAX,
  Gecode::SetVarBranch::SEL_DEGREE_SIZE_MIN, Gecode::SetVarBranch::SEL_DEGREE_SIZE_MAX, Gecode::SetVarBranch::SEL_AFC_SIZE_MIN, Gecode::SetVarBranch::SEL_AFC_SIZE_MAX,
  Gecode::SetVarBranch::SEL_ACTIVITY_SIZE_MIN, Gecode::SetVarBranch::SEL_ACTIVITY_SIZE_MAX
}
 Which variable selection. More...
 
enum  Gecode::SetValBranch::Select {
  Gecode::SetValBranch::SEL_MIN_INC, Gecode::SetValBranch::SEL_MIN_EXC, Gecode::SetValBranch::SEL_MED_INC, Gecode::SetValBranch::SEL_MED_EXC,
  Gecode::SetValBranch::SEL_MAX_INC, Gecode::SetValBranch::SEL_MAX_EXC, Gecode::SetValBranch::SEL_RND_INC, Gecode::SetValBranch::SEL_RND_EXC,
  Gecode::SetValBranch::SEL_VAL_COMMIT
}
 Which value selection. More...
 
enum  Gecode::SetAssign::Select {
  Gecode::SetAssign::SEL_MIN_INC, Gecode::SetAssign::SEL_MIN_EXC, Gecode::SetAssign::SEL_MED_INC, Gecode::SetAssign::SEL_MED_EXC,
  Gecode::SetAssign::SEL_MAX_INC, Gecode::SetAssign::SEL_MAX_EXC, Gecode::SetAssign::SEL_RND_INC, Gecode::SetAssign::SEL_RND_EXC,
  Gecode::SetAssign::SEL_VAL_COMMIT
}
 Which value selection. More...
 

Functions

BrancherHandle Gecode::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. More...
 
BrancherHandle Gecode::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. More...
 
BrancherHandle Gecode::branch (Home home, SetVar x, SetValBranch vals, SetVarValPrint vvp=NULL)
 Branch over x with value selection vals. More...
 
BrancherHandle Gecode::assign (Home home, const SetVarArgs &x, SetAssign vals, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL)
 Assign all x with value selection vals. More...
 
BrancherHandle Gecode::assign (Home home, SetVar x, SetAssign vals, SetVarValPrint vvp=NULL)
 Assign x with value selection vals. More...
 
BrancherHandle Gecode::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. More...
 
BrancherHandle Gecode::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. More...
 

Detailed Description

Typedef Documentation

typedef bool(* Gecode::SetBranchFilter) (const Space &home, SetVar x, int i)

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 1102 of file set.hh.

typedef double(* Gecode::SetBranchMerit) (const Space &home, SetVar x, int i)

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 1114 of file set.hh.

typedef int(* Gecode::SetBranchVal) (const Space &home, SetVar x, int i)

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 1126 of file set.hh.

typedef void(* Gecode::SetBranchCommit) (Space &home, unsigned int a, SetVar x, int i, int n)

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 1139 of file set.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 minimum unknown element.

SEL_MIN_MAX 

With largest minimum unknown element.

SEL_MAX_MIN 

With smallest maximum unknown element.

SEL_MAX_MAX 

With largest maximum unknown element.

SEL_SIZE_MIN 

With smallest unknown set.

SEL_SIZE_MAX 

With largest unknown set.

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.

Definition at line 1256 of file set.hh.

Which value selection.

Enumerator
SEL_MIN_INC 

Include smallest element.

SEL_MIN_EXC 

Exclude smallest element.

SEL_MED_INC 

Include median element (rounding downwards)

SEL_MED_EXC 

Exclude median element (rounding downwards)

SEL_MAX_INC 

Include largest element.

SEL_MAX_EXC 

Exclude largest element.

SEL_RND_INC 

Include random element.

SEL_RND_EXC 

Exclude random element.

SEL_VAL_COMMIT 

Select value according to user-defined functions.

Definition at line 1385 of file set.hh.

Which value selection.

Enumerator
SEL_MIN_INC 

Include smallest element.

SEL_MIN_EXC 

Exclude smallest element.

SEL_MED_INC 

Include median element (rounding downwards)

SEL_MED_EXC 

Exclude median element (rounding downwards)

SEL_MAX_INC 

Include largest element.

SEL_MAX_EXC 

Exclude largest element.

SEL_RND_INC 

Include random element.

SEL_RND_EXC 

Exclude random element.

SEL_VAL_COMMIT 

Select value according to user-defined functions.

Definition at line 1455 of file set.hh.

Function Documentation

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

Definition at line 42 of file branch.cpp.

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

Definition at line 57 of file branch.cpp.

BrancherHandle Gecode::branch ( Home  home,
SetVar  x,
SetValBranch  vals,
SetVarValPrint  vvp 
)

Branch over x with value selection vals.

Definition at line 102 of file branch.cpp.

BrancherHandle Gecode::assign ( Home  home,
const SetVarArgs x,
SetAssign  sa,
SetBranchFilter  bf,
SetVarValPrint  vvp 
)

Assign all x with value selection vals.

Definition at line 108 of file branch.cpp.

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

Assign x with value selection vals.

Definition at line 121 of file branch.cpp.

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

Definition at line 142 of file ldsb.cpp.

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

Definition at line 174 of file ldsb.cpp.