Purpose
Synchronize
BCL with the Optimizer.
Synopsis
int XPRBsync(XPRBprob prob, int synctype);
Arguments
prob
|
Reference to a problem.
|
synctype
|
Type of the synchronization. Possible values:
XPRB_XPRS_SOL
|
update
the BCL solution information with the LP solution currently held in the Optimizer;
|
XPRB_XPRS_SOLMIP
|
update
the BCL solution information with the last MIP solution found by the Optimizer;
|
XPRB_XPRS_PROB
|
|
|
Return value
0 if function executed successfully, 1 otherwise.
Example
The following forces BCL to reload the matrix into the Optimizer even if there has been no change other than bound changes to the problem definition in BCL since the preceding optimization:
XPRBprob expl2;
expl2 = XPRBnewprob("example2");
...
XPRBmipoptimize(expl2, "");
...
XPRBsync(expl2, XPRB_XPRS_PROB);
XPRBmipoptimize(expl2, "");
Further information
1. This function resets the BCL problem status.
2.
XPRB_XPRS_SOL: retrieves the current LP solution (through
XPRSgetlpsol function and
XPRS_LPOBJVAL attribute); correctly used also in
intsol callbacks as, when an integer solution is found during a global search, it is always set up as an LP solution to the current node.
3.
XPRB_XPRS_SOLMIP: retrieves the last MIP solution found (through
XPRSgetmipsol function and
XPRS_MIPOBJVAL attribute); if used from an
intsol callback, it will not necessarily return the solution that caused the invocation of the callback (it is possible that another thread finds a new integer solution before that one is retrieved).
4.
XPRB_XPRS_SOL and
XPRB_XPRS_SOLMIP: the solution information in BCL is updated with the solution held in the Optimizer at the next solution access (only the objective value is updated immediately).
5.
XPRB_XPRS_PROB: at the next call to optimization or
XPRBloadmat the problem is completely reloaded into the Optimizer; bound changes are not passed on to the problem loaded in the Optimizer any longer.
Related topics
© 2001-2019 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.