/home/coin/svn-release/OptimizationSuite-1.1.0/Bcp/src/include/BCP_enum_branch.hpp File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  BCP_child_preference {
  BCP_PreferChild_LowBound, BCP_PreferChild_HighBound, BCP_PreferChild_MoreFractional, BCP_PreferChild_LessFractional,
  BCP_PreferDiveDown, BCP_PreferDiveUp
}
 

This enumerative constant describes which child should be kept after the branching object is selected and the children are presolved.

More...
enum  BCP_branching_result { BCP_BranchingFathomedThisNode, BCP_BranchingDivedIntoNewNode, BCP_BranchingContinueThisNode }
 

This enumerative constant describes the possible outcomes of a branching attempt.

More...
enum  BCP_branching_decision { BCP_DoNotBranch_Fathomed, BCP_DoNotBranch, BCP_DoBranch }
 

This enumerative constant is the return value of the select_branching_candidates() method in [BCP_lp_user]{BCP_lp_user.html} and describes what should BCP do.

More...
enum  BCP_branching_object_relation { BCP_OldPresolvedIsBetter, BCP_NewPresolvedIsBetter, BCP_NewPresolvedIsBetter_BranchOnIt }
 

This enumerative constant is the return value of the compare_presolved_branching_objects() method in [BCP_lp_user]{BCP_lp_user.html} and describes the relation between two presolved branching objects in strong branching.

More...
enum  BCP_branching_object_comparison {
  BCP_Comparison_Objval = 0x01, BCP_LowestLowObjval = 0x00 | BCP_Comparison_Objval, BCP_HighestLowObjval = 0x02 | BCP_Comparison_Objval, BCP_LowestHighObjval = 0x04 | BCP_Comparison_Objval,
  BCP_HighestHighObjval = 0x06 | BCP_Comparison_Objval, BCP_LowestAverageObjval = 0x08 | BCP_Comparison_Objval, BCP_HighestAverageObjval = 0x0a | BCP_Comparison_Objval
}
 

This enumerative constant is used in the built-in method for comparing presolved branching object candidates (compare_presolved_branching_objects() in [BCP_lp_user]{BCP_lp_user.html}) and specifies how the comparison should be done.

More...
enum  BCP_child_action { BCP_FathomChild, BCP_ReturnChild, BCP_KeepChild }
 

This enumerative constant describes the possible values the set_actions_for_children() method of [BCP_lp_user]{BCP_lp_user.html} can set for each child.

More...
enum  BCP_diving_status { BCP_UnknownDivingStatus, BCP_DoNotDive, BCP_DoDive, BCP_TestBeforeDive }
 

This enumerative constant describes the diving status of the search tree node processed by the LP process.

More...

Enumeration Type Documentation

This enumerative constant describes which child should be kept after the branching object is selected and the children are presolved.

This constant is used by the built-in method for setting the actions for the children of the branching object. (set_actions_for_children in [BCP_lp_user]{BCP_lp_user.html}).

Enumerator:
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_PreferChild_MoreFractional 

Keep the child that has the most to-be-integer variables at fractional level after presolving.

BCP_PreferChild_LessFractional 

Keep the child that has the least to-be-integer variables at fractional level after presolving.

BCP_PreferDiveDown 

Mainly for binary choices: take the down branch unconditionally.

BCP_PreferDiveUp 

Mainly for binary choices: take the up branch unconditionally.

Definition at line 16 of file BCP_enum_branch.hpp.

This enumerative constant describes the possible outcomes of a branching attempt.

Used only by BCP (the return value of the BCP_lp_branch() function).

Enumerator:
BCP_BranchingFathomedThisNode 

The node is fathomed, the LP process should wait for a new node.

Actually, this is a bit of a lie. This will be the return value if either the node is really fathomed (i.e., all children can be fathomed) or all children are sent back to the Tree Manager process and the LP should wait for a new node.

BCP_BranchingDivedIntoNewNode 

Branching happened, one of the children is kept and that's what the LP process will continue to work on.

BCP_BranchingContinueThisNode 

No branching happend, continue to work on the same node.

Definition at line 38 of file BCP_enum_branch.hpp.

This enumerative constant is the return value of the select_branching_candidates() method in [BCP_lp_user]{BCP_lp_user.html} and describes what should BCP do.

Enumerator:
BCP_DoNotBranch_Fathomed 

The node should be fathomed without even trying to branch.

BCP_DoNotBranch 

BCP should continue to work on this node.

BCP_DoBranch 

Branching must be done.

In this case the method returns the branching object candidates in one of the arguments.

Definition at line 58 of file BCP_enum_branch.hpp.

This enumerative constant is the return value of the compare_presolved_branching_objects() method in [BCP_lp_user]{BCP_lp_user.html} and describes the relation between two presolved branching objects in strong branching.

One of these branching objects is the "old" object, the one that's considered to be the best so far. The other object is the "new" one which has just been presolved and now we must decide which one is better. That is, decide which object should BCP use as the actual branching object if there were no more candidates.

Enumerator:
BCP_OldPresolvedIsBetter 

"old" is better, discard "new".

BCP_NewPresolvedIsBetter 

"new" is better, discard "old".

BCP_NewPresolvedIsBetter_BranchOnIt 

"new" is better and it's so good that even if there are more candidates forget them and use "new" as the branching object.

Definition at line 80 of file BCP_enum_branch.hpp.

This enumerative constant is used in the built-in method for comparing presolved branching object candidates (compare_presolved_branching_objects() in [BCP_lp_user]{BCP_lp_user.html}) and specifies how the comparison should be done.

The last four bits of the constant is used if the comparison is done based on the objective values (or, lower bounds on the LP relaxation value) of the presolved children. See the header file for the constant values.

Enumerator:
BCP_Comparison_Objval 
BCP_LowestLowObjval 
BCP_HighestLowObjval 
BCP_LowestHighObjval 
BCP_HighestHighObjval 
BCP_LowestAverageObjval 
BCP_HighestAverageObjval 

Definition at line 101 of file BCP_enum_branch.hpp.

This enumerative constant describes the possible values the set_actions_for_children() method of [BCP_lp_user]{BCP_lp_user.html} can set for each child.

Enumerator:
BCP_FathomChild 

This child should be fathomed.

BCP_ReturnChild 

This child should be returned to the Tree Manager for later processing.

BCP_KeepChild 

This child should be kept and dived into (provided diving is decided on.

Of course, there can be at most one child that has this flag set as preferred action.)

Definition at line 129 of file BCP_enum_branch.hpp.

This enumerative constant describes the diving status of the search tree node processed by the LP process.

Enumerator:
BCP_UnknownDivingStatus 

Nonexistent diving status.

Never happens, but there needs to be some default, which should indicate that there is a bug somewhere...

BCP_DoNotDive 

After branching all children must be returned to the Tree Manager and the LP process should wait for a new node.

BCP_DoDive 

After branching the LP process is free to decide whether it keeps a child to dive into.

BCP_TestBeforeDive 

After branching the LP process must inquire of the Tree Manager whether it can dive into one of the children.

Definition at line 145 of file BCP_enum_branch.hpp.


Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1