XPRBsync
XPRBsync |
Purpose
Synopsis
int XPRBsync(XPRBprob prob, int synctype);
Arguments
prob
|
Reference to a problem.
|
||||||
synctype
|
Type of the synchronization. Possible values:
|
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