XPRBgetrcost
XPRBgetrcost |
Purpose
Synopsis
double XPRBgetrcost(XPRBvar var);
Argument
var
|
Reference to a variable.
|
Return value
Reduced cost value for the variable, 0 in case of an error.
Example
XPRBprob expl2; XPRBvar x1; double rcval; ... expl2 = XPRBnewprob("example2"); x1 = XPRBnewvar(expl2, XPRB_UI, "abc3", 1, 100); XPRBlpoptimize(expl2, ""); rcval = XPRBgetrcost(x1);
This retrieves the reduced cost value for the variable
x1 in the solution to the LP problem.
Further information
This function returns the reduced cost value for a variable. The user may wish to test first whether this variable is part of the problem, for instance by checking that the column number is non-negative.
Reduced cost information is available only after LP solving. To obtain reduced cost values for a MIP solution (that is, if function XPRBgetmipstat returns values XPRB_MIP_SOLUTION or XPRB_MIP_OPTIMAL), you need to fix the discrete variables to their solution values with a call to XPRSfixglobals, followed by a call to XPRBlpoptimize before calling XPRBgetrcost. Otherwise, if this function is called when a MIP solution is available it returns 0.
If no solution information is available this function outputs a warning and returns 0.
If this function is used during the execution of an optimization process (for instance in Optimizer library callback functions) it needs to be preceded by a call to XPRBsync with the flag XPRB_XPRS_SOL. In this case it returns the reduced cost value in the last LP that has been solved.
Reduced cost information is available only after LP solving. To obtain reduced cost values for a MIP solution (that is, if function XPRBgetmipstat returns values XPRB_MIP_SOLUTION or XPRB_MIP_OPTIMAL), you need to fix the discrete variables to their solution values with a call to XPRSfixglobals, followed by a call to XPRBlpoptimize before calling XPRBgetrcost. Otherwise, if this function is called when a MIP solution is available it returns 0.
If no solution information is available this function outputs a warning and returns 0.
If this function is used during the execution of an optimization process (for instance in Optimizer library callback functions) it needs to be preceded by a call to XPRBsync with the flag XPRB_XPRS_SOL. In this case it returns the reduced cost value in the last LP that has been solved.
Related topics