Generated on Sat Oct 20 2018 12:43:45 for Gecode by doxygen 1.8.13

Modules

 Variable selection for integer and Boolean variables
 
 Value selection for integer and Boolean variables
 
 Value selection for assigning integer variables
 
 Symmetry declarations
 

Classes

class  Gecode::IntAFC
 Recording AFC information for integer variables. More...
 
class  Gecode::BoolAFC
 Recording AFC information for Boolean variables. More...
 
class  Gecode::IntAction
 Recording actions for integer variables. More...
 
class  Gecode::BoolAction
 Recording actions for Boolean variables. More...
 
class  Gecode::IntCHB
 Recording CHB for integer variables. More...
 
class  Gecode::BoolCHB
 Recording CHB for Boolean variables. More...
 
class  Gecode::IntVarBranch
 Which integer variable to select for branching. More...
 
class  Gecode::BoolVarBranch
 Which Boolean variable to select for branching. More...
 
class  Gecode::IntValBranch
 Which values to select for branching first. More...
 
class  Gecode::BoolValBranch
 Which values to select for branching first. More...
 
class  Gecode::IntAssign
 Which values to select for assignment. More...
 
class  Gecode::BoolAssign
 Which values to select for assignment. More...
 
class  Gecode::SymmetryHandle
 A reference-counted pointer to a SymmetryObject. More...
 

Typedefs

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

Functions

void Gecode::branch (Home home, const IntVarArgs &x, IntVarBranch vars, IntValBranch vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr)
 Branch over x with variable selection vars and value selection vals. More...
 
void Gecode::branch (Home home, const IntVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr)
 Branch over x with tie-breaking variable selection vars and value selection vals. More...
 
void Gecode::branch (Home home, IntVar x, IntValBranch vals, IntVarValPrint vvp=nullptr)
 Branch over x with value selection vals. More...
 
void Gecode::branch (Home home, const BoolVarArgs &x, BoolVarBranch vars, BoolValBranch vals, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr)
 Branch over x with variable selection vars and value selection vals. More...
 
void Gecode::branch (Home home, const BoolVarArgs &x, TieBreak< BoolVarBranch > vars, BoolValBranch vals, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr)
 Branch over x with tie-breaking variable selection vars and value selection vals. More...
 
void Gecode::branch (Home home, BoolVar x, BoolValBranch vals, BoolVarValPrint vvp=nullptr)
 Branch over x with value selection vals. More...
 
void Gecode::assign (Home home, const IntVarArgs &x, IntAssign vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr)
 Assign all x with value selection vals. More...
 
void Gecode::assign (Home home, IntVar x, IntAssign vals, IntVarValPrint vvp=nullptr)
 Assign x with value selection vals. More...
 
void Gecode::assign (Home home, const BoolVarArgs &x, BoolAssign vals, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr)
 Assign all x with value selection vals. More...
 
void Gecode::assign (Home home, BoolVar x, BoolAssign vals, BoolVarValPrint vvp=nullptr)
 Assign x with value selection vals. More...
 
void Gecode::branch (Home home, const IntVarArgs &x, IntVarBranch vars, IntValBranch vals, const Symmetries &syms, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr)
 Branch over x with variable selection vars and value selection vals with symmetry breaking. More...
 
void Gecode::branch (Home home, const IntVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, const Symmetries &syms, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr)
 Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking. More...
 
void Gecode::branch (Home home, const BoolVarArgs &x, BoolVarBranch vars, BoolValBranch vals, const Symmetries &syms, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr)
 Branch over x with variable selection vars and value selection vals with symmetry breaking. More...
 
void Gecode::branch (Home home, const BoolVarArgs &x, TieBreak< BoolVarBranch > vars, BoolValBranch vals, const Symmetries &syms, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr)
 Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking. More...
 

Detailed Description

Typedef Documentation

◆ IntBranchFilter

typedef std::function<bool(const Space& home, IntVar x, int i)> Gecode::IntBranchFilter

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

◆ BoolBranchFilter

typedef std::function<bool(const Space& home, BoolVar x, int i)> Gecode::BoolBranchFilter

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

