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

Class FloatVarBranch

gecode/float.hh:1681–1736  ·  view source on GitHub ↗

* \brief Which variable to select for branching * * \ingroup TaskModelFloatBranch */

Source from the content-addressed store, hash-verified

1679 * \ingroup TaskModelFloatBranch
1680 */
1681 class FloatVarBranch : public VarBranch<FloatVar> {
1682 public:
1683 /// Which variable selection
1684 enum Select {
1685 SEL_NONE = 0, ///< First unassigned
1686 SEL_RND, ///< Random (uniform, for tie breaking)
1687 SEL_MERIT_MIN, ///< With least merit
1688 SEL_MERIT_MAX, ///< With highest merit
1689 SEL_DEGREE_MIN, ///< With smallest degree
1690 SEL_DEGREE_MAX, ///< With largest degree
1691 SEL_AFC_MIN, ///< With smallest accumulated failure count
1692 SEL_AFC_MAX, ///< With largest accumulated failure count
1693 SEL_ACTION_MIN, ///< With lowest action
1694 SEL_ACTION_MAX, ///< With highest action
1695 SEL_CHB_MIN, ///< With lowest CHB Q-score
1696 SEL_CHB_MAX, ///< With highest CHB Q-score
1697 SEL_MIN_MIN, ///< With smallest min
1698 SEL_MIN_MAX, ///< With largest min
1699 SEL_MAX_MIN, ///< With smallest max
1700 SEL_MAX_MAX, ///< With largest max
1701 SEL_SIZE_MIN, ///< With smallest domain size
1702 SEL_SIZE_MAX, ///< With largest domain size
1703 SEL_DEGREE_SIZE_MIN, ///< With smallest degree divided by domain size
1704 SEL_DEGREE_SIZE_MAX, ///< With largest degree divided by domain size
1705 SEL_AFC_SIZE_MIN, ///< With smallest accumulated failure count divided by domain size
1706 SEL_AFC_SIZE_MAX, ///< With largest accumulated failure count divided by domain size
1707 SEL_ACTION_SIZE_MIN, ///< With smallest action divided by domain size
1708 SEL_ACTION_SIZE_MAX, ///< With largest action divided by domain size
1709 SEL_CHB_SIZE_MIN, ///< With smallest CHB Q-score divided by domain size
1710 SEL_CHB_SIZE_MAX ///< With largest CHB Q-score divided by domain size
1711 };
1712 protected:
1713 /// Which variable to select
1714 Select s;
1715 public:
1716 /// Initialize with strategy SEL_NONE
1717 FloatVarBranch(void);
1718 /// Initialize with random number generator \a r
1719 FloatVarBranch(Rnd r);
1720 /// Initialize with selection strategy \a s and tie-break limit function \a t
1721 FloatVarBranch(Select s, BranchTbl t);
1722 /// Initialize with selection strategy \a s, decay factor \a d, and tie-break limit function \a t
1723 FloatVarBranch(Select s, double, BranchTbl t);
1724 /// Initialize with selection strategy \a s, AFC \a a, and tie-break limit function \a t
1725 FloatVarBranch(Select s, FloatAFC a, BranchTbl t);
1726 /// Initialize with selection strategy \a s, action \a a, and tie-break limit function \a t
1727 FloatVarBranch(Select s, FloatAction a, BranchTbl t);
1728 /// Initialize with selection strategy \a s, CHB \a c, and tie-break limit function \a t
1729 FloatVarBranch(Select s, FloatCHB c, BranchTbl t);
1730 /// Initialize with selection strategy \a s, branch merit function \a mf, and tie-break limit function \a t
1731 FloatVarBranch(Select s, FloatBranchMerit mf, BranchTbl t);
1732 /// Return selection strategy
1733 Select select(void) const;
1734 /// Expand AFC, action, and CHB
1735 void expand(Home home, const FloatVarArgs& x);
1736 };
1737
1738

Callers 15

FLOAT_VAR_NONEFunction · 0.85
FLOAT_VAR_MERIT_MINFunction · 0.85
FLOAT_VAR_MERIT_MAXFunction · 0.85
FLOAT_VAR_RNDFunction · 0.85
FLOAT_VAR_DEGREE_MINFunction · 0.85
FLOAT_VAR_DEGREE_MAXFunction · 0.85
FLOAT_VAR_AFC_MINFunction · 0.85
FLOAT_VAR_AFC_MAXFunction · 0.85
FLOAT_VAR_ACTION_MINFunction · 0.85
FLOAT_VAR_ACTION_MAXFunction · 0.85
FLOAT_VAR_CHB_MINFunction · 0.85
FLOAT_VAR_CHB_MAXFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected