Generated on Thu Apr 11 13:59:34 2019 for Gecode by doxygen 1.6.3

Branching
[Using integer variables and constraints]

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

Modules

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

Typedefs

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

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

Typedef Documentation

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

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

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

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

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

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

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

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


Function Documentation

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.

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.

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

Branch over x with value selection vals.

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.

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.

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

Branch over x with value selection vals.

void Gecode::assign ( Home  home,
const IntVarArgs &  x,
IntVarBranch  vars,
IntAssign  vals,
IntBranchFilter  bf,
IntVarValPrint  vvp 
)

Assign all x with variable selection vars with value selection vals.

void Gecode::assign ( Home  home,
const IntVarArgs &  x,
TieBreak< IntVarBranch >  vars,
IntAssign  vals,
IntBranchFilter  bf = nullptr,
IntVarValPrint  vvp = nullptr 
)

Assign all x with tie-breaking variable selection vars and value selection vals.

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

Assign x with value selection vals.

void Gecode::assign ( Home  home,
const BoolVarArgs &  x,
BoolVarBranch  vars,
BoolAssign  vals,
BoolBranchFilter  bf,
BoolVarValPrint  vvp 
)

Assign all x with variable selection vars with value selection vals.

void Gecode::assign ( Home  home,
const BoolVarArgs &  x,
TieBreak< BoolVarBranch >  vars,
BoolAssign  vals,
IntBranchFilter  bf = nullptr,
IntVarValPrint  vvp = nullptr 
)

Assign all x with tie-breaking variable selection vars and value selection vals.

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

Assign x with value selection vals.

void Gecode::branch ( Home  home,
const IntVarArgs &  x,
IntValBranch  vals,
IntBranchFilter  bf,
IntVarValPrint  vvp 
) [inline]

Branch over x with value selection vals.

void Gecode::branch ( Home  home,
const BoolVarArgs &  x,
BoolValBranch  vals,
BoolBranchFilter  bf,
BoolVarValPrint  vvp 
) [inline]

Branch over x with value selection vals.

void Gecode::assign ( Home  home,
const IntVarArgs &  x,
IntAssign  vals,
IntBranchFilter  bf,
IntVarValPrint  vvp 
) [inline]

Assign all x with value selection vals.

void Gecode::assign ( Home  home,
const BoolVarArgs &  x,
BoolAssign  vals,
BoolBranchFilter  bf,
BoolVarValPrint  vvp 
) [inline]

Assign all x with value selection vals.

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.

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.

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.

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.