Which integer variable to select for branching. More...
#include <int.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 , SEL_REGRET_MIN_MIN , SEL_REGRET_MIN_MAX , SEL_REGRET_MAX_MIN , SEL_REGRET_MAX_MAX } |
Which variable selection. More... | |
![]() | |
typedef BranchTraits< IntVar >::Merit | MeritFunction |
Corresponding merit function. | |
Public Member Functions | |
IntVarBranch (void) | |
Initialize with strategy SEL_NONE. | |
IntVarBranch (Rnd r) | |
Initialize with random number generator r. | |
IntVarBranch (Select s, BranchTbl t) | |
Initialize with selection strategy s and tie-break limit function t. | |
IntVarBranch (Select s, double d, BranchTbl t) | |
Initialize with selection strategy s, decay factor d, and tie-break limit function t. | |
IntVarBranch (Select s, IntAFC a, BranchTbl t) | |
Initialize with selection strategy s, AFC a, and tie-break limit function t. | |
IntVarBranch (Select s, IntAction a, BranchTbl t) | |
Initialize with selection strategy s, action a, and tie-break limit function t. | |
IntVarBranch (Select s, IntCHB c, BranchTbl t) | |
Initialize with selection strategy s, CHB c, and tie-break limit function t. | |
IntVarBranch (Select s, IntBranchMerit mf, BranchTbl t) | |
Initialize with selection strategy s, branch merit function mf, and tie-break limit function t. | |
Select | select (void) const |
Return selection strategy. | |
void | expand (Home home, const IntVarArgs &x) |
Expand AFC, action, and CHB. | |
![]() | |
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. | |
Protected Attributes | |
Select | s |
Which variable to select. | |
![]() | |
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. | |
Which variable selection.
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 min. |
SEL_MIN_MAX | With largest min. |
SEL_MAX_MIN | With smallest max. |
SEL_MAX_MAX | With largest max. |
SEL_SIZE_MIN | With smallest domain size. |
SEL_SIZE_MAX | With largest domain size. |
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. |
SEL_REGRET_MIN_MIN | With smallest min-regret. The min-regret of a variable is the difference between the smallest and second-smallest value still in the domain. |
SEL_REGRET_MIN_MAX | With largest min-regret. The min-regret of a variable is the difference between the smallest and second-smallest value still in the domain. |
SEL_REGRET_MAX_MIN | With smallest max-regret. The max-regret of a variable is the difference between the largest and second-largest value still in the domain. |
SEL_REGRET_MAX_MAX | With largest max-regret. The max-regret of a variable is the difference between the largest and second-largest value still in the domain. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |