pub unsafe extern "C" fn SCIPgetLPI(
scip: *mut SCIP,
lpi: *mut *mut SCIP_LPI,
) -> SCIP_RETCODEExpand description
gets the LP interface of SCIP; with the LPI you can use all of the methods defined in lpi/lpi.h;
@warning You have to make sure, that the full internal state of the LPI does not change or is recovered completely after the end of the method that uses the LPI. In particular, if you manipulate the LP or its solution (e.g. by calling one of the SCIPlpiAdd…() or one of the SCIPlpiSolve…() methods), you have to check in advance with SCIPlpiWasSolved() whether the LP is currently solved. If this is the case, you have to make sure, the internal solution status is recovered completely at the end of your method. This can be achieved by getting the LPI state before applying any LPI manipulations with SCIPlpiGetState() and restoring it afterwards with SCIPlpiSetState() and SCIPlpiFreeState(). Additionally you have to resolve the LP with the appropriate SCIPlpiSolve…() call in order to reinstall the internal solution status.
@warning Make also sure, that all parameter values that you have changed are set back to their original values.
@return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref SCIP_Retcode “SCIP_RETCODE” for a complete list of error codes.
@pre This method can be called if @p scip is in one of the following stages: - \ref SCIP_STAGE_TRANSFORMED - \ref SCIP_STAGE_INITPRESOLVE - \ref SCIP_STAGE_PRESOLVING - \ref SCIP_STAGE_EXITPRESOLVE - \ref SCIP_STAGE_PRESOLVED - \ref SCIP_STAGE_INITSOLVE - \ref SCIP_STAGE_SOLVING - \ref SCIP_STAGE_SOLVED - \ref SCIP_STAGE_EXITSOLVE
See \ref SCIP_Stage “SCIP_STAGE” for a complete list of all possible solving stages.