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

Class BoolVarBranch

gecode/int.hh:4803–4844  ·  view source on GitHub ↗

* \brief Which Boolean variable to select for branching * * \ingroup TaskModelIntBranch */

Source from the content-addressed store, hash-verified

4801 * \ingroup TaskModelIntBranch
4802 */
4803 class BoolVarBranch : public VarBranch<BoolVar> {
4804 public:
4805 /// Which variable selection
4806 enum Select {
4807 SEL_NONE = 0, ///< First unassigned
4808 SEL_RND, ///< Random (uniform, for tie breaking)
4809 SEL_MERIT_MIN, ///< With least merit
4810 SEL_MERIT_MAX, ///< With highest merit
4811 SEL_DEGREE_MIN, ///< With smallest degree
4812 SEL_DEGREE_MAX, ///< With largest degree
4813 SEL_AFC_MIN, ///< With smallest accumulated failure count
4814 SEL_AFC_MAX, ///< With largest accumulated failure count
4815 SEL_ACTION_MIN, ///< With lowest action
4816 SEL_ACTION_MAX, ///< With highest action
4817 SEL_CHB_MIN, ///< With lowest CHB
4818 SEL_CHB_MAX ///< With highest CHB
4819 };
4820 protected:
4821 /// Which variable to select
4822 Select s;
4823 public:
4824 /// Initialize with strategy SEL_NONE
4825 BoolVarBranch(void);
4826 /// Initialize with random number generator \a r
4827 BoolVarBranch(Rnd r);
4828 /// Initialize with selection strategy \a s and tie-break limit function \a t
4829 BoolVarBranch(Select s, BranchTbl t);
4830 /// Initialize with selection strategy \a s, decay factor \a d, and tie-break limit function \a t
4831 BoolVarBranch(Select s, double d, BranchTbl t);
4832 /// Initialize with selection strategy \a s, AFC \a a, and tie-break limit function \a t
4833 BoolVarBranch(Select s, BoolAFC a, BranchTbl t);
4834 /// Initialize with selection strategy \a s, action \a a, and tie-break limit function \a t
4835 BoolVarBranch(Select s, BoolAction a, BranchTbl t);
4836 /// Initialize with selection strategy \a s, CHB \a c, and tie-break limit function \a t
4837 BoolVarBranch(Select s, BoolCHB c, BranchTbl t);
4838 /// Initialize with selection strategy \a s, branch merit function \a mf, and tie-break limit function \a t
4839 BoolVarBranch(Select s, BoolBranchMerit mf, BranchTbl t);
4840 /// Return selection strategy
4841 Select select(void) const;
4842 /// Expand decay factor into AFC or action
4843 void expand(Home home, const BoolVarArgs& x);
4844 };
4845
4846 /**
4847 * \defgroup TaskModelIntBranchVar Variable selection for integer and Boolean variables

Callers 12

BOOL_VAR_NONEFunction · 0.85
BOOL_VAR_RNDFunction · 0.85
BOOL_VAR_MERIT_MINFunction · 0.85
BOOL_VAR_MERIT_MAXFunction · 0.85
BOOL_VAR_DEGREE_MINFunction · 0.85
BOOL_VAR_DEGREE_MAXFunction · 0.85
BOOL_VAR_AFC_MINFunction · 0.85
BOOL_VAR_AFC_MAXFunction · 0.85
BOOL_VAR_ACTION_MINFunction · 0.85
BOOL_VAR_ACTION_MAXFunction · 0.85
BOOL_VAR_CHB_MINFunction · 0.85
BOOL_VAR_CHB_MAXFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected