MCPcopy Create free account
hub / github.com/Gecode/gecode / IntBoolVarBranch

Class IntBoolVarBranch

gecode/flatzinc/branch.hh:44–95  ·  view source on GitHub ↗

Which integer or Boolean variable to select for branching

Source from the content-addressed store, hash-verified

42
43 /// Which integer or Boolean variable to select for branching
44 class IntBoolVarBranch : public VarBranch<IntVar> {
45 public:
46 /// Which variable selection
47 enum Select {
48 SEL_AFC_MAX, ///< With largest accumulated failure count
49 SEL_ACTION_MAX, ///< With highest action
50 SEL_CHB_MAX, ///< With highest CHB Q-score
51 SEL_AFC_SIZE_MAX, ///< With largest accumulated failure count divided by domain size
52 SEL_ACTION_SIZE_MAX, ///< With largest action divided by domain size
53 SEL_CHB_SIZE_MAX ///< With largest CHB Q-score divided by domain size
54 };
55 protected:
56 /// Which variable to select
57 Select s;
58 /// Integer AFC
59 IntAFC iafc;
60 /// Boolean AFC
61 BoolAFC bafc;
62 /// Integer action
63 IntAction iaction;
64 /// Boolean action
65 BoolAction baction;
66 /// Integer CHB
67 IntCHB ichb;
68 /// Boolean CHB
69 BoolCHB bchb;
70 public:
71 /// Initialize with selection strategy \a s and decay factor \a d
72 IntBoolVarBranch(Select s, double d);
73 /// Initialize with selection strategy \a s and AFC \a i and \a b
74 IntBoolVarBranch(Select s, IntAFC i, BoolAFC b);
75 /// Initialize with selection strategy \a s and action \a i and \a b
76 IntBoolVarBranch(Select s, IntAction i, BoolAction b);
77 /// Initialize with selection strategy \a s and CHB \a i and \a b
78 IntBoolVarBranch(Select s, IntCHB i, BoolCHB b);
79 /// Return selection strategy
80 Select select(void) const;
81 /// Return integer AFC
82 IntAFC intafc(void) const;
83 /// Return Boolean AFC
84 BoolAFC boolafc(void) const;
85 /// Return integer action
86 IntAction intaction(void) const;
87 /// Return Boolean action
88 BoolAction boolaction(void) const;
89 /// Return integer CHB
90 IntCHB intchb(void) const;
91 /// Return Boolean AFC
92 BoolCHB boolchb(void) const;
93 /// Expand AFC, action, and CHB
94 void expand(Home home, const IntVarArgs& x, const BoolVarArgs& y);
95 };
96
97 /// Variable selection for both integer and Boolean variables
98 //@{

Callers 6

INTBOOL_VAR_AFC_MAXFunction · 0.85
INTBOOL_VAR_ACTION_MAXFunction · 0.85
INTBOOL_VAR_CHB_MAXFunction · 0.85
INTBOOL_VAR_AFC_SIZE_MAXFunction · 0.85
INTBOOL_VAR_CHB_SIZE_MAXFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected