Generated on Sat Jul 28 2018 17:21:57 for Gecode by doxygen 1.8.14

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 3843 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 3853 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 3865 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 3876 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 3889 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 3901 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 3916 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 3930 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 43 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 69 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 144 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 171 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 187 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 234 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 150 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 164 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 240 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 254 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 263 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 312 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 427 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 473 of file ldsb.cpp.