* \brief Which integer variable to select for branching * * \ingroup TaskModelIntBranch */
| 4715 | * \ingroup TaskModelIntBranch |
| 4716 | */ |
| 4717 | class IntVarBranch : public VarBranch<IntVar> { |
| 4718 | public: |
| 4719 | /// Which variable selection |
| 4720 | enum Select { |
| 4721 | SEL_NONE = 0, ///< First unassigned |
| 4722 | SEL_RND, ///< Random (uniform, for tie breaking) |
| 4723 | SEL_MERIT_MIN, ///< With least merit |
| 4724 | SEL_MERIT_MAX, ///< With highest merit |
| 4725 | SEL_DEGREE_MIN, ///< With smallest degree |
| 4726 | SEL_DEGREE_MAX, ///< With largest degree |
| 4727 | SEL_AFC_MIN, ///< With smallest accumulated failure count |
| 4728 | SEL_AFC_MAX, ///< With largest accumulated failure count |
| 4729 | SEL_ACTION_MIN, ///< With lowest action |
| 4730 | SEL_ACTION_MAX, ///< With highest action |
| 4731 | SEL_CHB_MIN, ///< With lowest CHB Q-score |
| 4732 | SEL_CHB_MAX, ///< With highest CHB Q-score |
| 4733 | SEL_MIN_MIN, ///< With smallest min |
| 4734 | SEL_MIN_MAX, ///< With largest min |
| 4735 | SEL_MAX_MIN, ///< With smallest max |
| 4736 | SEL_MAX_MAX, ///< With largest max |
| 4737 | SEL_SIZE_MIN, ///< With smallest domain size |
| 4738 | SEL_SIZE_MAX, ///< With largest domain size |
| 4739 | SEL_DEGREE_SIZE_MIN, ///< With smallest degree divided by domain size |
| 4740 | SEL_DEGREE_SIZE_MAX, ///< With largest degree divided by domain size |
| 4741 | SEL_AFC_SIZE_MIN, ///< With smallest accumulated failure count divided by domain size |
| 4742 | SEL_AFC_SIZE_MAX, ///< With largest accumulated failure count divided by domain size |
| 4743 | SEL_ACTION_SIZE_MIN, ///< With smallest action divided by domain size |
| 4744 | SEL_ACTION_SIZE_MAX, ///< With largest action divided by domain size |
| 4745 | SEL_CHB_SIZE_MIN, ///< With smallest CHB Q-score divided by domain size |
| 4746 | SEL_CHB_SIZE_MAX, ///< With largest CHB Q-score divided by domain size |
| 4747 | /** \brief With smallest min-regret |
| 4748 | * |
| 4749 | * The min-regret of a variable is the difference between the |
| 4750 | * smallest and second-smallest value still in the domain. |
| 4751 | */ |
| 4752 | SEL_REGRET_MIN_MIN, |
| 4753 | /** \brief With largest min-regret |
| 4754 | * |
| 4755 | * The min-regret of a variable is the difference between the |
| 4756 | * smallest and second-smallest value still in the domain. |
| 4757 | */ |
| 4758 | SEL_REGRET_MIN_MAX, |
| 4759 | /** \brief With smallest max-regret |
| 4760 | * |
| 4761 | * The max-regret of a variable is the difference between the |
| 4762 | * largest and second-largest value still in the domain. |
| 4763 | */ |
| 4764 | SEL_REGRET_MAX_MIN, |
| 4765 | /** \brief With largest max-regret |
| 4766 | * |
| 4767 | * The max-regret of a variable is the difference between the |
| 4768 | * largest and second-largest value still in the domain. |
| 4769 | */ |
| 4770 | SEL_REGRET_MAX_MAX |
| 4771 | }; |
| 4772 | protected: |
| 4773 | /// Which variable to select |
| 4774 | Select s; |
no outgoing calls
no test coverage detected