SCIPtightenVarLbExact

Function SCIPtightenVarLbExact 

Source
pub unsafe extern "C" fn SCIPtightenVarLbExact(
    scip: *mut SCIP,
    var: *mut SCIP_VAR,
    newbound: *mut SCIP_RATIONAL,
    infeasible: *mut c_uint,
    tightened: *mut c_uint,
) -> SCIP_RETCODE
Expand description

changes exact lower bound of variable in preprocessing or in the current node, if the new bound is tighter (w.r.t. bound strengthening epsilon) than the current bound; if possible, adjusts bound to integral value; doesn’t store any inference information in the bound change, such that in conflict analysis, this change is treated like a branching decision

@warning If SCIP is in presolving stage, it can happen that the internal variable array (which can be accessed via SCIPgetVars()) gets resorted.

@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_PROBLEM - \ref SCIP_STAGE_PRESOLVING - \ref SCIP_STAGE_SOLVING

@note During presolving, an integer variable whose bound changes to {0,1} is upgraded to a binary variable.