◆ IntBranchMerit

typedef std::function<double(const Space& home, IntVar x, int i)> Gecode::IntBranchMerit

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

◆ BoolBranchMerit

typedef std::function<double(const Space& home, BoolVar x, int i)> Gecode::BoolBranchMerit

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

◆ IntBranchVal

typedef std::function<int(const Space& home, IntVar x, int i)> Gecode::IntBranchVal

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

◆ BoolBranchVal

typedef std::function<int(const Space& home, BoolVar x, int i)> Gecode::BoolBranchVal

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

◆ IntBranchCommit

typedef std::function<void(Space& home, unsigned int a, IntVar x, int i, int n)> Gecode::IntBranchCommit

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

◆ BoolBranchCommit

typedef std::function<void(Space& home, unsigned int a, BoolVar x, int i, int n)> Gecode::BoolBranchCommit

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

Function Documentation

◆ branch() [1/10]

void 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 39 of file branch.cpp.

◆ branch() [2/10]

void 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 65 of file branch.cpp.

◆ branch() [3/10]

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

Branch over x with value selection vals.

Definition at line 140 of file branch.cpp.

◆ branch() [4/10]

void Gecode::branch ( Home  home,
const BoolVarArgs x,
BoolVarBranch  vars,
BoolValBranch  vals,
BoolBranchFilter  bf,
BoolVarValPrint  vvp 
)

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

Definition at line 167 of file branch.cpp.

◆ branch() [5/10]

void Gecode::branch ( Home  home,
const BoolVarArgs x,
TieBreak< BoolVarBranch vars,
BoolValBranch  vals,
BoolBranchFilter  bf,
BoolVarValPrint  vvp 
)

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

Definition at line 183 of file branch.cpp.

◆ branch() [6/10]

void Gecode::branch ( Home  home,
BoolVar  x,
BoolValBranch  vals,
BoolVarValPrint  vvp 
)

Branch over x with value selection vals.

Definition at line 230 of file branch.cpp.

◆ assign() [1/4]

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

Assign all x with value selection vals.

Definition at line 146 of file branch.cpp.

◆ assign() [2/4]

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

Assign x with value selection vals.

Definition at line 160 of file branch.cpp.

◆ assign() [3/4]

void Gecode::assign ( Home  home,
const BoolVarArgs x,
BoolAssign  ba,
BoolBranchFilter  bf,
BoolVarValPrint  vvp 
)

Assign all x with value selection vals.

Definition at line 236 of file branch.cpp.

◆ assign() [4/4]

void Gecode::assign ( Home  home,
BoolVar  x,
BoolAssign  ba,
BoolVarValPrint  vvp 
)

Assign x with value selection vals.

Definition at line 250 of file branch.cpp.

◆ branch() [7/10]

void Gecode::branch ( Home  home,
const IntVarArgs x,
IntVarBranch  vars,
IntValBranch  vals,
const Symmetries syms,
IntBranchFilter  bf = nullptr,
IntVarValPrint  vvp = nullptr 
)

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 259 of file ldsb.cpp.

◆ branch() [8/10]

void Gecode::branch ( Home  home,
const IntVarArgs x,
TieBreak< IntVarBranch vars,
IntValBranch  vals,
const Symmetries syms,
IntBranchFilter  bf = nullptr,
IntVarValPrint  vvp = nullptr 
)

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 308 of file ldsb.cpp.

◆ branch() [9/10]

void Gecode::branch ( Home  home,
const BoolVarArgs x,
BoolVarBranch  vars,
BoolValBranch  vals,
const Symmetries syms,
BoolBranchFilter  bf = nullptr,
BoolVarValPrint  vvp = nullptr 
)

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 423 of file ldsb.cpp.

◆ branch() [10/10]

void Gecode::branch ( Home  home,
const BoolVarArgs x,
TieBreak< BoolVarBranch vars,
BoolValBranch  vals,
const Symmetries syms,
BoolBranchFilter  bf = nullptr,
BoolVarValPrint  vvp = nullptr 
)

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 469 of file ldsb.cpp.