Which variable to select for branching. More...
#include <set.hh>
Public Types | |
enum | Select { SEL_NONE = 0 , SEL_RND , SEL_MERIT_MIN , SEL_MERIT_MAX , SEL_DEGREE_MIN , SEL_DEGREE_MAX , SEL_AFC_MIN , SEL_AFC_MAX , SEL_ACTION_MIN , SEL_ACTION_MAX , SEL_CHB_MIN , SEL_CHB_MAX , SEL_MIN_MIN , SEL_MIN_MAX , SEL_MAX_MIN , SEL_MAX_MAX , SEL_SIZE_MIN , SEL_SIZE_MAX , SEL_DEGREE_SIZE_MIN , SEL_DEGREE_SIZE_MAX , SEL_AFC_SIZE_MIN , SEL_AFC_SIZE_MAX , SEL_ACTION_SIZE_MIN , SEL_ACTION_SIZE_MAX , SEL_CHB_SIZE_MIN , SEL_CHB_SIZE_MAX } |
![]() | |
typedef BranchTraits< SetVar >::Merit | MeritFunction |
Corresponding merit function. | |
Public Member Functions | |
Initialize with strategy SEL_NONE | SetVarBranch (void) |
Initialize with random number generator a r | SetVarBranch (Rnd r) |
Initialize with selection strategy a s and tie break limit function a t | SetVarBranch (Select s, BranchTbl t) |
Initialize with selection strategy a decay factor a and tie break limit function a t | SetVarBranch (Select s, double d, BranchTbl t) |
Initialize with selection strategy a afc a and tie break limit function a t | SetVarBranch (Select s, SetAFC a, BranchTbl t) |
Initialize with selection strategy a action a and tie break limit function a t | SetVarBranch (Select s, SetAction a, BranchTbl t) |
Initialize with selection strategy a CHB a and tie break limit function a t | SetVarBranch (Select s, SetCHB c, BranchTbl t) |
Initialize with selection strategy a branch merit function a and tie break limit function a t | SetVarBranch (Select s, SetBranchMerit mf, BranchTbl t) |
Return selection strategy Select | select (void) const |
Expand and CHB void | expand (Home home, const SetVarArgs &x) |
![]() | |
VarBranch (void) | |
Initialize. | |
VarBranch (BranchTbl t) | |
Initialize with tie-break limit function t. | |
VarBranch (Rnd r) | |
Initialize with random number generator r. | |
VarBranch (double d, BranchTbl t) | |
Initialize with decay factor d and tie-break limit function t. | |
VarBranch (AFC a, BranchTbl t) | |
Initialize with AFC a and tie-break limit function t. | |
VarBranch (Action a, BranchTbl t) | |
Initialize with action a and tie-break limit function t. | |
VarBranch (CHB c, BranchTbl t) | |
Initialize with CHB c and tie-break limit function t. | |
VarBranch (MeritFunction f, BranchTbl t) | |
Initialize with merit function f and tie-break limit function t. | |
BranchTbl | tbl (void) const |
Return tie-break limit function. | |
Rnd | rnd (void) const |
Return random number generator. | |
double | decay (void) const |
Return decay factor. | |
AFC | afc (void) const |
Return AFC. | |
void | afc (AFC a) |
Set AFC to a. | |
Action | action (void) const |
Return action. | |
void | action (Action a) |
Set action to a. | |
CHB | chb (void) const |
Return CHB. | |
void | chb (CHB chb) |
Set CHB to chb. | |
MeritFunction | merit (void) const |
Return merit function. | |
Public Attributes | |
Initialize with selection strategy a | s |
Initialize with selection strategy a decay factor a | d |
Initialize with selection strategy a afc a | a |
Initialize with selection strategy a action a | a |
Initialize with selection strategy a CHB a | c |
Initialize with selection strategy a branch merit function a | mf |
Expand | AFC |
Expand | action |
Protected Attributes | |
Which variable to select Select | s |
![]() | |
BranchTbl | _tbl |
Tie-breaking limit function. | |
Rnd | _rnd |
Random number generator. | |
double | _decay |
Decay information for AFC and action. | |
AFC | _afc |
AFC information. | |
Action | _act |
Action information. | |
CHB | _chb |
CHB information. | |
MeritFunction | _mf |
Merit function. | |
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_ACTION_MIN | With lowest action. |
SEL_ACTION_MAX | With highest action. |
SEL_CHB_MIN | With lowest CHB Q-score. |
SEL_CHB_MAX | With highest CHB Q-score. |
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_ACTION_SIZE_MIN | With smallest action divided by domain size. |
SEL_ACTION_SIZE_MAX | With largest action divided by domain size. |
SEL_CHB_SIZE_MIN | With smallest CHB Q-score divided by domain size. |
SEL_CHB_SIZE_MAX | With largest CHB Q-score divided by domain size. |
|
inline |
|
inline |
|
inline |
|
protected |
Initialize with selection strategy a Gecode::SetVarBranch::s |
Initialize with selection strategy a afc a Gecode::SetVarBranch::a |
Initialize with selection strategy a action a Gecode::SetVarBranch::a |