Gecode::SetVarBranch Class Reference
Functionality by programming task » Programming models » Using integer set variables and constraints » Branching

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
}

| Which variable selection. More...
Public Types inherited from Gecode::VarBranch< SetVar >
typedef BranchTraits< SetVar >::Merit | MeritFunction
| Corresponding merit function.

## Public Member Functions

| SetVarBranch (void)
| Initialize with strategy SEL_NONE.
| SetVarBranch (Rnd r)
| Initialize with random number generator r.
| SetVarBranch (Select s, BranchTbl t)
| Initialize with selection strategy s and tie-break limit function t.
| SetVarBranch (Select s, double d, BranchTbl t)
| Initialize with selection strategy s, decay factor d, and tie-break limit function t.
| SetVarBranch (Select s, SetAFC a, BranchTbl t)
| Initialize with selection strategy s, afc a, and tie-break limit function t.
| SetVarBranch (Select s, SetAction a, BranchTbl t)
| Initialize with selection strategy s, action a, and tie-break limit function t.
| SetVarBranch (Select s, SetCHB c, BranchTbl t)
| Initialize with selection strategy s, CHB c, and tie-break limit function t.
| SetVarBranch (Select s, SetBranchMerit 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 SetVarArgs &x)
| Expand AFC, action, and CHB.
Public Member Functions inherited from Gecode::VarBranch< SetVar >
| VarBranch (void)
| Initialize.
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.
Action | action (void) const
| Return action.
CHB | chb (void) const
| Return CHB.
MeritFunction | merit (void) const
| Return merit function.

## Protected Attributes

Select | s
| Which variable to select.
Protected Attributes inherited from Gecode::VarBranch< SetVar >
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.

## Detailed Description

Which variable to select for branching.

Definition at line 1296 of file set.hh.

## Member Enumeration Documentation

## Select

enum Gecode::SetVarBranch::Select

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

Definition at line 1299 of file set.hh.

## Constructor & Destructor Documentation

## SetVarBranch() [1/8]

Gecode::SetVarBranch::SetVarBranch | ( | void |  | ) |

inline

Initialize with strategy SEL_NONE.

Definition at line 37 of file var.hpp.

## SetVarBranch() [2/8]

Gecode::SetVarBranch::SetVarBranch | ( | Rnd | r | ) |

inline

Initialize with random number generator r.

Definition at line 45 of file var.hpp.

## SetVarBranch() [3/8]

Gecode::SetVarBranch::SetVarBranch | ( | Select | s,
|  | BranchTbl | t )

inline

Initialize with selection strategy s and tie-break limit function t.

Definition at line 41 of file var.hpp.

## SetVarBranch() [4/8]

Gecode::SetVarBranch::SetVarBranch | ( | Select | s,
|  | double | d,
|  | BranchTbl | t )

inline

Initialize with selection strategy s, decay factor d, and tie-break limit function t.

Definition at line 49 of file var.hpp.

## SetVarBranch() [5/8]

Gecode::SetVarBranch::SetVarBranch | ( | Select | s,
|  | SetAFC | a,
|  | BranchTbl | t )

inline

Initialize with selection strategy s, afc a, and tie-break limit function t.

Definition at line 53 of file var.hpp.

## SetVarBranch() [6/8]

Gecode::SetVarBranch::SetVarBranch | ( | Select | s,
|  | SetAction | a,
|  | BranchTbl | t )

inline

Initialize with selection strategy s, action a, and tie-break limit function t.

Definition at line 57 of file var.hpp.

## SetVarBranch() [7/8]

Gecode::SetVarBranch::SetVarBranch | ( | Select | s,
|  | SetCHB | c,
|  | BranchTbl | t )

inline

Initialize with selection strategy s, CHB c, and tie-break limit function t.

Definition at line 61 of file var.hpp.

## SetVarBranch() [8/8]

Gecode::SetVarBranch::SetVarBranch | ( | Select | s,
|  | SetBranchMerit | mf,
|  | BranchTbl | t )

inline

Initialize with selection strategy s, branch merit function mf, and tie-break limit function t.

Definition at line 65 of file var.hpp.

## Member Function Documentation

## select()

SetVarBranch::Select Gecode::SetVarBranch::select | ( | void |  | ) | const

inline

Return selection strategy.

Definition at line 69 of file var.hpp.

## expand()

void Gecode::SetVarBranch::expand | ( | Home | home,
|  | const SetVarArgs & | x )

inline

Expand AFC, action, and CHB.

Definition at line 74 of file var.hpp.

## Member Data Documentation

## s

Select Gecode::SetVarBranch::s

protected

Which variable to select.

Definition at line 1329 of file set.hh.

The documentation for this class was generated from the following files:

- gecode/set.hh
- gecode/set/branch/var.hpp