Purpose
Get
solution value for a variable.
Synopsis
double XPRBgetsol(XPRBvar var);
Argument
var
|
Reference to a variable.
|
Return value
Primal solution value for the variable, 0 in case of an error.
Example
XPRBprob expl2;
XPRBvar x1;
double solval;
...
expl2 = XPRBnewprob("example2");
x1 = XPRBnewvar(expl2, XPRB_UI, "abc3", 1, 100);
XPRBsolve(expl2, "l");
solval = XPRBgetsol(x1);
The retrieves the LP solution value for the variable x1.
Further information
1. This function returns the current solution 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.
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 of 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 solution 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.
2. Note that ``integer solution'' means ``solution within the integer feasibility limits'', that means for any comparison of
solution values the current Optimizer tolerance settings have to be taken into account. So care must be taken when handling
the solution values of integer variables. For example, you cannot simply treat the value as an integer, because a value such
as 0.999998, may well be truncated to zero. Instead, you must make sure you round the value to the nearest integer.
Related topics
If you have any comments or suggestions about these pages,
please send mail to docs@dashoptimization.com.