Initializing help system before first use

XPRS_bo_store

XPRS_bo_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 XPRSaddcboptnode.
Synopsis
int XPRS_CC XPRS_bo_store(XPRSbranchobject obranch, int* p_status);
Arguments
obranch 
The new user branching object to store. After this call the obranch object is no longer valid and should not be referred to again.
p_status 
The returned status from checking the provided branching object:
The object was accepted successfully.
Failed to presolve the object due to dual reductions in presolve.
Failed to presolve the object due to duplicate column reductions in presolve.
The object contains an empty branch.
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 XPRSloadsecurevecs function to mark any columns that might be branched on using branching objects.
Related topics

© 2001-2020 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.