Function scip_sys::SCIPcutGenerationHeuristicCMIR
source · pub unsafe extern "C" fn SCIPcutGenerationHeuristicCMIR(
scip: *mut SCIP,
sol: *mut SCIP_SOL,
postprocess: c_uint,
boundswitch: f64,
usevbds: c_uint,
allowlocal: c_uint,
maxtestdelta: c_int,
boundsfortrans: *mut c_int,
boundtypesfortrans: *mut SCIP_BOUNDTYPE,
minfrac: f64,
maxfrac: f64,
aggrrow: *mut SCIP_AGGRROW,
cutcoefs: *mut f64,
cutrhs: *mut f64,
cutinds: *mut c_int,
cutnnz: *mut c_int,
cutefficacy: *mut f64,
cutrank: *mut c_int,
cutislocal: *mut c_uint,
success: *mut c_uint
) -> SCIP_RETCODEExpand description
calculates an MIR cut out of the weighted sum of LP rows given by an aggregation row; the aggregation row must not contain non-zero weights for modifiable rows, because these rows cannot participate in an MIR cut. The function uses a cut generation heuristic which tries different scaling factors and complementations of the variables to improve the cut’s efficacy. For further details we refer to:
Marchand, H., & Wolsey, L. A. (2001). Aggregation and mixed integer rounding to solve MIPs. Operations research, 49(3), 363-371.
@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_SOLVING
See \ref SCIP_Stage “SCIP_STAGE” for a complete list of all possible solving stages.