Bcp  1.4.4
BCP_enum_branch.hpp
Go to the documentation of this file.
1 // Copyright (C) 2000, International Business Machines
2 // Corporation and others. All Rights Reserved.
3 #ifndef _BCP_ENUM_BRANCH_H
4 #define _BCP_ENUM_BRANCH_H
5 
6 // This file is fully docified.
7 
8 //-----------------------------------------------------------------------------
9 
31 };
32 
33 //-----------------------------------------------------------------------------
34 
50 };
51 
52 //-----------------------------------------------------------------------------
53 
66 };
67 
68 //-----------------------------------------------------------------------------
69 
88 };
89 
90 //-----------------------------------------------------------------------------
91 
102  // We have info about objval branching on the last four bits.
103  // Of those, the last shows that this is objval branching, the three
104  // before that show the various types.
112  // We have info about fracnum_branching on the second to last four bits.
113  // Of those, the last shows that this is fracnum branching, the three
114  // before that show the various types.
115  // BCP_Comparison_FracNum = 0x10,
116  // BCP_LowestLowFracNum = 0x00 | BCP_Comparison_FracNum,
117  // BCP_HighestLowFracNum = 0x20 | BCP_Comparison_FracNum,
118  // BCP_HighestLowFracNum = 0x40 | BCP_Comparison_FracNum,
119  // BCP_HighestHighFracNum = 0x60 | BCP_Comparison_FracNum,
120 
121 };
122 
123 //-----------------------------------------------------------------------------
124 
139 };
140 
141 //-----------------------------------------------------------------------------
142 
158 };
159 
160 #endif
BCP_branching_result
This enumerative constant describes the possible outcomes of a branching attempt.
@ BCP_BranchingDivedIntoNewNode
Branching happened, one of the children is kept and that's what the LP process will continue to work ...
@ BCP_BranchingContinueThisNode
No branching happend, continue to work on the same node.
@ BCP_BranchingFathomedThisNode
The node is fathomed, the LP process should wait for a new node.
BCP_child_action
This enumerative constant describes the possible values the set_actions_for_children() method of \URL...
@ BCP_ReturnChild
This child should be returned to the Tree Manager for later processing.
@ BCP_FathomChild
This child should be fathomed.
@ BCP_KeepChild
This child should be kept and dived into (provided diving is decided on.
BCP_diving_status
This enumerative constant describes the diving status of the search tree node processed by the LP pro...
@ BCP_DoDive
After branching the LP process is free to decide whether it keeps a child to dive into.
@ BCP_DoNotDive
After branching all children must be returned to the Tree Manager and the LP process should wait for ...
@ BCP_TestBeforeDive
After branching the LP process must inquire of the Tree Manager whether it can dive into one of the c...
@ BCP_UnknownDivingStatus
Nonexistent diving status.
BCP_branching_object_comparison
This enumerative constant is used in the built-in method for comparing presolved branching object can...
@ BCP_LowestLowObjval
@ BCP_HighestAverageObjval
@ BCP_LowestHighObjval
@ BCP_LowestAverageObjval
@ BCP_Comparison_Objval
@ BCP_HighestHighObjval
@ BCP_HighestLowObjval
BCP_branching_decision
This enumerative constant is the return value of the select_branching_candidates() method in \URL[BCP...
@ BCP_DoBranch
Branching must be done.
@ BCP_DoNotBranch_Fathomed
The node should be fathomed without even trying to branch.
@ BCP_DoNotBranch
BCP should continue to work on this node.
BCP_branching_object_relation
This enumerative constant is the return value of the compare_presolved_branching_objects() method in ...
@ BCP_OldPresolvedIsBetter
"old" is better, discard "new".
@ BCP_NewPresolvedIsBetter_BranchOnIt
"new" is better and it's so good that even if there are more candidates forget them and use "new" as ...
@ BCP_NewPresolvedIsBetter
"new" is better, discard "old".
BCP_child_preference
This enumerative constant describes which child should be kept after the branching object is selected...
@ BCP_PreferChild_LowBound
Keep the child that has the lowest presolved objective value.
@ BCP_PreferChild_HighBound
Keep the child that has the highest presolved objective value.
@ BCP_PreferDiveUp
Mainly for binary choices: take the up branch unconditionally.
@ BCP_PreferChild_LessFractional
Keep the child that has the least to-be-integer variables at fractional level after presolving.
@ BCP_PreferChild_MoreFractional
Keep the child that has the most to-be-integer variables at fractional level after presolving.
@ BCP_PreferDiveDown
Mainly for binary choices: take the down branch unconditionally.