Creates a child node for the current node with the estimated objective value by adding one range constraint to restrict its feasible domain.
The Cplex.NodeId
of the created child node.
This method or any of the other makeBranch
methods can be called zero, one, or two times. Each time one of the makeBranch
methods is called, a child node of the current node is created, thereby overriding the branch decision taken by the invoking Cplex
object. It is an error to call one of the makeBranch
methods more than twice. If no makeBranch
method is called and the method prune
is not called as well, the search is continued with the branching decision taken by the invoking Cplex
object.
Each call specifies a branch; in other words, it instructs the invoking Cplex
optimizer to create a subnode from the current node and indicates how to do so. This method specifies an additional constraint that needs to be added to the current node in order to define the child node.
The parameter objestimate
provides an estimate of the resulting optimal objective value for the subnode specified by this branch. The invoking instance of Cplex
may use this estimate to select nodes to process. A poor estimate will not influence the correctness of the solution, but it may influence performance. Using the objective value of the current node is usually a safe choice.
Cplex.BranchCallback Class | ILOG.CPLEX Namespace | Cplex.BranchCallback.MakeBranch Overload List