branchobj.store
branchobj.store |
Purpose
Adds a new user branching object to the Optimizer's list of candidates for branching. This function is available only through the callback function set by
problem.addcboptnode.
Synopsis
status = branchobj.store ()
Argument
status
|
The returned status from checking the provided branching object:
The object was not added to the candidate list if a non zero status is returned.
|
Further information
1. To ensure that a user branching object expressed in terms of the original matrix columns can be applied to the presolved problem, it might be necessary to turn off certain presolve operations.
2. If any of the original matrix columns referred to in the object are unbounded, dual reductions might prevent the corresponding bound or constraint from being presolved. To avoid this, dual reductions should be turned off in presolve, by clearing bit 3 of the integer control
PRESOLVEOPS.
3. If one or more of the original matrix columns of the object are duplicates in the original matrix, but not in the branching object, it might not be possible to presolve the object due to duplicate column eliminations in presolve. To avoid this, duplicate column eliminations should be turned off in presolve, by clearing bit 5 of
PRESOLVEOPS.
4. As an alternative to turning off the above mentioned presolve features, it is possible to protect individual columns of a the problem from being modified by presolve. Use the
problem.loadsecurevecs function to mark any columns that might be branched on using branching objects.
Related topics