Purpose
Synopsis
double XPRBgetdual(XPRBctr ctr);
Argument
ctr
|
Reference to a constraint.
|
Return value
Dual value for the constraint, 0 in case of an error.
Example
XPRBprob expl2;
XPRBctr ctr2;
XPRBarrvar ty1;
double dval;
...
expl2 = XPRBnewprob("example2");
ty1 = XPRBnewarrvar(expl2, 5, XPRB_PL, "arry1", 0, 500);
ctr2 = XPRBnewsum(expl2, "r2", ty1, XPRB_E, 9);
XPRBsolve(expl2, "l");
dval = XPRBgetdual(ctr2);
This obtains the dual value for the constraint ctr2.
Further information
This function returns the dual value for a constraint. The user may wish to test first whether this constraint is part of
the problem, for instance by checking that the row number is non-negative.
If this function is called after completion of a global search and an integer solution has been found (that is, if function
XPRBgetmipstat returns values
XPRB_MIP_SOLUTION or
XPRB_MIP_OPTIMAL), it returns the value in the best integer solution. If no integer solution is available after a global search this function
outputs a warning and returns 0. In all other cases it returns the dual value in the last LP that has been solved. 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.
Related topics
If you have any comments or suggestions about these pages,
please send mail to docs@dashoptimization.com.