Bcp 1.4.4
Loading...
Searching...
No Matches
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
15
32
33//-----------------------------------------------------------------------------
34
51
52//-----------------------------------------------------------------------------
53
67
68//-----------------------------------------------------------------------------
69
79
89
90//-----------------------------------------------------------------------------
91
100
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
140
141//-----------------------------------------------------------------------------
142
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.