Generated on Fri Mar 20 15:56:35 2015 for Gecode by doxygen 1.6.3

Branching
[Using integer variables and constraints]

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

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

Typedefs

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

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

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.


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.

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.

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

Branch over x with value selection vals.

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.

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.

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

Branch over x with value selection vals.

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

Assign all x with value selection vals.

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

Assign x with value selection vals.

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

Assign all x with value selection vals.

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

Assign x with value selection vals.

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.

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.

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.

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.