Initializing help system before first use

XPRBgetsol

XPRBgetsol


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);
XPRBlpoptimize(expl2, "");
solval = XPRBgetsol(x1);
The example 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

© 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.