primal CIP solution
For reasons of efficiency, a working solution only stores values that have been accessed at least once, or that have been changed from the value in the solution's source. The user has to call SCIPsolUnlink() in order to retrieve all non-cached elements from the solution's source and to store the values in the solution's own array. This changes the solution's origin to SCIP_SOLORIGIN_ZERO. A linked solution with origin SCIP_SOLORIGIN_LPSOL or SCIP_SOLORIGIN_PSEUDOSOL becomes invalid after the next node is focused (i.e. the LP and pseudo solutions changed) and cannot be accessed anymore.
Solutions with origin ORIGINAL contain the values for original variables. The stored objective value also corresponds to the original problem.
objective value of solution
Referenced by SCIPsolCheck(), SCIPsolClear(), SCIPsolCopy(), SCIPsolGetObj(), SCIPsolGetOrigObj(), SCIPsolLinkLPSol(), SCIPsolLinkNLPSol(), SCIPsolLinkPseudoSol(), SCIPsolLinkRelaxSol(), SCIPsolOrigAddObjval(), SCIPsolRecomputeObj(), SCIPsolRetransform(), SCIPsolsAreEqual(), SCIPsolSetUnknown(), SCIPsolTransform(), and SCIPsolUpdateVarObj().
is value in vals array valid? otherwise it has to be retrieved from origin
origin of solution: where to retrieve uncached elements
Referenced by SCIPsolCheck(), SCIPsolClear(), SCIPsolCopy(), SCIPsolGetOrigin(), SCIPsolGetRayVal(), SCIPsolGetVal(), SCIPsolIncVal(), SCIPsolIsOriginal(), SCIPsolIsPartial(), SCIPsolLinkLPSol(), SCIPsolLinkNLPSol(), SCIPsolLinkPseudoSol(), SCIPsolLinkRelaxSol(), SCIPsolMarkPartial(), SCIPsolOrigAddObjval(), SCIPsolPrint(), SCIPsolRetransform(), SCIPsolRound(), SCIPsolSetUnknown(), SCIPsolSetVal(), SCIPsolTransform(), SCIPsolUnlink(), solGetArrayVal(), and solUnlinkVar().
does the solution (potentially) contain an infinite value? Note: this could also be implemented as a counter for the number of infinite values, to avoid redundant checks when resetting inf. solution values